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.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
8,347
Mesajlar
137,034
Üyeler
3,310
Son üye
Sdt01

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top