Çözüldü Arduino kodundaki hata nasıl çözülür?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

HDDKullanıyorum

Hectopat
Katılım
7 Şubat 2021
Mesajlar
828
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Merhaba, Arduino üzerinde Bluetooth kontrollü ve hcsr04 ile mesafe ölçen bir araç geliştiriyorum ancak kodda hata alıyorum hatanın sebebi nedir?
Hata: 'mesafe_olcumu' was not declared in this scope.

Kod:
//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298N Bağlantısı
 const int motorA1 = 5; // L298N'in IN3 Girişi.
 const int motorA2 = 7; // L298N'in IN1 Girişi.
 const int motorB1 = 6; // L298N'in IN2 Girişi.
 const int motorB2 = 4; // L298N'in IN4 Girişi.
 const int trigpin = 8;
 const int echopin = 9;

 int i=0;
 int j=0;
 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() {

 pinMode(motorA1, OUTPUT);
 pinMode(motorA2, OUTPUT);
 pinMode(motorB1, OUTPUT);
 pinMode(motorB2, OUTPUT);

 Serial.begin(9600);
}

void loop() {
 int mesafe = mesafe_olcumu ();

int mesafe_olcumu();
Serial.println(mesafe);

}
{
 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);
 if(digitalRead(BTState)==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 == 'L') {
 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 == 'I') {
 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 == 'F') {
 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
 analogWrite(motorB1, 0); analogWrite(motorB2, 0);
 }
 /***************************Sağ*****************************/
 //Gelen veri 'R' ise araba sağa gider.
 else if (state == 'B') {
 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);
 }
}
 
Çözüm
//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298N Bağlantısı
const int motorA1 = 5; // L298N'in IN3 Girişi.
const int motorA2 = 7; // L298N'in IN1 Girişi.
const int motorB1 = 6; // L298N'in IN2 Girişi.
const int motorB2 = 4; // L298N'in IN4 Girişi.
const int trigpin = 8;
const int echopin = 9;

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() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(9600);
}

void loop() {
int mesafe = mesafe_olcumu();
Serial.println(mesafe);

if (Serial.available() > 0) {
state = Serial.read();
}

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

if (state == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'G') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, 100); analogWrite(motorB2, 0);
} else if (state == 'I') {
analogWrite(motorA1, 100); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'B') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'H') {
analogWrite(motorA1, 0); analogWrite(motorA2, 100);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'J') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, 100);
} else if (state == 'F') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
} else if (state == 'R') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
} else if (state == 'S') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
}

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

Hatanın gitmiş olması lazım.
Hocam bu hata, mesafe_olcumu fonksiyonunun loop fonksiyonu içinde çağrılmadan önce bildirmişsin:
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;
}
Bide bu şekilde dener misiniz.
 
Hocam bu hata, mesafe_olcumu fonksiyonunun loop fonksiyonu içinde çağrılmadan önce bildirmişsin:
İnt mesafe_olcumu() {
Long sure, mesafe;
Digitalwrite(trigpin, Low);
Delaymicroseconds(2);
Digitalwrite(trigpin, hıgh);
Delaymicroseconds(10);
Digitalwrite(trigpin, Low);
Sure = pulseın(echopin, hıgh);
Mesafe = sure / 29.1 / 2;
Delay(50);
Return mesafe;
}
Bir de bu şekilde dener misiniz?

Maalesef aynı hata devam ediyor ya da ben düzgün düzeltmeyi yapamadım kodun içerisinde bu kısmı ekleyerek paylaşabilir misiniz hocam?
 
Hocam bunu denermisin.
const int motorA1 = 5; // L298N'in IN3 Girişi.
const int motorA2 = 7; // L298N'in IN1 Girişi.
const int motorB1 = 6; // L298N'in IN2 Girişi.
const int motorB2 = 4; // L298N'in IN4 Girişi.
const int trigpin = 8;
const int echopin = 9;
char state; //Bluetooth cihazından gelecek sinyalin değişkeni.
int vSpeed = 255; // Standart Hız, 0-255 arası bir değer alabilir.

void setup() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(9600);
}

void loop() {
int mesafe = mesafe_olcumu();
Serial.println(mesafe);

// Bluetooth sinyali kontrol etme kısmı.
if (Serial.available() > 0) {
state = Serial.read();
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;
}
// Yön kontrolü
else if (state == 'F') { // Sola dönme
analogWrite(motorA1, vSpeed);
analogWrite(motorA2, 150);
analogWrite(motorB1, 0);
analogWrite(motorB2, 0);
} else if (state == 'B') { // Sağa dönme
analogWrite(motorA1, 0);
analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed);
analogWrite(motorB2, 150);
} else if (state == 'L') { // İleri
analogWrite(motorA1, vSpeed);
analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed);
analogWrite(motorB2, 0);
} else if (state == 'G') { // İleri sol
analogWrite(motorA1, vSpeed);
analogWrite(motorA2, 0);
analogWrite(motorB1, 100);
analogWrite(motorB2, 0);
} else if (state == 'I') { // İleri sağ
analogWrite(motorA1, 100);
analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed);
analogWrite(motorB2, 0);
} else if (state == 'R') { // Geri
analogWrite(motorA1, 0);
analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0);
analogWrite(motorB2, vSpeed);
} else if (state == 'H') { // Geri sol
analogWrite(motorA1, 0);
analogWrite(motorA2, 100);
analogWrite(motorB1, 0);
analogWrite(motorB2, vSpeed);
} else if (state == 'J') { // Geri sağ
analogWrite(motorA1, 0);
analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0);
analogWrite(motorB2, 100);
} else if (state == 'S') { // Durma
analogWrite(motorA1, 0);
analogWrite(motorA2, 0);
analogWrite(motorB1, 0);
analogWrite(motorB2, 0);
}
}
}

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);
}
 
