Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
7
Cevap
790
Tıklama
0
Öne Çıkarma
bluetoothlu araba lcd ekran ekleyince çalışmıyor
V
6 yıl (322 mesaj)
Teğmen
Konu Sahibi

Bluetooth kontrollü arabaya lcd ekran veya led eklemek istediğimde araç hareket etmiyor. Aslında ediyor ama telefondaki uygulamadan ileri git dedikten 6 dakika sonra araba ileri girmeye başlıyor. Hata nerededir? Kodlar aşağıda. Arduinoya yeni başladım.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);


//L298N Bağlantısı
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


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






void setup() {
lcd.begin();

// Pinlerimizi belirleyelim
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);


// 9600 baud hızında bir seri port açalım
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(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 == 'F') {
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 == '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 == '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 == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
/***************************Sağ*****************************/
//Gelen veri 'R' ise araba sağa gider
else if (state == 'R') {
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);
}
{
lcd.home();
lcd.print("TATLIDIR AMA SERTTIR");
lcd.setCursor(0,1);
lcd.print("ANKARAMIZ BASKENTTİR");
delay (500);
lcd.clear ();
delay (500);

}



}



S
6 yıl (1840 mesaj)
Binbaşı

Delayları kaldır.



< Bu ileti mini sürüm kullanılarak atıldı >

K
6 yıl (3821 mesaj)
Yarbay

kodun hepsi bu mu? Bir de led veya lcd bağlamadığınız zaman, istediğiniz gibi mi gidiyor?


Bu mesaja 1 cevap geldi.
V
6 yıl (322 mesaj)
Teğmen
Konu Sahibi

Evet kod bu kadar.
LCD ekran yok iken isteğim şekilde gidiyor.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @kaskas123
K
6 yıl (3821 mesaj)
Yarbay

hangi bluetooth modülünü kullanıyorsunuz? LCD'i yokken hız kontrolü yapabiliyor musunuz? son olarak devrenin çizimi varsa gönderiri misiniz?


Bu mesaja 1 cevap geldi.
V
6 yıl (322 mesaj)
Teğmen
Konu Sahibi

HC05 ve HC06 modellerini kullandım.
Devreyi aşağıdaki linkte verilen siteden yaptım.
Cepten yazıyorum link şeklinde ekleyemedim.

http://blog.ikizsoft.com/index.php/2017/10/12/arduino-ile-bluetooth-kontrollu-arac-yapimi/



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @kaskas123
E
6 yıl (40 mesaj)
Onbaşı

Adam yukarıda delayları kaldır demiş. Neyse bunu da okumazsın zaten.


Bu mesaja 1 cevap geldi.
V
6 yıl (322 mesaj)
Teğmen
Konu Sahibi

Okumadığı mı kim söyledi? LED ile de yaptım. Delay komutu yoktu. Yine aynı sorun vardı.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @elektro_gadget_
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.