Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
7
Cevap
791
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);

}



}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



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.