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

Etiket: ccs c

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

Seri İletişim -3

Seriporttan gelen daha önceden belirlenmiş bir protokoldeki verinin pic ile alınması. Devre seri iletişim -1 yazısındaki devre ile aynıdır.

Seri iletişim ile ilgili yazdığım ilk yazımda seriport’un debug olarak kullanıldığından bahsetmiştim. Bu örnekte de görüldüğü üzere her bir adıma değerler yazılarak hatanın nerede olduğunu anlamamızı sağlıyor. Böylelikle hata teşhisi çok daha kolay olmaktadır.

Seri İletişim -1

Seri iletişime giriş niteliği taşıyan bu yazımda en basit şekliyle veri yollayacağız. 16F628A mikrodenetleyicisi ile CCS C derleyicisini kullanarak bu uygulamayı gerçekleştireceğiz. Simülasyon için ise Proteus programından yaralanacağız. ilerleyen yazılarımda c# programıyla pic’i haberleştirip verileri grafik üzerinde nasıl göstereceğimizi anlatacağım.

16F628A mikrodenetleyicisi küçük uygulamalar için çok güzel bir denetleyici. Tek sorunu üzerinde analog giriş bulunmaması. İçerisinde Timer0, Timer1 ve Timer2 olmak üzere 3 adet timer bulunmakta. Projemizde Timer0’ı açacağız ve Timer0 bizim kontrol işlemlerimizi gerçekleştirmek için 256 us’de bir kontrol işlemi yapacak.