arduino ile uzaktan kumanda haberleşmesi

uzaktan kumandalı bir arabayı pc ile kontrol etmem gerekiyor benim düşüncem kumanda içindeki butonların çıkışlarını arduinoya bağlamak bu işlemi nasıl yapabilirim ?

öncelikle kumanda butonlarını bağlamak bu işi çözer mi onu denemek lazım. örnekleri vardı ama bence tam olarak doğru bir yol değil. gerçek çözümü, aracın seri haberleşme ile çalışmasını sağlamak. tabi bu sefer proje farklı yerlere kayar, pahalılaşır örnekleri: https://www.sparkfun.com/products/12075 https://www.sparkfun.com/videos#all/\_a6E0E\_-XaE/185 https://sites.google.com/site/bluetoothrccar/

ucuz olacak farklı bı yontem varmı ?

butonun uçlarını ölçü aletiyle ölç. basılı değilken bir ucu + değerde diğer ucu 0 değerde olabilir, butona basınca +voltajdan 0 voltaja düşer veya voltaj yukselir değişim olan bacakları not al daha sonra arduinonun pinlerinden çıkış al bu noktalara bağla kumanda ile arduinonun gnd leri de ortak olsun sinyal butunlugu için. arduinoda yazacağın programla hangi butonda nasıl bir aktivite istiyorsa o komutu yolla digitalpin HIGH LOW gibi. arduinoyu da direk pc ye bağla serial port uzerınden istediğin gibi komutları ayarlarsın. daha ucuz bir yöntem ise arada arduino olmadan direk seriportun rts cts pinlerini enable disable yapıp 2 butonu yönetebilirsin pc deki kullanıcı arayüz de c# olur filan…

Okoman hocam ,peki bu bahsettiğiniz direk seriportun rts cts pinlerini enable disable yapıp 2 butonu yönetme işlemi nasıl oluyor?

c# ile o portları rts cts dtr dte gibi portların kullanımını c# seriport kontrolu içinde vardır da onu da artık sen buluver hocam google sağ olsun. ben yolu gösterırım gerısı sizin çabanıza kalır proje bitirmiyorum burada. dediğim kodları yap dene sıkışırsan gel yaz foruma gene şunu yaptım kodum bu olmadı dersın sorun değil. gene dayanamadım bir kod buldum şuraya koyayımda siz deneyin bir. http://www.codeproject.com/Articles/678025/Serial-Comms-in-Csharp-for-Beginners ilgili pin çıkışlarını voltajlarını gereğinden yuksek olabilir +9..12v gibi gerekli dirençleri, hesaplayıp koyarsınız :slight_smile: https://www.google.com.tr/search?q=c%23+using+serial+port+rts+cts+dtr&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:tr:official&client=firefox-a&channel=sb&gfe\_rd=cr&ei=Qg13U435DciH8Qedl4DICg#channel=sb&q=c%23+using+serial+port+rts+cts+dtr+dte&rls=org.mozilla:tr:official

hocam uno modelinde power swich de 3.3 ve 5 volt bacaklarında voltaj alabiliyormuyuz USB den enerji verdiğimizde

unoda 5v ve 3.3v besleme switch mode power değildir direk voltaj regulatoru uzerınden voltaj düşürülerek elde edilir. dışarıdan adaptorle beslendiğinde daha kararlı çalışır, usb den bağlanıp 5v ve 3.3v alırsın ancak toplam guç bilgisayarda programlı olan güç çıkışı kadardır bazı eski notbooklar veya bilgisayarlar 80ma civarı akım verir onunlada anca bir uno çalışır daha yeni model usb sürücülerde güç yönetimi programlı olduğundan kullanılmadığında 80ma verir kullanıdığından 400ma civarı garanti ederler ama tek usb ye guvenmemek lazım.

okoman hocam katkılarınz için çok teşekkür ederim artık son aşamaya geldim arayüzü halletmem gerekiyor,bununla ılgılı kaynak kod gönderırmısınız ?

yukarıdaki kaynak koddan faydalanabılırsın sanırım.

farklı bi kaynak kod gerekli bi türlü bulamadım :frowning: son ıkı gunum var şu aşamaya kadar her yardımınız ıcın mılyon defa teşekkurler eğer arayuz ıcın herhangı bı kod bulursam supper olur şimdiden teşekkürler ve saygılar…

Sitede c# kodu var oradan faydalansbilisin belki tam senin isine uygun kodu hic bir zaman bulamazssin kodun dilinden anlaman lazim birsekilde sonucta proje senin biz yazamayiz. Neyi yapmak istedigin bile belli degil kumanda uclarini olctunmu arduinoya bagladinmi belli degil hic bir caban yok aglayip duruyorsun ilerleme goster biras.

herşey tam olarak halloldu,aracı da arduıno ıle calıstrıabılıyorum ;işin elektronık kısmı bıttı ,arduınoda yazdığım kodlarıda derledım su anda arac sorunsuz calısıyor:) sadece arayuz kaldı

char val; void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(8, OUTPUT); pinMode(10, OUTPUT); Serial.begin(9600); digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(8, HIGH); digitalWrite(10, HIGH); } void loop() { val = Serial.read(); if(val!=-1) { switch(val) { case ‘w’: digitalWrite(13, LOW); digitalWrite(12, HIGH); digitalWrite(8, HIGH); digitalWrite(10, HIGH); Serial.println(“ileri”); break; case ‘s’: digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(8, HIGH); digitalWrite(10, HIGH); Serial.println(“geri”); break; case ‘d’: digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(8, LOW); digitalWrite(10, HIGH); Serial.println(“sag”); break; case ‘a’: digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(8, HIGH); digitalWrite(10, LOW); Serial.println(“sol”); break; case ‘x’: digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(8, HIGH); digitalWrite(10, HIGH); Serial.println(“dur”); break; } } }

yukarıda yzmış olduğum kodları kullanarak ;uzaktan kumandalı arcın kumandasıyla arduıno bağlantısınıda kurum ;ileri ve geri kısımlarına direnç koydum çünkü tetikte kalıyodu ;sağ ve sol kısmı ıse normal şekilde bağlandı ;şu anda arac sorunsuz calısıyor

sadece arayüz eksik

arduinoda kullanici arayuzune x komutunu girince ekran simsiyah oluyor ve kapaniypr sebebi nedir

neden arduino kullanıyorsunki kumanda devresini pc ile başka türlüde iletişime sokabilirsin ve pc den bir program yazıp kontrol edebilirsin ben üniversitede iken lpt ile tabi bu eski kasalarda mevcut rc araba haberleştirdiydim böyle bir cözüm deneyebilirsin mesela kumanda devresinin max232 ile seri haberleşmeye onuda rs232 usb converterla pc ye baglaya bilirsin başka bir pic de kullanabilirsin.

zaman çok kısıtlıydı ,arduınodan başka bı cozum yolu cok zor gelıyodu :slight_smile: kısa surede bıtırdım ve oldu teşekkür ediyorum katkı sağlayan herkese…

selam ben kendi kumandasını kullanarak yapmaya calıştım yardımcı olabilecek birileri var mı _