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.

C++:
#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.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,944
Mesajlar
118,678
Üyeler
2,821
Son üye
Sfkzdmr

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top