//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298N Bağlantısı
const int motorA1 = 5; // L298N'in IN3 Girişi.
const int motorA2 = 7; // L298N'in IN1 Girişi.
const int motorB1 = 6; // L298N'in IN2 Girişi.
const int motorB2 = 4; // L298N'in IN4 Girişi.
const int trigpin = 8;
const int echopin = 9;

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() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(9600);
}

void loop() {
int mesafe = mesafe_olcumu();
Serial.println(mesafe);

if (Serial.available() > 0) {
state = Serial.read();
}

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

if (state == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'G') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, 100); analogWrite(motorB2, 0);
} else if (state == 'I') {
analogWrite(motorA1, 100); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'B') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'H') {
analogWrite(motorA1, 0); analogWrite(motorA2, 100);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'J') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, 100);
} else if (state == 'F') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
} else if (state == 'R') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
} else if (state == 'S') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
}

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

Hatanın gitmiş olması lazım.
 
Çözüm
//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298n bağlantısı.
Const int motora1 = 5; // L298N'in IN3 girişi.
Const int motora2 = 7; // L298N'in IN1 girişi.
Const int motorb1 = 6; // L298N'in IN2 girişi.
Const int motorb2 = 4; // L298N'in IN4 girişi.
Const int trigpin = 8;
Const int echopin = 9;

İnt state; //bluetooth cihazından gelecek sinyalin değişkeni.
İnt vspeed = 255; // standart hız, 0-255 arası bir değer alabilir.

Void setup() {
Pinmode(motora1, output);
Pinmode(motora2, output);
Pinmode(motorb1, output);
Pinmode(motorb2, output);
Pinmode(trigpin, output);
Pinmode(echopin, ınput);
Serial. Begin(9600);
}

Void loop() {
İnt mesafe = mesafe_olcumu();
Serial. Println(mesafe);

İf (Serial.available() > 0) {
State = Serial.read();
}

İf (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;
}

İf (state == 'l') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 0);
} Else if (state == 'g') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 0);
Analogwrite(motorb1, 100); analogwrite(motorb2, 0);
} Else if (state == 'ı') {
Analogwrite(motora1, 100); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 0);
} Else if (state == 'b') {
Analogwrite(motora1, 0); analogwrite(motora2, vspeed);
Analogwrite(motorb1, 0); analogwrite(motorb2, vspeed);
} Else if (state == 'h') {
Analogwrite(motora1, 0); analogwrite(motora2, 100);
Analogwrite(motorb1, 0); analogwrite(motorb2, vspeed);
} Else if (state == 'j') {
Analogwrite(motora1, 0); analogwrite(motora2, vspeed);
Analogwrite(motorb1, 0); analogwrite(motorb2, 100);
} Else if (state == 'F') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 150);
Analogwrite(motorb1, 0); analogwrite(motorb2, 0);
} Else if (state == 'r') {
Analogwrite(motora1, 0); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 150);
} Else if (state == 's') {
Analogwrite(motora1, 0); analogwrite(motora2, 0);
Analogwrite(motorb1, 0); analogwrite(motorb2, 0);
}
}

İnt mesafe_olcumu() {
Long sure, mesafe;
Digitalwrite(trigpin, Low);
Delaymicroseconds(2);
Digitalwrite(trigpin, hıgh);
Delaymicroseconds(10);
Digitalwrite(trigpin, Low);
Sure = pulseın(echopin, hıgh);
Mesafe = sure / 29.1 / 2;
Delay(50);
Return mesafe;
}

Hatanın gitmiş olması lazım.

Teşekkür ederim kod derlendi şimdi araç üzerinde test edip sonucu yazacağım.
 
Projenizde başarılar dilerim yardım gerekirse elimden geldiği kadar yardım ederim.
 
Projenizde başarılar dilerim yardım gerekirse elimden geldiği kadar yardım ederim.

Bazen 994-993 gibi hatalı ölçümler olsa da gayet güzel çalıştı şimdi bu değerlere göre aracın durması komudunu ekleyeceğim teşekkürler.

Projenizde başarılar dilerim yardım gerekirse elimden geldiği kadar yardım ederim.

Hocam bahsettiğim eklemeyi yaptım ancak tekrardan hata alıyorum nasıl çözebilirim?
Hata: Expected unqualified-ID before 'if'.

