Arduino NANO sorunu

Kodu daha düzenli ve belli bir formata uygun olarak yazmaya çalış. Böylece okunabilirliği senin için de daha kolay olur, problemleri görmen kolaylaşır. Derleyici çok daha dağınığını sorunsuz derler, ama biz insanlar kavramakta zorluk çekeriz.

Gereksiz şeyleri çıkardım ve biraz formatlama yaptım. Bir de ana döngüde mesaj gelmese bile tekrar tekrar dosya çalmaya çalışıyorsun. Sorun bu değil ama sonuç vermesi mümkün olmayan bir işi sürekli yaptırmaya çalışıyorsun. Sadece bluetooth'dan mesaj gelirse çalmayı başlatmak lazım.

Bu yapıya göre eğer ilk dosya çalıyor diğerleri çalmıyorsa sorun muhtemelen bluetooth kaynaklı. Koddaki herşeyi çıkar, sadece bluetooth kalsın. Sonra da bluetooth'dan istediğin mesajı alana kadar debug et. Sorunu çözdükten sonra player kodunu ekle. Problem çözerken her zaman bu metodu kullan. Önce çalışan en asgari yapılandırmayı bul, sonra yavaş yavaş eklemeler yap. Bu şekilde sorunu daraltmış olursun.

Kod:
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

SoftwareSerial Bluetooth(13, 12);       // HC-05 Bluetooth - RX (13) - TX (12)
SoftwareSerial SesCalarModulu(3, 2);    // Df player       - RX (3) - TX (2)

DFRobotDFPlayerMini Ses_calar;

String Gelen_mesaj = "", Gelen_bilgi = "";

//==============================================================

void setup()
{
    Bluetooth.begin(9600);
    delay(2000);

    Serial.begin(9600);
    delay(2000);

    SesCalarModulu.begin(9600);
    delay(2000);

    Serial.println("Bluetooth test-2");

    if (Ses_calar.begin(SesCalarModulu) == 0)
    {
        Serial.println(F("Başlatılamıyor:"));
        Serial.println(F("1.Lütfen bağlantınızı kontrol ediniz!"));
        Serial.println(F("2.SD kartı takınız!"));

        while (true)
        {
            ;
        }
    }

    Ses_calar.play(62);
}

//==============================================================

void loop()
{
    Bluetooth.listen();

    if (Bluetooth.available() > 0)
    {
        Gelen_mesaj = Bluetooth.readString();
        Gelen_bilgi = Gelen_mesaj.substring(4, Gelen_mesaj.length());
        Serial.println(Gelen_bilgi);

        if (Gelen_bilgi == "nasılsın")
        {
            Ses_calar.play(63);
        }
        else if (Gelen_bilgi == "Hava nasıl oralarda")
        {
            Ses_calar.play(95);
        }
        else if (Gelen_bilgi == "hazır mısın")
        {
            Ses_calar.play(62);
        }
    }
}
 
Eğer problemi bulursan burada da paylaş başkaları da yararlansın :tamam2:
 
Arkadaşlar,

Sorunun çözümünü beklenmedik bir şekilde buldum :

Yazdığım kodda DFRobotDFPlayerMini.h kütüphanesini kullanmıştım. Aniden aklıma "acaba bu kütüphane devremdeki UNO, HC-5 veya DfPlayer ile uyumsuzluık mu gösteriyor" sorusu geldi. Internet'te tesadüfen rastladığım DFPlayerMini_Fast.h kütüphanesini koydum ve mükemmel çalıştı.

Mesaj yazarak katkı sağlayan tüm arkadaşlara teşekkür ediyorum.
 

Forum istatistikleri

Konular
7,446
Mesajlar
125,460
Üyeler
3,026
Son üye
hsng

Son kaynaklar

Son profil mesajları

Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Back
Top