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

Yazar: emrahbudak

Seri Port Terminal Programı (C#)

Öncelikle kimseye sataşmadığımı ve gönderme yapmadığımı söylemekle yazıma başlamak istiyorum. Zira bir önceki yazımda özellikle birilerine atıfta bulunduğum gibi düşünceler oluştu. İnternetteki çizgi izleyen robot yapımı adındaki paylaşımların kötülüğünden ve gereksizliğinden yakınmıştım. Şimdiye kadar çizgi izleyen üzerinde bir çok çalışma yapıp ayrıntılı açıklamalarda bulunmuştum (Çizgi izleyen robot yapımı dökümanını indir) ancak ilk kez çizgi izleyen yapanların hazırladığım bu dökümanları kullanmadıkları, internette hazır kodu verilmiş şeması çizilmiş projeleri tercih ettiklerini görüp en azından adam gibi bir şey yapsın dediğim için bu tür bir yazı yazmıştım. Neyse çok uzatmayıp paylaşacağım projeyi anlatayım.

Ç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.

PID Kontrol -1 (PID Control -1)

Merhaba arkadaşlar bu yazımda PID kontrolünün temel prensibini ve nasıl koda dönüştüreceğimizi anlatacağım. PID kontrol döngüsü yöntemi , yaygın endüstriyel kontrol sistemlerinde kullanılan genel bir kontrol döngüsü geri bildirim mekanizmasıdir. Bir PID denetleyici ölçülü bir süreç içinde değişen ve istenilen ayar noktası ile arasındaki farkı olarak bir “hata” değerini hesaplar. Kontrolör proses kontrol girişini ayarlayarak hatayı en aza indirerek istenilen ayar değerine ulaşmak için çalışır.[1]

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. 

LPC21xx Uart veri gönderme

lpc21xx_uart

İş yerinde Erdoğan’ın yapmış olduğu uygulamanın bir çok kişinin arayıp yapamadığı fikri beni bu yazıyı yazmaya yöneltti. LPC21xx serisi ARM işlemcilerde UART biriminden veriyi nasıl yollarız? nasıl veri alırız? bununla ilgili olarak ilk başta veri göndermekle ilgili olanı sizinle paylaşacağım. LPC serisinin İsiste simülasyonu olması bu işlemci üzerinde daha çabuk sonuçlar elde etmemizi sağlıyor. Çünkü baskılı devresini çizmek basmak çalıştırmak ve sorunları çözmek cidden zaman kaybına neden oluyor.

ANKAKIT 2. Hafta -1

ANKAKIT ile ilgili bir kaç ön bilgi paylaşmıştım. Kardeşim Emre’nin kırtasiyesinden yağlı kağıda çıktı almıştım ama tabi bu çıktığı kardeşim aldığı için sayfayı sığdır seçeneğini kaldırmadığı için devre normalinden daha küçük çıkmış. Bu olayın en kötü yanıysa devreyi basıp deliklerini deldikten sonra bunu fark etmiş olmam. Harcadığım zamana mı yanayım yoksa yorulduğuma mı anlayamadım 🙂 Artık devre basımı haftaya kaldı. Bunlarda fotoğrafları 🙂