Arduino kodunda hata nedir?

Hocam Bluetooth kontrolu için kütüphane gerekiyor. Bluetooth modülünün nasıl kullanıldığına baktınız mı?


Şemaya baktığımda da enable pinlerini kullanmadığını görüyorum o pinleri kullanmadan hız kontrolünü düzgün yapamazsınız.

Hız kontrolü benim için önemli değil kodda bulunması çok önceden (2-3 sene) bu tarz bir denememde kullanmıştım aynı kodu kullanıyorum ancak hız kontrolüne ihtiyacım yok sadece bu koda hcsr04'ün mesafeye göre motorları durdurmasını sağlayan bir kod eklemenizi istiyorum.

Hocam Bluetooth kontrolu için kütüphane gerekiyor. Bluetooth modülünün nasıl kullanıldığına baktınız mı?


Şemaya baktığımda da enable pinlerini kullanmadığını görüyorum o pinleri kullanmadan hız kontrolünü düzgün yapamazsınız.

Aynı şekilde enable pinleri boştaysa motorlar çalışmaz!

Motor sürücü ve Bluetooth modülünün kullanımını bilmiyorsanız araştırmanızı tavsiye ederim.

Enable pinleri birbirine kısa devre şemada bunu göstermedim.
 
Yazdığınız kodu test ettiniz ve çalışıyorsa 20cm de durması için ayarlayacağım. Pinleri kendime göre ayarlayacağım siz değiştirirsiniz.
 
Evet çalışıyor eğer zahmet olmazsa 20 değil de 15 yapabilirseniz sevinirim sizi yordum.

Zaten sonradan 15 yaptım ve if -else, else-if kısımlarını swtich-kase yapısı ile değiştirdim.

Çünkü bir if çalışırken diğerleri önemsenmez bu yüzden değiştirdim eğer kod düzgün çalışmazsa eski haline döndürebilirim.

Hem çok fazla if olunca kod yavaşlıyor.

C++:
//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.


#define TRIG_PIN 3 // HC-SR04 trig pini 3 numaralı pine atandı.
#define ECHO_PIN 2 // HC-SR04 echo pini 2 numaralı pine atandı.

//HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
void mesafe_olcumu()
{
  digitalWrite(TRIG_PIN, 1);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, 0);

  int sure = pulseIn(ECHO_PIN, 1);

  int mesafe = (sure / 2) / 29.1;

  if (mesafe < 15)
    state = 'S';

  Serial.print("Mesafe= ");
  Serial.println(mesafe);
}


void setup() {
  // Pinlerimizi belirleyelim.
  pinMode(motorA1, OUTPUT);
  pinMode(motorA2, OUTPUT);
  pinMode(motorB1, OUTPUT);
  pinMode(motorB2, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(TRIG_PIN, 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(BTState)==LOW) { state='S'; }

  //HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
  mesafe_olcumu();



  //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ı)*/
  switch (state)
  {

    case 0:

      vSpeed = 0;

      break;

    case 1:

      vSpeed = 100;

      break;

    case 2:

      vSpeed = 180;

      break;

    case 3:

      vSpeed = 200;

      break;

    case 4:

      vSpeed = 255;

      break;

  }
  // state değerine göre araç yönü değişir.
  switch (state)
  {


    /***********************İleri****************************/
    //Gelen veri 'F' ise araba ileri gider.
    case 'F':

      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

      break;

    /**********************İleri Sol************************/
    //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    case 'G':

      analogWrite(motorA1, vSpeed ); analogWrite(motorA2, 0);
      analogWrite(motorB1, 100); analogWrite(motorB2, 0);

      break;
    /**********************İleri Sağ************************/
    //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    case 'I':

      analogWrite(motorA1, 100); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

      break;
    /***********************Geri****************************/
    //Gelen veri 'B' ise araba geri gider.
    case 'B':

      analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
      analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

      break;
    /**********************Geri Sol************************/
    //Gelen veri 'H' ise araba geri sol(çapraz) gider.
    case 'H':

      analogWrite(motorA1, 0); analogWrite(motorA2, 100);
      analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

      break;
    /**********************Geri Sağ************************/
    //Gelen veri 'J' ise araba geri sağ(çapraz) gider.
    case 'J':

      analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
      analogWrite(motorB1, 0); analogWrite(motorB2, 100);

      break;
    /***************************Sol*****************************/
    //Gelen veri 'L' ise araba sola gider.
    case 'L':

      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
      analogWrite(motorB1, 0); analogWrite(motorB2, 0);

      break;
    /***************************Sağ*****************************/
    //Gelen veri 'R' ise araba sağa gider.
    case 'R':

      analogWrite(motorA1, 0); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);

      break;
    /************************Stop*****************************/
    //Gelen veri 'S' ise arabayı durdur.
    case 'S':
      analogWrite(motorA1, 0); analogWrite(motorA2, 0);
      analogWrite(motorB1, 0); analogWrite(motorB2, 0);

      break;
  }
}

