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');
}
#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');
}