Arduino 2 Tekerli Şase Bluetooth Kontrollü Araba Testleri

Kodla Büyü
elinize sağlık ancak bunların planlarını ve kodlarınıda bizlerle paylaşabilirseniz sanırım daha güzel olur bizlerde acaba burası nasıl olmuş deyip belki bir adım yukarı birşeyler yaparız yada öğreniriz :)
 
Fritzing Şema:

arduinoaraba.jpg


Arduino Kod:

Kod:
//L298N Bağlantısı 
  const int motorA1  = 5;  // L298N'in IN3 Girişi
  const int motorA2  = 6;  // L298N'in IN1 Girişi
  const int motorB1  = 10; // L298N'in IN2 Girişi
  const int motorB2  = 9;  // L298N'in IN4 Girişi


  int i=0; //Döngüler için atanan rastgele bir değişken
  int j=0; //Döngüler için atanan rastgele bir değişken
  int state; //Bluetooth cihazından gelecek sinyalin değişkeni
  int vSpeed=255;     // Standart Hız, 0-255 arası bir değer alabilir

void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT); 
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
}
 
void loop() {
  /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
 (Aktif etmek için alt satırın "//" larını kaldırın.)*/
//     if(digitalRead(state)==LOW) { state='S'; }

  //Gelen veriyi 'state' değişkenine kaydet
    if(Serial.available() > 0){   
      state = Serial.read(); 
    }
 
  /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == '0'){
      vSpeed=0;}
    else if (state == '1'){
      vSpeed=100;}
    else if (state == '2'){
      vSpeed=180;}
    else if (state == '3'){
      vSpeed=200;}
    else if (state == '4'){
      vSpeed=255;}
  
  /***********************İleri****************************/
  //Gelen veri 'F' ise araba ileri gider.
    if (state == 'F') {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
    }
  /**********************İleri Sol************************/
  //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    else if (state == 'G') {
      analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
        analogWrite(motorB1, 100);    analogWrite(motorB2, 0);
    }
  /**********************İleri Sağ************************/
  //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    else if (state == 'I') {
        analogWrite(motorA1, 100); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
    }
  /***********************Geri****************************/
  //Gelen veri 'B' ise araba geri gider.
    else if (state == 'B') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, vSpeed);
    }
  /**********************Geri Sol************************/
  //Gelen veri 'H' ise araba geri sol(çapraz) gider
    else if (state == 'H') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 100);
        analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
  /**********************Geri Sağ************************/
  //Gelen veri 'J' ise araba geri sağ(çapraz) gider
    else if (state == 'J') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, 100);
    }
  /***************************Sol*****************************/
  //Gelen veri 'L' ise araba sola gider.
    else if (state == 'L') {
      analogWrite(motorA1, vSpeed);   analogWrite(motorA2, 150);
        analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }
  /***************************Sağ*****************************/
  //Gelen veri 'R' ise araba sağa gider
    else if (state == 'R') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);   analogWrite(motorB2, 150);   
    }
 
  /************************Stop*****************************/
  //Gelen veri 'S' ise arabayı durdur.
    else if (state == 'S'){
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0);
        analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
    }
}

Android apk dosyası için tıklayın...

Yukarıdaki kodlarda bulunmayıp programın desteklediği özellikler:
1- Ön far yakma söndürme.
2- Arka far yakma söndürme.
3- Korna çalma susturma.
4- Dörtlü yakma söndürme.
 
Son düzenleme:
Şemaları en kısa zamanda çizip göndereceğim.

Arduinoyu 9v şarjlı pille besledim.
2wd robot şasesini 4 AA pille besledim.

Arduino Kod:

Kod:
//L298N Bağlantısı 
  const int motorA1  = 5;  // L298N'in IN3 Girişi
  const int motorA2  = 6;  // L298N'in IN1 Girişi
  const int motorB1  = 10; // L298N'in IN2 Girişi
  const int motorB2  = 9;  // L298N'in IN4 Girişi


  int i=0; //Döngüler için atanan rastgele bir değişken
  int j=0; //Döngüler için atanan rastgele bir değişken
  int state; //Bluetooth cihazından gelecek sinyalin değişkeni
  int vSpeed=255;     // Standart Hız, 0-255 arası bir değer alabilir