C++:
//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.

#define TRIG_PIN 3 // HC-SR04 trig pini 3 numaralı pine atandı.
#define ECHO_PIN 2 // HC-SR04 echo pini 2 numaralı pine atandı.

//HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
void mesafe_olcumu()
{
 digitalWrite(TRIG_PIN, 1);
 delayMicroseconds(10);
 digitalWrite(TRIG_PIN, 0);

 int sure = pulseIn(ECHO_PIN, 1);

 int mesafe = (sure / 2) / 29.1;

 if (mesafe < 15)
 state = 'S';

 Serial.print("Mesafe= ");
 Serial.println(mesafe);
}

void setup() {
 // Pinlerimizi belirleyelim.
 pinMode(motorA1, OUTPUT);
 pinMode(motorA2, OUTPUT);
 pinMode(motorB1, OUTPUT);
 pinMode(motorB2, OUTPUT);
 pinMode(ECHO_PIN, INPUT);
 pinMode(TRIG_PIN, 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(BTState)==LOW) { state='S'; }

 //HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
 mesafe_olcumu();

 //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);
 }
}

Bu da if-else'li hali.
 
Son düzenleme:
Zaten sonradan 15 yaptım ve if -else, else-if kısımlarını swtich-kase yapısı ile değiştirdim.

Çünkü bir if çalışırken diğerleri önemsenmez bu yüzden değiştirdim eğer kod düzgün çalışmazsa eski haline döndürebilirim.

Hem çok fazla if olunca kod yavaşlıyor.

C++:
//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.

#define TRIG_PIN 3 // HC-SR04 trig pini 3 numaralı pine atandı.
#define ECHO_PIN 2 // HC-SR04 echo pini 2 numaralı pine atandı.

//HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
void mesafe_olcumu()
{
 digitalWrite(TRIG_PIN, 1);
 delayMicroseconds(10);
 digitalWrite(TRIG_PIN, 0);

 int sure = pulseIn(ECHO_PIN, 1);

 int mesafe = (sure / 2) / 29.1;

 if (mesafe < 15)
 state = 'S';

 Serial.print("Mesafe= ");
 Serial.println(mesafe);
}

void setup() {
 // Pinlerimizi belirleyelim.
 pinMode(motorA1, OUTPUT);
 pinMode(motorA2, OUTPUT);
 pinMode(motorB1, OUTPUT);
 pinMode(motorB2, OUTPUT);
 pinMode(ECHO_PIN, INPUT);
 pinMode(TRIG_PIN, 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(BTState)==LOW) { state='S'; }

 //HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
 mesafe_olcumu();

 //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ı)*/
 switch (state)
 {

 case 0:

 vSpeed = 0;

 break;

 case 1:

 vSpeed = 100;

 break;

 case 2:

 vSpeed = 180;

 break;

 case 3:

 vSpeed = 200;

 break;

 case 4:

 vSpeed = 255;

 break;

 }
 // state değerine göre araç yönü değişir.
 switch (state)
 {

 /***********************İleri****************************/
 //Gelen veri 'F' ise araba ileri gider.
 case 'F':

 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

 break;

 /**********************İleri Sol************************/
 //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
 case 'G':

 analogWrite(motorA1, vSpeed ); analogWrite(motorA2, 0);
 analogWrite(motorB1, 100); analogWrite(motorB2, 0);

 break;
 /**********************İleri Sağ************************/
 //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
 case 'I':

 analogWrite(motorA1, 100); analogWrite(motorA2, 0);
 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

 break;
 /***********************Geri****************************/
 //Gelen veri 'B' ise araba geri gider.
 case 'B':

 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

 break;
 /**********************Geri Sol************************/
 //Gelen veri 'H' ise araba geri sol(çapraz) gider.
 case 'H':

 analogWrite(motorA1, 0); analogWrite(motorA2, 100);
 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

 break;
 /**********************Geri Sağ************************/
 //Gelen veri 'J' ise araba geri sağ(çapraz) gider.
 case 'J':

 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
 analogWrite(motorB1, 0); analogWrite(motorB2, 100);

 break;
 /***************************Sol*****************************/
 //Gelen veri 'L' ise araba sola gider.
 case 'L':

 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
 analogWrite(motorB1, 0); analogWrite(motorB2, 0);

 break;
 /***************************Sağ*****************************/
 //Gelen veri 'R' ise araba sağa gider.
 case 'R':

 analogWrite(motorA1, 0); analogWrite(motorA2, 0);
 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);

 break;
 /************************Stop*****************************/
 //Gelen veri 'S' ise arabayı durdur.
 case 'S':
 analogWrite(motorA1, 0); analogWrite(motorA2, 0);
 analogWrite(motorB1, 0); analogWrite(motorB2, 0);

 break;
 }
}

