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