vb ile robot kontrolü

Başlatan x_tra06, 02 Şubat 2006, 12:18:06

x_tra06

merhaba arkadaşlar
ben bir kaç arkadaş ile robot projesi tasarlıyoruz bu robotu vb ile yazılmış bir programla yöneteceğiz. programın şu şekilde olması gerekiyor

klavyeden yaklaşık olarak 15 buton kullanacağız.
mesala robot ileri gideceğinde "W"
sağa gideceğinde "D"
sağ kolunu kaldıracağında "K"
sol kolunu kaldıracağında "L" butonlarına basması gerekecek. sizden istediğim yardım şu.

W ye basıldığında porta "1"
D ye basıldığında Porta "2"
K ya basıldığında porta "3" değerini gönderecek
W ve D ye aynı anda basıldığında 1 hemen sonra 2 hemen sonra tekrar 1 bu şekilde işlem devam edecek

W,D,K ya basıldığında 1 hemen sonra 2 hemen sonra 3 hemen sonra tekrar 1 bu şekilde tekrar edecek mesala elimizi o anda D'den çektiğimizde porta 1 hemen sonra 3 hemen sonra tekrar 1 şeklinde devam edecek

porttaki bilgileri pic ile okutturup karşılaştırma yaparak işlem yaptıracağım.

veyaa bu işlem için kullanabileceğim bildiğiniz bir haberleşme protokolü varsa oda olabilir

tavsiyeleriniz için şimdiden teşekkür ederim
saygılarımla...
------------------------------------------------ Kainat ne kadar düzenli ve güzel değilmi? Nereden geldiğimizi gerçekten hiç dünündünüz mü? ------------------------------------------------

AgentDD

dostum... rs232 protokolunu kullanirsan eger, sadece pic'e bir byte gönderrerek isletebilirsin.. böylece her byte'a toplam sekiz tus baglayabilirsin... yeterince hizli da olur bence..

örnek
"A" =            %00000001
"B" =            %00000010
"C" =            %00000100
"D" =            %00001000

"A" ve "D" =  %00001001
"A" ve "C" =  %00001010
4'ü birden  =  %00001111

bu sekilde vb'den pic'e bilgilerini gönderirsen, ona görede yazilimini yaparsin..

benim aklim bu kadarina eriyor. umarim yardimci olabilisimdir..




https://www.picproje.org/index.php/topic,5491&highlight=robot

AgentDD

haaa.. bir de sunu ekleyeyim... eger 15 tus kullanacaksan sana iki byte lazim..

ozaman sana bir sync de lazim ki hangi bytenin hangi tus seti oldugunu pic karistirmasin...

öneri

sync = 255 = %1111111
set1 = byte = %????????
set2 = byte = %????????

vb'den pice göndeririken:
   serout[sync][set1][set2]

pic'ten alirken
   if serin
  • = 255    ;sync
       then serin[set1][set2]

    yazilim böyle değil tabiki, fakat umarim mantigi alatabilimsimdir..


    fakat bazen karisiklik olabilir.. örnegin eger set1'deki bütün tuslar ayni anda basilabiliyorsa bu pic'e255 (%11111111) olarak gidecektir, yani aynen sync gibi.. ve pic bunu sync olarak algilayabilir ve set'ler yanlis bililer dolabilir... bunu engellemen için bir byte daha kullanman gerekebilir.. fakat zannetmiyorum ihtiyacin olacagina. ayrica zaten klavyenin tam belli 8 tuslari bir anda algilayabildecegi de meçhul zaten