Kod:
//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298N Bağlantısı.
const int motorA1 = 5; // L298N'in IN3 Girişi.
const int motorA2 = 7; // L298N'in IN1 Girişi.
const int motorB1 = 6; // L298N'in IN2 Girişi.
const int motorB2 = 4; // L298N'in IN4 Girişi.
const int trigpin = 8;
const int echopin = 9;

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() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(9600);
}

void loop() {
int mesafe = mesafe_olcumu();
Serial.println(mesafe);

if (Serial.available() > 0) {
state = Serial.read();
}

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

if (state == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'G') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, 100); analogWrite(motorB2, 0);
} else if (state == 'I') {
analogWrite(motorA1, 100); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'B') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'H') {
analogWrite(motorA1, 0); analogWrite(motorA2, 100);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'J') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, 100);
} else if (state == 'F') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
} else if (state == 'R') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
} else if (state == 'S') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
}

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;
}
if (mesafe <= 20){
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
delay(300);
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
 
Son düzenleme:
Hocam kusura bakma loop içine atma C++'da olmuyor hemen düzeltip atıyorum.

//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298N Bağlantısı
const int motorA1 = 5; // L298N'in IN3 Girişi.
const int motorA2 = 7; // L298N'in IN1 Girişi.
const int motorB1 = 6; // L298N'in IN2 Girişi.
const int motorB2 = 4; // L298N'in IN4 Girişi.
const int trigpin = 8;
const int echopin = 9;

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() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(9600);
}

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 loop() {
int mesafe = mesafe_olcumu();
Serial.println(mesafe);

if (Serial.available() > 0) {
state = Serial.read();
}

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

if (state == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'G') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, 100); analogWrite(motorB2, 0);
} else if (state == 'I') {
analogWrite(motorA1, 100); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
} else if (state == 'B') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'H') {
analogWrite(motorA1, 0); analogWrite(motorA2, 100);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
} else if (state == 'J') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, 100);
} else if (state == 'F') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
} else if (state == 'R') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
} else if (state == 'S') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
}
 
Hocam kusura bakma loop içine atma C++'da olmuyor hemen düzeltip atıyorum.

//Bluetooth kontrollü hcsr04 sensörlü araç projesi.

//L298n bağlantısı.
Const int motora1 = 5; // L298N'in IN3 girişi.
Const int motora2 = 7; // L298N'in IN1 girişi.
Const int motorb1 = 6; // L298N'in IN2 girişi.
Const int motorb2 = 4; // L298N'in IN4 girişi.
Const int trigpin = 8;
Const int echopin = 9;

İnt state; //bluetooth cihazından gelecek sinyalin değişkeni.
İnt vspeed = 255; // standart hız, 0-255 arası bir değer alabilir.

Void setup() {
Pinmode(motora1, output);
Pinmode(motora2, output);
Pinmode(motorb1, output);
Pinmode(motorb2, output);
Pinmode(trigpin, output);
Pinmode(echopin, ınput);
Serial. Begin(9600);
}

İnt mesafe_olcumu() {
Long sure, mesafe;
Digitalwrite(trigpin, Low);
Delaymicroseconds(2);
Digitalwrite(trigpin, hıgh);
Delaymicroseconds(10);
Digitalwrite(trigpin, Low);
Sure = pulseın(echopin, hıgh);
Mesafe = sure / 29.1 / 2;
Delay(50);
Return mesafe;
}

Void loop() {
İnt mesafe = mesafe_olcumu();
Serial. Println(mesafe);

İf (Serial.available() > 0) {
State = Serial.read();
}

İf (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;
}

İf (state == 'l') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 0);
} Else if (state == 'g') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 0);
Analogwrite(motorb1, 100); analogwrite(motorb2, 0);
} Else if (state == 'ı') {
Analogwrite(motora1, 100); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 0);
} Else if (state == 'b') {
Analogwrite(motora1, 0); analogwrite(motora2, vspeed);
Analogwrite(motorb1, 0); analogwrite(motorb2, vspeed);
} Else if (state == 'h') {
Analogwrite(motora1, 0); analogwrite(motora2, 100);
Analogwrite(motorb1, 0); analogwrite(motorb2, vspeed);
} Else if (state == 'j') {
Analogwrite(motora1, 0); analogwrite(motora2, vspeed);
Analogwrite(motorb1, 0); analogwrite(motorb2, 100);
} Else if (state == 'F') {
Analogwrite(motora1, vspeed); analogwrite(motora2, 150);
Analogwrite(motorb1, 0); analogwrite(motorb2, 0);
} Else if (state == 'r') {
Analogwrite(motora1, 0); analogwrite(motora2, 0);
Analogwrite(motorb1, vspeed); analogwrite(motorb2, 150);
} Else if (state == 's') {
Analogwrite(motora1, 0); analogwrite(motora2, 0);
Analogwrite(motorb1, 0); analogwrite(motorb2, 0);
}
}

Hocam aslında ilk paylaştığınız kodda hata yoktu ben bu koda aracı durdurma ve geri gelmesini sağlamak için olan bloğu ekleyince hata oluştu benim paylaştığım kodda en alt kısım.
 

Yeni konular

Geri
Yukarı