İzlediği yolun haritasını çıkartan robot projesi

Başlatan msoyturk, 12 Kasım 2008, 20:35:03

msoyturk

robotun izlediği yolu grafik ekranda göstermek istiyoruz fakat bunun için nası bir pic ve LCD  kullanmamız gerekiyor ve bunlar arsı iletişimi nasıl sağlayabiliriz.

Yardımcı olursanız seviniriz.....

Tagli

Öncelikle, robotun izlediği yol nedir? Çizgi izleyen bir robottun izlediği çizgiyi LCD'de oluşturmaya mı çalışıyorsunuz?

Daha önce GLCD'ler ile uğraşmadım hiç (bir gün yapacağım ama :)). Ama sanırım konu hakkında fikir verebilirim:

Öncelikle yapmanız gereken şey robotun ne kadar gittiğini tespit etmek. Bunun için de motorlara encoder koyup burdan okuma yapmanız gerekiyor. Diğer mesele de yön. Bunu tespit etmek daha zor. Bulabilirseniz dijital pusula iş görebilir. Veya başlangıç durumunu 0 kabul edip (mesela kuzey) iki tekerden gelen okuma değerlerine göre o an ne yöne baktığını kestirebilirsiniz. Tabi pek hassas olmaz çünkü tekerin belli bir miktar dönmesi robotu aynı oranda döndürdüğü anlamına gelmez. Mesela tekerin biri kaygan bir yüzeye denk gelmiştir bu durumda dönmesinin bir bölümü boşa gider.

İlerleme miktarı ve yönü belirledikten sonra gerisi kolay. GLCD'de her pixelin 8 komşusu olduğuna göre tanımladığınız 8 yönden hangisine gitmişse robot, başladığınız pixelin o komşusunu işaretlemeniz gerekiyor. Bu işaretlemeyi belirlediğiniz bir ilerleme miktarı sağlandığında tekrarlamanız.

Burda akla gelen bir diğer sorun da birim miktarda ilerleme yapılmadan yön değiştirilmesi. Bu durumda yeni pixelin nereye basılacağı tartışma konusu olacaktır. Bu konuda biraz düşünmek lazım...
Gökçe Tağlıoğlu

msoyturk

Alıntı yapılan: "Tagli"Öncelikle, robotun izlediği yol nedir? Çizgi izleyen bir robottun izlediği çizgiyi LCD'de oluşturmaya mı çalışıyorsunuz?

robotun izlediği yolun ne olduğu ne kadar önemli tam olarak bilmiyorum ama

amacımız aynen düşündüğünüz gibi...

ayrıca bu sistem için bir tane pic 16F84 işimizi görür mü?

yardımlarınız için teşekkürler..

Tagli

Alıntı yapılan: "msoyturk"ayrıca bu sistem için bir tane pic 16F84 işimizi görür mü?
Bacak sayısının yeterli olacağını sanmıyorum.

LCD > 7 bacak
2 tane encoder'lı motor > 6 bacak
En az iki tane sensör (çizgi izlemek için) > 2 bacak

