HDDKullanıyorum
Hectopat
- Katılım
- 7 Şubat 2021
- Mesajlar
- 840
- Çözümler
- 2
Daha fazla
- Cinsiyet
- Erkek
C++: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. //HC SR04 PİN ATAMALARI. const int echopin = 11; const int trigpin = 12; 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. int BTState; int mesafe_olcumu() { long sure, mesafe; digitalWrite(trigpin, LOW); delayMicroseconds(2); digitalWrite(trigpin, HIGH); delayMicroseconds(10); digitalWrite(trigpin, LOW); sure = pulseIn(echopin, HIGH); mesafe = sure / 29.1 / 2; delay(50); return (mesafe); } void setup() { // Pinlerimizi belirleyelim. pinMode(52, OUTPUT); pinMode(motorA1, OUTPUT); pinMode(motorA2, OUTPUT); pinMode(motorB1, OUTPUT); pinMode(motorB2, OUTPUT); pinMode(echopin, INPUT); pinMode(trigpin, OUTPUT); // 9600 baud hızında bir seri port açalım. Serial.begin(9600); } void loop() { int mesafe = mesafe_olcumu(); Serial.println(mesafe); //Gelen veriyi 'state' değişkenine kaydet. if (Serial.available() > 0) state = Serial.read(); else if (digitalRead(BTState) == LOW) { state = 'S'; } /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/ else 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. else if (state == 'F') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); digitalWrite(52, HIGH); digitalWrite(52, LOW); } /**********************İleri Sol************************/ //Gelen veri 'G' ise araba ileri sol(çapraz) gider. else if (state == 'I') { analogWrite(motorA1, vSpeed ); analogWrite(motorA2, 0); analogWrite(motorB1, 100); analogWrite(motorB2, 0); digitalWrite(52, HIGH); digitalWrite(52, LOW); } /**********************İleri Sağ************************/ //Gelen veri 'I' ise araba ileri sağ(çapraz) gider. else if (state == 'G') { analogWrite(motorA1, 100); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); digitalWrite(52, HIGH); digitalWrite(52, LOW); } /***********************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 == 'J') { 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 == 'H') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, 100); } /***************************Sol*****************************/ //Gelen veri 'L' ise araba sola gider. else if (state == 'R') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } /***************************Sağ*****************************/ //Gelen veri 'R' ise araba sağa gider. else if (state == 'L') { 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 kodda hata yok, atanmayan değişkenleri atadım koda bakarak falan ama bir bakın çalışıyor mu? Eksik olabilir kodda fazla parantez hatası vardı.
Hcsr04'ten veri alabiliyorum ancak aracın motorları hareket etmiyor hocam.