HC05 Bluetooth Modülü ile 2wd Araba kontrolü  

 

// www.robotikhoca.com

const int sagileri = 5; // L298N'in IN1 Girişi
const int saggeri = 6; // L298N'in IN2 Girişi
const int solgeri = 9; // L298N'in IN3 Girişi
const int solileri = 10; // 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 durum; //Bluetooth cihazından gelecek sinyalin değişkeni
int Hiz=255; // Standart Hız, 0-255 arası bir değer alabilir

void setup() {
pinMode(sagileri, OUTPUT);
pinMode(saggeri, OUTPUT);
pinMode(solileri, OUTPUT);
pinMode(solgeri, OUTPUT);
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(BTdurum)==LOW) { durum='S'; }

//Gelen veriyi 'durum' değişkenine kaydet
if(Serial.available() > 0){
durum = Serial.read();
}


if (durum == '0'){
Hiz=0;}
else if (durum == '1'){
Hiz=25;}
else if (durum == '2'){
Hiz=50;}
else if (durum == '3'){
Hiz=75;}
else if (durum == '4'){
Hiz=100;}
else if (durum == '5'){
Hiz=125;}
else if (durum == '6'){
Hiz=150;}
else if (durum == '7'){
Hiz=175;}
else if (durum == '8'){
Hiz=200;}
else if (durum == '9'){
Hiz=225;}
else if (durum == 'q'){
Hiz=255;}

/***** 'F' ileri gider. *****/
if (durum == 'F') {
analogWrite(sagileri, Hiz); analogWrite(saggeri, 0);
analogWrite(solileri, Hiz); analogWrite(solgeri, 0);
}
/***** 'B' Geri gider. *****/
else if (durum == 'B') {
analogWrite(sagileri, 0); analogWrite(saggeri, Hiz);
analogWrite(solileri, 0); analogWrite(solgeri, Hiz);
}

/***** 'R' Saga döner *****/
else if (durum == 'R') {
analogWrite(sagileri, 0); analogWrite(saggeri, Hiz);
analogWrite(solileri, Hiz); analogWrite(solgeri, 0);
}
/***** 'L' Sola döner *****/
else if (durum == 'L') {
analogWrite(sagileri, Hiz); analogWrite(saggeri, 0);
analogWrite(solileri, 0) ; analogWrite(solgeri, Hiz);
}

/***** 'I' ileri Saga döner *****/
else if (durum == 'I') {
analogWrite(sagileri, 0); analogWrite(saggeri, 0);
analogWrite(solileri, Hiz); analogWrite(solgeri, 0);
}
/***** 'G' ileri Sola döner *****/
else if (durum == 'G') {
analogWrite(sagileri, Hiz); analogWrite(saggeri, 0);
analogWrite(solileri, 0) ; analogWrite(solgeri, 0);
}

/***** 'J' geri Saga döner *****/
else if (durum == 'J') {
analogWrite(sagileri, 0); analogWrite(saggeri, 0);
analogWrite(solileri, 0); analogWrite(solgeri, Hiz);
}
/***** 'H' geri Sola döner *****/
else if (durum == 'H') {
analogWrite(sagileri, 0); analogWrite(saggeri, Hiz);
analogWrite(solileri, 0) ; analogWrite(solgeri, 0);
}

 

/********************* Dur ************************/
else if (durum == 'S'){
analogWrite(sagileri, 0); analogWrite(saggeri, 0);
analogWrite(solileri, 0); analogWrite(solgeri, 0);
}

}