Görüldüğü gibi yaklaşık 15 (belki de daha fazla) bacağa ihtiyaç var. Bu durumda 16F876 gibi 28 bacaklı (ki bunun 22'si giriş-çıkış içindir) bir PIC gerekecek.
Gökçe Tağlıoğlu

msoyturk

hımm..

peki 7 bacak olarak lcd demşsiniz  ama 256*128 lik bir lcd için de bacak sayısı aynı mıdır (bildiğim kadarıyla aynı ama)?

ve pic ile lcd arasında bir uyum sorunu olur mu?

Tagli

Grafik LCD'lerin bacak sayısını tam bilmiyorum. Normal bir LCD'de bağlantı 11 bacakla yapılır (bazen R/W bacağı bağlanmaz, bu durumda bir bacak daha eksilir) veya 4 bitlik arayüz seçilirse 7 bacak yeterli olur. Grafik LCD'lerde de çok farklı olacağını sanmıyorum. Belki birkaç tane fazladan bacakları olabilir... 16F876 yerine 16F877 kullanırsan bacak sorununa kesin çözüm olacağını sanıyorum :)
Gökçe Tağlıoğlu

F493

selam,

  1 adet GPS modülü seri çıkışı var zaten  1sn aralıkla veri akıyor ve koordinat kodlarını da göneriyor bunu GLCD de koordinatlarıyla birlikte gösterebilirsin.

esen kalın.

msoyturk

eğer gittiği yolu çizgi olarak çizeceğiini düşünürsek glcd ile lcd kullanmam bişey farkettirmeyecektir öyle değil mi?

Tagli

Normal bir LCD'de yolu çizemezsin (tabi sadece dümdüz gidecekse olur belki :D). Sanırım burda bir tanım karmaşası olmuş. Benim LCD dediğim şey şu 2x16 vs. gibi isimlerle ifade edilen ve kutucuklardan oluşan LCD ki her kutucuğa bir karakter gelir. Sadece önceden tanımlı karakterleri gösterebilir (hafızasında olanlara ek olarak kendin 8 adet karakter tanımlayabilirsin). GLCD dediğimiz şey ise bağımsız pixellerden oluşur ve bunda istediğin şekli gösterebilirsin. Çizgi çizmek istediğine göre GLCD kullanman gerekiyor.
Gökçe Tağlıoğlu

mame

bence araclardakı yaklasım sensorlerı ısnızı gorur harıta cıkarmak ıcın
bayrakları bayrak yapan üstündeki kandır,toprak eğer uğrunda ölen varsa vatandır.

Tagli

Alıntı yapılan: "mame"bence araclardakı yaklasım sensorlerı ısnızı gorur harıta cıkarmak ıcın
Yaklaşım sensörü dediğin mesafe sensörü değil mi? Ama bunun için referans alabileceği bir noktaya ihtiyaç var. Yakın çevresinde algılayabileceği bir cisim yoksa işe yaramaz.
Gökçe Tağlıoğlu

msoyturk

Alıntı yapılan: "Tagli"Normal bir LCD'de yolu çizemezsin (tabi sadece dümdüz gidecekse olur belki :D). Sanırım burda bir tanım karmaşası olmuş. Benim LCD dediğim şey şu 2x16 vs. gibi isimlerle ifade edilen ve kutucuklardan oluşan LCD ki her kutucuğa bir karakter gelir. Sadece önceden tanımlı karakterleri gösterebilir (hafızasında olanlara ek olarak kendin 8 adet karakter tanımlayabilirsin). GLCD dediğimiz şey ise bağımsız pixellerden oluşur ve bunda istediğin şekli gösterebilirsin. Çizgi çizmek istediğine göre GLCD kullanman gerekiyor.

aslında aynı şeylerden bahsediyoruz... Ama GLCD ve LCD arasındaki farkı açıkcası bilmiyordum

nthere



Gördügünüz gibi GLCD ile pic arasında 14 bağlantı var.
2 tane encoder'lı motor > 6 bacak
En az iki tane sensör (çizgi izlemek için) > 2 bacak

Bu durumda sececeginiz pice siz karar verin.

polar

bu robotun yol alacağı yüzey hakkında bilgi vermemişsin ama benim aklıma optik mouse geldi. eğer parlak olmayan ama düzgün bir yüzeyde ilerleyecekse mouse ile pic'e gittiği yön bilgisini gönderebilirsin galiba

patan_mustafa

cizgi cizilmis yuzeyde aracin nerede oldugunu anlamak icin, iki adet ultrasonic alici verici duzenegi ile x-y duzleminde nerede oldugu anlasilabilir. cizginin oldugu zeminin etrafina 10cm yuksekliginde bir kartondan engeller konursa, ultrasonic mesafe olcum devresi bu kartondan yansiyan ses sinyaline gore bir mesafe bilgisi verecektir. boylece x ve y duzleminde aracin nerde oldugu anlasilacak ve 240*240 veya 128*240 grafik ekranda aracin konumu gosterilebilecektir.  boylece ne encodere ne de ekstra motorlara gerek kalmaz

Ayni mantikla bariyerle cevrilmis yolda, bariyerlere carpmadan giden arac tasarimi ve gerceklemesi yapmistim. o tasarimi degistirerek boyle bir tasarimda yapilabilir. bu tasarimda zaten mesafe olcumu yapiyor eklenecek olan sadece cizgiyi takip etme duzenegi ki buda sadece cizgi sensoru eklenerek yapilabilir.

Paylaşmak Bilgiyi Artırır. Her iki taraf için de....