"Enter"a basıp içeriğe geçin

Kategori: Robotik

Çizgi İzleyen Robotlar için Sensör Fonksiyonu

Robot yaparken mekaniğiniz ve elektroniğiniz çok iyi olabilir, hatta belki yazılımınız da iyidir ancak fonksiyonlarınız ve algoritmalarınızda eksikler vardır. Amacınıza ulaşırsınız ancak epey vakit kaybedersiniz. Geçen hafta 12-15 Mayıs 2015 tarihleri arasında yapılan MEB Robot yarışmasında çizgi izleyen robot kategorisinde farklı üniversitelerden arkadaşlarla birlikte hakemdim.

Yapılan robotların bir çoğu bir birinin aynısıyken bir çoğu da okul bazında kopyala yapıştır robotlardı. Hepsinin ortak noktası mekanik ve elektronik bakımından tam yazılım kısmında eksiği olan robotlar olmasıydı. Türkiye’de robot çalışmaları üzerinde elektronik ve mekanik tasarımda zirveye ulaşılmış ancak yazılım konusunda çok eksiğimiz olduğu açıktı.

Yeni robotçuların yazılımda kendilerini geliştirmeleri ve fikir sahibi olmaları açısından örnek fonkisyonlar paylaşmanın faydalı olacağını düşünüp bu yazıyı yazma kararı aldım. Umarım kopyala yapıştır robotçuları değil de fikir edinip yazılım konusunda kendini geliştiren robotçular oluruz.

16f877A ve Grafik LCD ile Basit Osiloskop Yapmak

Merhaba arkadaşlar, iş master ve derslerden arta kalan zamanlarda yazdığım için bir çok yazımda daha sonra şunu da yapacağım yazmışım ama yapmadığım için yazmamışım da.  Bende elimin altında olan ve elektronik ve yazılıma yani başlamış arkadaşlara farklı bakış açısı katmak için basit uygulamalardan örnekler paylaşayım dedim.

Ankakit ile L3G4200D Gyro Okuma

Uzun zamandır bir şeyler yazmıyorum. İçimdeki isteksizlik ve tezimle olan husumetimi kırabildim ve tekrar sahalara döndüm diyebilirim. Ardunio ile başladığım bu serüvene pic ile devam edecekmişim gibi gözüküyor. Zırt pırt tatil olan çin yüzünden hala devrelerimi yollayamadım. Bu yüzden artık bir yerden başlama kararımı hayata geçirdim ve sonunda başladım 😀

gyro_devre

USB to RS485

Endüstri standardı olarak RS485 uzun mesafelerde hatasız ve parazit olmadan iletişim yapabilme imkanı sağlamaktadır. Maksimum 1200 metreye kadar iletişimi sorunsuz gerçekleştirbileceğimiz seri veri yolu fiziksel katmanıdır. Kablo uzunluğu iletişim hızına bağlı olarak değişebilir. 62500 baud’da 1200 metrelik bir kablo işinizi görecekken 375000 baud’da kablo uzunluğu maksimum 300 metredir. RS485’deki temel mantık hatta gönderilen sinyali yükselterek hattın birine verirken(U+) negatifini diğer hatta(U-) vermesidir.

500px-RS-485_waveform

Çizgi İzleyen Robot

Çizgi izleyen yapmak isteyenlerin internetten buldukları çizgi izleyen robot yapımı örneğinin ancak bu kadar kötü olabileceği kanısına varıp en basitinden bir robotun nasıl yapılacağını anlatmaya karar verdim. En boy oranı düşünülmemiş, devre tasarımı Allaha emanet ve devre tasarımındaki gereksiz elemanlar beni bu yazıyı yazmaya sürükledi diyebilirim.

Robogazide çok zaman geçirdim, özellikle çalışma ortamı bana bir çok şey kattı. Şimdi düşündüğümde robogazide olduğum süreyi çok iyi değerlendirmediğimi düşünüyorum. Robogazinin sağladığı imkanlarla daha fazla şey yapılabilinirdi. Fecir hoca ve Meral hoca sayesinde çok şey öğrendim. Robogazide olduğum süre boyunca öğrendiklerimi ve deneyimlerimi robogazinin şu an ki üyelerine aktarmak boynumun borcu oldu.

İlk kez robot yapacak olan bir kişi için hazır çalışan bir robotu kopyalamak elbette zor olacaktır. Hele ki hiç deneyimi yoksa karşısına çıkan hataların ne olduğunu anlayamadığı için bir çözüm üretmesi de çok zor. Bu yüzden önce karşılaşılabilecek hatalardan ve çözüm yöntemlerinden başlayacağım.

