Şimdi Ara

bluetoothlu araba lcd ekran ekleyince çalışmıyor

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
0
Favori
624
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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);

    }



    }







  • Delayları kaldır.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • kodun hepsi bu mu? Bir de led veya lcd bağlamadığınız zaman, istediğiniz gibi mi gidiyor?
  • kaskas123 kullanıcısına yanıt
    Evet kod bu kadar.
    LCD ekran yok iken isteğim şekilde gidiyor.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • hangi bluetooth modülünü kullanıyorsunuz? LCD'i yokken hız kontrolü yapabiliyor musunuz? son olarak devrenin çizimi varsa gönderiri misiniz?
  • kaskas123 kullanıcısına yanıt
    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ı >
  • Adam yukarıda delayları kaldır demiş. Neyse bunu da okumazsın zaten.
  • elektro_gadget_ E kullanıcısına yanıt
    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ı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.