C++:
//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.

#define TRIG_PIN 3 // HC-SR04 trig pini 3 numaralı pine atandı.
#define ECHO_PIN 2 // HC-SR04 echo pini 2 numaralı pine atandı.

//HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
void mesafe_olcumu()
{
 digitalWrite(TRIG_PIN, 1);
 delayMicroseconds(10);
 digitalWrite(TRIG_PIN, 0);

 int sure = pulseIn(ECHO_PIN, 1);

 int mesafe = (sure / 2) / 29.1;

 if (mesafe < 15)
 state = 'S';

 Serial.print("Mesafe= ");
 Serial.println(mesafe);
}

void setup() {
 // Pinlerimizi belirleyelim.
 pinMode(motorA1, OUTPUT);
 pinMode(motorA2, OUTPUT);
 pinMode(motorB1, OUTPUT);
 pinMode(motorB2, OUTPUT);
 pinMode(ECHO_PIN, INPUT);
 pinMode(TRIG_PIN, 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(BTState)==LOW) { state='S'; }

 //HC-SR04 ile mesafeyi ölç ve seri monitöre yazdır. Eğer mesafe 15cm den küçükse state değerini S yap ve aracı durdur!
 mesafe_olcumu();

 //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);
 }
}

Bu da if-else'li hali.

Switch kase olan kodu kullanınca HC-SR04 sorunsuz çalışmakta ancak araç komutları geç işlemekte yani ben ileri komutu verdiğimde 500ms gibi bir süre bekleme yapıyor ve hatalı motorlar çalışıyor else if olanı deneyeceğim şimdi.
 
Direkt kopyala yapıştır yaptım motor kısımlarını.

Switch kase olan kodu kullanınca HC-SR04 sorunsuz çalışmakta ancak araç komutları geç işlemekte yani ben ileri komutu verdiğimde 500ms gibi bir süre bekleme yapıyor ve hatalı motorlar çalışıyor else if olanı deneyeceğim şimdi.

Bunu 15Cm'ye gelip durduktan sonra mı yaptınız, eğer öyle yaptıysanız 15Cm'ye gelince durması için yazdığım If'den dolayı olabilir çünkü if çalışırken diğerleri pek önemsenmez.
 
Direkt kopyala yapıştır yaptım motor kısımlarını.

Bunu 15Cm'ye gelip durduktan sonra mı yaptınız, eğer öyle yaptıysanız 15Cm'ye gelince durması için yazdığım ıf'den dolayı olabilir çünkü if çalışırken diğerleri pek önemsenmez.

Hayır 15Cm'den uzak bir mesafeye bakıyordu sensör.
 
Direkt kopyala yapıştır yaptım motor kısımlarını.

Bunu 15Cm'ye gelip durduktan sonra mı yaptınız, eğer öyle yaptıysanız 15Cm'ye gelince durması için yazdığım ıf'den dolayı olabilir çünkü if çalışırken diğerleri pek önemsenmez.

İf olan kodu denedim motorlar çalışıyor ama nedense araç takılarak gidiyor ve kendi kendine yön değiştirme gibi hareketler yapıyor HC05 ile telefon bağlantısı gecikmeli gidiyor gibi sorunları var neden anlamadım.

İf olan kodu denedim motorlar çalışıyor ama nedense araç takılarak gidiyor ve kendi kendine yön değiştirme gibi hareketler yapıyor HC05 ile telefon bağlantısı gecikmeli gidiyor gibi sorunları var neden anlamadım.

İf else de bariz gecikme var ve bazen hatalı hareketler yapıyor çok garip.
 
İf olan kodu denedim motorlar çalışıyor ama nedense araç takılarak gidiyor ve kendi kendine yön değiştirme gibi hareketler yapıyor HC05 ile telefon bağlantısı gecikmeli gidiyor gibi sorunları var neden anlamadım.

İf else de bariz gecikme var ve bazen hatalı hareketler yapıyor çok garip.

Aracın takılarak gitmesi güçten kaynaklı olabilir belki.

İf olan kodu denedim motorlar çalışıyor ama nedense araç takılarak gidiyor ve kendi kendine yön değiştirme gibi hareketler yapıyor HC05 ile telefon bağlantısı gecikmeli gidiyor gibi sorunları var neden anlamadım.

İf else de bariz gecikme var ve bazen hatalı hareketler yapıyor çok garip.

İf-else'de sürekli If'lere bakıp duruyor o yüzdendir, çok fazla if kullanmak kodda yavaşlamaya yol açıyor.
 

Geri
Yukarı