bluetooth kontrollü çizgi izleyen robot- acil yardım lazım

Kodla Büyü

hubulu

Üye
Mesajlar
12
bluetooth kontrollü çizgi izleyen robot yapmaya çalışıyoruz. kodlamayı da yaptık. fakat kodlama bir türlü istediğimiz sonucu vermedi. sizlerden acil yardım bekliyorum. while döngülerinden bir türlü çıkaramıyoruz robotu. öne doğru bluetooth'dan komutla(x) gidiyor.öne doğru giderken geriye yönlendirmemiz de gerekiyor istediğimizde; fakat (g) ile geriye yönelmesi gerekirken while döngüsünden çıkıp geriye yönelmiyor. anlayanlar için kodları yolluyorum. yardımcı olursanız çok sevinirim.


#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX"

const int sag_i = 4; // motor sürücü ve sensör pinleri tanımlandı
const int sag_g = 5;
const int sol_i = 7;
const int sol_g = 6;
const int sol_sensor = 2;
const int sag_sensor = 3;
int sol_durum, sag_durum;


void setup(){
mySerial.begin(9600);
mySerial.println("LED uygulaması");

pinMode(sag_i, OUTPUT);
pinMode(sag_g, OUTPUT);
pinMode(sol_i, OUTPUT);
pinMode(sol_g, OUTPUT);

pinMode(sag_sensor, INPUT);
pinMode(sol_sensor, INPUT);
}

void loop(){

char ch = mySerial.read();
sol_durum = digitalRead(sol_sensor);
sag_durum = digitalRead(sag_sensor);





do
{
char ch = mySerial.read();

sol_durum = digitalRead(sol_sensor);
sag_durum = digitalRead(sag_sensor);


if (sol_durum == LOW && sag_durum == LOW)
{
digitalWrite(sag_i, HIGH);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, HIGH);
digitalWrite(sol_g, LOW);
}
else if (sol_durum == LOW && sag_durum == HIGH)
{
digitalWrite(sag_i, HIGH);
digitalWrite(sag_g, HIGH);
digitalWrite(sol_i, HIGH);
digitalWrite(sol_g, LOW);
}
else if (sol_durum == HIGH && sag_durum == LOW)
{
digitalWrite(sag_i, HIGH);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, HIGH);
digitalWrite(sol_g, HIGH);
}
else
{
digitalWrite(sag_i, LOW);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, LOW);
digitalWrite(sol_g, LOW);
}
delay(25);
digitalWrite(sag_i, LOW);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, LOW);
digitalWrite(sol_g, LOW);
delay(50);
mySerial.println("araç goturludu");



}
while(ch=='x');




do
{

char ch = mySerial.read();

sol_durum = digitalRead(sol_sensor);
sag_durum = digitalRead(sag_sensor);


if (sol_durum == LOW && sag_durum == LOW)
{
digitalWrite(sag_i, LOW);
digitalWrite(sag_g, HIGH);
digitalWrite(sol_i, LOW);
digitalWrite(sol_g, HIGH);
}
else if (sol_durum == LOW && sag_durum == HIGH)
{
digitalWrite(sag_i, HIGH);
digitalWrite(sag_g, HIGH);
digitalWrite(sol_i, HIGH);
digitalWrite(sol_g, LOW);
}
else if (sol_durum == HIGH && sag_durum == LOW)
{
digitalWrite(sag_i, HIGH);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, HIGH);
digitalWrite(sol_g, HIGH);
}
else
{
digitalWrite(sag_i, LOW);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, LOW);
digitalWrite(sol_g, LOW);
}
delay(25);
digitalWrite(sag_i, LOW);
digitalWrite(sag_g, LOW);
digitalWrite(sol_i, LOW);
digitalWrite(sol_g, LOW);
delay(50);

mySerial.println("Araç getirldi");

}
while(ch == 'g');
}
 
Hocam
while(ch == 'g');
{
......komutlar
}

while(ch == 'x');
{
......komutlar
}


Şeklinde dener misin? ??


Hatta while a gerek var mı emin olamadım. Genel bir öf yapısı işi çözer gibi.

If (ch=='x'){

...Komutlar

}

Gibi bişey yeterli
 
Geri
Üst