- Katılım
- 24 Şubat 2018
- Mesajlar
- 24,130
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.
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);
}
}
}