manşet

Arduino ile Bilgisayar Kontrollü Tank

    Bu projede haberleşme olarak uzaktan kumandalı arabanın ,  arabadan alıcı kumandasından verici kısmını söktüm.  Robotta arduino kullanmadım ,arduinoyu kullandığım yer kumanda kısmı.

    Öncelikle arabadan söktüğüm alıcı kısmını sökerken dikkatli olmamız gerekiyor çünkü alıcı kısmında iki tane motor sürmek için kablolar ve Vcc ,GND   kablolar ı vardır. Öncelikle alıcı kısmının arabanın ileri geri gitmesini sağlayan dc motora olan kablosunu bulup not edin . Daha sonra sağa sola dönmesi sağlayan dc motorun kablolarını not edin . Son olarak da devrenin Vcc si ve gnd sini not alın .






    Kullandığımız tank da 2 adet dc motor vardır. Bu alıcı kısmının kablolarını tankın dc motoruna takıyoruz. (Ufak bir hatırlatma yapalım uzaktan kumandalı arabanız kaç volt ile çalışıyorsa devreyede o voltu veriniz. Daha sonra pilinizi  bağlayıp Vcc ve GND  de bağlantılarınızı yapınız.


    Kumandanın  içindeki verici çıkardıktan sonra ileri geri sağ sol  yerlerini topraklayacak şekilde kablo çekip arduinonun dijital pinlerine bağlayınız .Bundan sonrası o dijital pine çıkış verdiğimizde alıcı kısmı dc motoru çalıştırır. 











PROGRAMIN KODLARI  :

char deger;
// robotun arkasından bakarak
int sol_ileri=2;
int sag_geri=3;
int sol_geri=4;
int sag_ileri=5;  // deger tanımlama

void setup()
{
   // çıkış pinleri
pinMode(sol_ileri, OUTPUT);  // sol ileri
pinMode(sag_geri, OUTPUT); // sağ geri 
pinMode(sol_geri, OUTPUT); // sol geri
pinMode(sag_ileri, OUTPUT); // sağ ileri

Serial.begin(9600); // seri iletişim

digitalWrite(sol_ileri, HIGH);
digitalWrite(sag_geri, HIGH);
digitalWrite(sol_geri, HIGH);
digitalWrite(sag_ileri, HIGH);
}

void loop() {
// seri sinyali oku
deger = Serial.read();
if(deger!=-1)
{
switch(deger)
{
                        // eğer sinyal w ise ileri sür
case 'w':
case 'W':
digitalWrite(sol_ileri, LOW);   
digitalWrite(sag_geri, HIGH);   
digitalWrite(sol_geri, HIGH);    
digitalWrite(sag_ileri, LOW);

Serial.println("ileri git");
Serial.println(" ");
Serial.println("ileri gitmek icin 'w' harfine basiniz ");
Serial.println("geri gitmek icin 's' harfine basiniz ");
Serial.println("sola donmek icin 'a' harfine basiniz ");
Serial.println("saga donmek icin 'd' harfine basiniz ");

Serial.println("durmak icin 'x' harfine basiniz ");

break;
                          // eğer sinyal s ise geri sür
case 's':
case 'S':
digitalWrite(sol_ileri, HIGH); 
digitalWrite(sag_geri, LOW);
digitalWrite(sol_geri, LOW);
digitalWrite(sag_ileri, HIGH);

Serial.println("geri git");
Serial.println(" ");
Serial.println("ileri gitmek icin 'w' harfine basiniz ");
Serial.println("geri gitmek icin 's' harfine basiniz ");
Serial.println("sola donmek icin 'a' harfine basiniz ");
Serial.println("saga donmek icin 'd' harfine basiniz ");

Serial.println("durmak icin 'x' harfine basiniz ");

break;
                         // eğer sinyal a ise sola don
case 'a':
case 'A':
digitalWrite(sol_ileri, HIGH); 
digitalWrite(sag_geri, HIGH);
digitalWrite(sol_geri, LOW);
digitalWrite(sag_ileri, LOW);
Serial.println("sola don");
Serial.println(" ");
Serial.println("ileri gitmek icin 'w' harfine basiniz ");
Serial.println("geri gitmek icin 's' harfine basiniz ");
Serial.println("sola donmek icin 'a' harfine basiniz ");

Serial.println("durmak icin 'x' harfine basiniz ");

break;
                                  // sağa dön
case 'd':
case 'D':
digitalWrite(sol_ileri, LOW); 
digitalWrite(sag_geri, LOW);
digitalWrite(sol_geri, HIGH);
digitalWrite(sag_ileri, HIGH);
Serial.println("saga don");
Serial.println(" ");
Serial.println("ileri gitmek icin 'w' harfine basiniz ");
Serial.println("geri gitmek icin 's' harfine basiniz ");
Serial.println("sola donmek icin 'a' harfine basiniz ");
Serial.println("saga donmek icin 'd' harfine basiniz ");

Serial.println("durmak icin 'x' harfine basiniz ");

break;
                                         

                    // eğer sinyal x ise dur
case 'x':
case 'X':
digitalWrite(sol_ileri, HIGH);
digitalWrite(sag_geri, HIGH);
digitalWrite(sol_geri, HIGH);
digitalWrite(sag_ileri, HIGH);
Serial.println("dur");
Serial.println(" ");
Serial.println("ileri gitmek icin 'w' harfine basiniz ");
Serial.println("geri gitmek icin 's' harfine basiniz ");
Serial.println("sola donmek icin 'a' harfine basiniz ");
Serial.println("saga donmek icin 'd' harfine basiniz ");
Serial.println("sola hafif donus ileri icin 'q' harfine basiniz ");
Serial.println("saga hafif donus ileri 'e' harfine basiniz ");
Serial.println("saga hafif donus geri '6' harfine basiniz ");
Serial.println("sola hafif donus geri '4' harfine basiniz ");
Serial.println("durmak icin 'x' harfine basiniz ");
}
}
}

Hiç yorum yok:

Yorum Gönder