void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT); 
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
}
 
void loop() {
  /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
 (Aktif etmek için alt satırın "//" larını kaldırın.)*/
//     if(digitalRead(state)==LOW) { state='S'; }

  //Gelen veriyi 'state' değişkenine kaydet
    if(Serial.available() > 0){   
      state = Serial.read(); 
    }
 
  /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == '0'){
      vSpeed=0;}
    else if (state == '1'){
      vSpeed=100;}
    else if (state == '2'){
      vSpeed=180;}
    else if (state == '3'){
      vSpeed=200;}
    else if (state == '4'){
      vSpeed=255;}
  
  /***********************İleri****************************/
  //Gelen veri 'F' ise araba ileri gider.
    if (state == 'F') {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
    }
  /**********************İleri Sol************************/
  //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    else if (state == 'G') {
      analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
        analogWrite(motorB1, 100);    analogWrite(motorB2, 0);
    }
  /**********************İleri Sağ************************/
  //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    else if (state == 'I') {
        analogWrite(motorA1, 100); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
    }
  /***********************Geri****************************/
  //Gelen veri 'B' ise araba geri gider.
    else if (state == 'B') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, vSpeed);
    }
  /**********************Geri Sol************************/
  //Gelen veri 'H' ise araba geri sol(çapraz) gider
    else if (state == 'H') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 100);
        analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
  /**********************Geri Sağ************************/
  //Gelen veri 'J' ise araba geri sağ(çapraz) gider
    else if (state == 'J') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, 100);
    }
  /***************************Sol*****************************/
  //Gelen veri 'L' ise araba sola gider.
    else if (state == 'L') {
      analogWrite(motorA1, vSpeed);   analogWrite(motorA2, 150);
        analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }
  /***************************Sağ*****************************/
  //Gelen veri 'R' ise araba sağa gider
    else if (state == 'R') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);   analogWrite(motorB2, 150);   
    }
 
  /************************Stop*****************************/
  //Gelen veri 'S' ise arabayı durdur.
    else if (state == 'S'){
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0);
        analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
    }
}

Android apk dosyası için tıklayın...

Yukarıdaki kodlarda bulunmayıp programın desteklediği özellikler:
1- Ön far yakma söndürme.
2- Arka far yakma söndürme.
3- Korna çalma susturma.
4- Dörtlü yakma söndürme.

eline sağlık hocam.

@hanedantr
 
L298n yerine l293d kullansaydiniz motor sürücüyü arduino üzerine oturur iki ayrı pil kanalı kullanmak yerine 4 adet kalem pille aynı işi görürdunüz. Bu tarz devreler l293d de daha işlevsel ancak yinede farklı bir uygulama olmuş elinize sağlık. Ben bunu tamamen mblockla temelli yapmaya calisiyorum
 
L298n yerine l293d kullansaydiniz motor sürücüyü arduino üzerine oturur iki ayrı pil kanalı kullanmak yerine 4 adet kalem pille aynı işi görürdunüz. Bu tarz devreler l293d de daha işlevsel ancak yinede farklı bir uygulama olmuş elinize sağlık. Ben bunu tamamen mblockla temelli yapmaya calisiyorum
Ek olarak, kalem pil yerine 18650 pilleri kullanmanızı şiddetle tavsiye ederim. 2 tanesi bu proje için yeterli olacaktır. Bir tane 9V pil ve 4 tane AA kalem pil yerine sadece 2 tane 18650 li-ion pil ile hem daha uzun ömürlü hem de daha stabil çalışan cihazınız olacaktır.
 
Y
L298n yerine l293d kullansaydiniz motor sürücüyü arduino üzerine oturur iki ayrı pil kanalı kullanmak yerine 4 adet kalem pille aynı işi görürdunüz. Bu tarz devreler l293d de daha işlevsel ancak yinede farklı bir uygulama olmuş elinize sağlık. Ben bunu tamamen mblockla temelli yapmaya calisiyorum
Yapınca paylaşırsanız seviniriz hocam
 
Geri
Üst