MCP2200 Usb-seri port çevirici – 2

Bir önceki yazımda MCP2200 entegresiyle seriport çeviriciyi anlatmıştım. Kullanımı kolay olması nedeniyle altınkaya’dan aldığım USB kutusuna göre tasarlayıp çinde prototip olarak bastırdım. Güzel görünümü ve kolay kullanımı ile projelerde etkili bir yardımcı. Bir sonraki yazımda seriport’tan aldığı veriyi grafiğe dönüştürmeyi anlatacağım, şimdi projenin detaylarına geçeyim.

Çıkışı 6 pin’den oluşmaktadır. İlk ikisi GND ve +5V. +5V’u çıkışa aktarmamın nedeni Beslemesini USB’den alacak olan uygulamalarda kullanabilmek içindi. Böylelikle harici bir beslemeye gerek kalmıyor. RX ve TX pinleri dışında RTS ve CTS pinlerini de dışarıya çıkartım bunun nedeni ise  hardware kontrol gerektiren uygulamalarda da  bu kiti kullanabilmekti. Ancak RTS ve CTS pinlerini aktif edebilmek için “MCP2200 Configuration Utility” programını indirip bu pinleri enable etmeniz gerekiyor. Kart üzerinde RX ve TX için ledleride ekledim. Yine bu ledler kullanabilmek için program üzerinden enable etmek gerekiyor.

ANKAKİT Labirent Algoritması

Uzun bir süre sonra tekrar bir şeyler yazmak çok güzel. Yüksek lisans iş sınav derken paylaşımlarıma ara vermek zorunda kalmıştım. Bir çoğu düzene girdi. Bugün RoboGazi’de Cevat ile çok güzel bir projeye başladık. DörtGöz’ü ayağa kaldırmakla kalmayıp çok işlevli bir arayüz yaptık. Bir çok robotun performansını değerlendirebileceğimiz şu an için güzel görünümlü olmasa da işlevli bir  arayüz oldu.

Bir labirentte ilerlerken 4 yönümüz vardır. İleri – Geri – Sağa – Sola, ancak robot ileri hareketini her zaman yaparken sağa sola ve geri hareketini sadece kesişim noktalarında kullanmakta.  Yapılacak olan hareketler için bir karar mekanizması ve bir kaç kabullenme yapmak gerekmektedir. Şekil1’de labirentlerde karar verirken maksimum 3 farklı yönden birini seçerken genelde 2 farklı yoldan biri tercih edilir.

ANKAKIT 3. Hafta

Ankakit ile ilgili kart tasarımım bitti. Üzerinde yapmam gereken bir kaç değişiklik dışında Şu an için bir sorun yok. Bu değişiklikleri bitirdiğimde açık şeması ile baskılı devresini burada paylaşacağım. Üzerine yazacağım kodları zaman buldukça yine buradan paylaşacağım. Şu an için şöyle bir fikrim var. c# üzerinde bir arayüz tasarlayarak ANKAKIT’i usb üzerinden PC ye bağlayıp bir kaç hazır bloğu birleştirerek kolay programlama sağlayabilmeyi düşünüyorum. 

ANKAKIT 2. Hafta -2

Kardeşimin aldığı yanlış çıktı sayesinde boşuna uğraştığım o devreyi tekrar bastım. Boş bir vakit bulacağımı sanmıyorum ama eğer bulabilirsem malzemelerini yerleştirip yüksek lisans ödevimi bu kart ile bitirmeyi planlıyorum. Batuhan bugün şirketteydi ve çok güzel bir yorum yaptı sitem konusunda. Daha fazla bilgi vermem gerekiyor yazılarımda biraz yüzeysel kalıyor çok haklı. Zamanım olmadığı için çok fazla üzerinde uğraşamasam da daha fazla bilgiye yer vericem artık.

DörtGöz Pro V1.0 (1. Hafta – 2)

Robotun özelliklerinden bahsedeyim biraz. Mikrodenetleyici olarak STM32f103 kullanıcam. STM’yi programlayabilmek için Flash Loader programına ihtiyacımız var. Bir kaç aramadan sonra bu programı buldum, Jtag ile mi programlamalıyım yoksa üzerindeki seri bootloader’den mi programlamalıyım karar veremedim. Nedeniyse Philips’in ürettiği ARM tabanlı LPC mikrodenetleyicilerinde Jtag bacakları ayrı bir biçimde çıkartılmış olmasına rağmen STM32 ‘de jtag bacaklarını giriş çıkış olarak da kullanabilmekteyim.