Arduino NANO sorunu

Seapeace

Üye
Katılım
16 Ekim 2024
Mesajlar
10
İyi günler,

Bir projeyi önce Arduino UNO ile yaptım gayet iyi çalıştı, ancak aynı projeyi (az yer kaplaması açısından) NANO ile yaptığımda bir aksaklık çıktı. Proje şöyle :

Projede Bluetooth + NANO + KA 2284 + DfPlayer var. Cep telefonumdan Bluetooth ile bir string gönderdiğimde sistem DfPlayer'ın SD kartına yüklenmiş bir Mp3 dosyasını okuyor. İkinci stringi kabul etmiyor, sanki sistem donuyor, Serial ekrana da yazmıyor. UNO ile bunlar olmuyor, gayet iyi çalışıyor.

Böyle bir duruma rastlayan var mıdır ?
 
Başka bir nano ile denedin mi?
 
Bağlantı yaptığın bacakların başka fonksiyonlarını engelliyor olabilirsin. "Arduino Nano Pinouts" aramasını yap, kesme, zamanlama, iletişim bacaklarını kullanma. Kullanacaksan, programda bu bacakların fonksiyonlarını kapat.
 
Merhaba Gökhan Bey,

Evet, başka bir nano ile denedim ama sonuç değişmedi.
 
Merhaba Hakan78,

NANO'nun sadece Analog ve dijital pinleri ile Vin ve Gnd kullanıyorum.
 
Atladığınız bir yer olmalı. Zira MCU aynı. Pinleri, pull-up/down dirençleri kontrol ediniz.
 
Evet, atladığım bir yer var mutlaka ama bulamıyorum. Araştırmaya devam ediyorum. Kullandığım pinler şöyle : A4, A5, A6, A7 - 2, 3, 7, 8, 9, 10, 11, 12, 13 - Vin, GND.
Direnç olarak sadece DfPlayer'in Rx ve Tx pinlerine bağlı birer tane 1K direnç var (sesin cızırtısını yok ediyorlar).
 
13 numara, kart üzerindeki lede bağlı mesela. Led voltajı değiştirir. 2, 3 pinleri dış kesme pinleri, kodla kesme devre dışı bırakıldı mı?
A6, A7 dijital olarak kullanılamaz, sadece analog okuma için kullanılabilir.
Seri monitörde veri alabilmen için TX/RX pinleri başka seri karta bağlanamaz, bluetooth bu seri porta bağlıysa seri monitörün de açıksa zaten çalışmaz.
Pinleri kontrol et.
 
Son düzenleme:
Vin'den kaç volt giriyorsunuz?
Ek:
Vin -> En az 7V olmalı. Eğer 5V adaptör kullanıyorsanız, 5V pininden giriş yapmalısınız. Zira üzerinde bulunan 78M05'den 5V'dan daha düşük gerişim çıkar, Ayrıca diğer modüllerin kendi regülatörleri de bu düşük gerilime göre daha da düşük gerilimler üretir.
 
Son düzenleme:
Vin'den 5 Volt giriyorum. Sizin öneriniz üzerine değiştirdim, 5V pininden girmeye başladım ama sorun çözülmedi.
 
Evet, atladığım bir yer var mutlaka ama bulamıyorum. Araştırmaya devam ediyorum. Kullandığım pinler şöyle : A4, A5, A6, A7 - 2, 3, 7, 8, 9, 10, 11, 12, 13 - Vin, GND.
Direnç olarak sadece DfPlayer'in Rx ve Tx pinlerine bağlı birer tane 1K direnç var (sesin cızırtısını yok ediyorlar).
Analog pinleri 1 ma Data pinleride 20 ma sınırı var. Ölç hepsini . Fazla ise direnç bağla.
 
Kod şöyle :

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);

  while (!Serial) { ; }  // Ses çaları aktif hale getirmek

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

  //--------------------------------------------------------------

  SesCalarModulu.begin(9600);

    delay(2000);

    if (!Ses_calar.begin(SesCalarModulu))

    {

      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)

       {

         delay(0);

       }

    }

      Ses_calar.play(62); // Evet hazırım

      delay(1000);

      pinMode(A7, INPUT); // Busy pin of DfPlayer

}

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

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);}

}
 
Last edited by a moderator:
Kod şöyle :

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);

  while (!Serial) { ; }  // Ses çaları aktif hale getirmek

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

  //--------------------------------------------------------------

  SesCalarModulu.begin(9600);

    delay(2000);

    if (!Ses_calar.begin(SesCalarModulu))

    {

      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)

       {

         delay(0);

       }

    }

      Ses_calar.play(62); // Evet hazırım

      delay(1000);

      pinMode(A7, INPUT); // Busy pin of DfPlayer

}

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

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);}

}

C:
SoftwareSerial Bluetooth(13, 12);
13 numarada led bağlı, SoftwareSerial için kullanılamaz.

C:
pinMode(A7, INPUT); // Busy pin of DfPlayer
A7 pini dijital giriş olarak kullanılamaz.

Ses_calar ne? nerede tanımlandı? Kod içinde bu değişkenin tanımlaması yok.

Bu kod UNO üzerinde de çalışmaz.
Tavsiye: Daha basit bileşenlerle kodlama yeteneklerini geliştirmeye çalış. Hata ayıklama nasıl yapılır öğren, kullandığın kartın özelliklerini öğren.
 
C:
SoftwareSerial Bluetooth(13, 12);
13 numarada led bağlı, SoftwareSerial için kullanılamaz.
Lede bağlı olması neden engel oluyor?
C:
pinMode(A7, INPUT); // Busy pin of DfPlayer
A7 pini dijital giriş olarak kullanılamaz.
Dökümentasyona göre uno için kullanılabiliyormuş, nano da olmuyormuş. Hata bu olabilir.
Ses_calar ne? nerede tanımlandı? Kod içinde bu değişkenin tanımlaması yok.
9 numaralı satıra bakın.

@Hakan78 biraz daha kibar olabilirsin bence.


51. Satır falan biraz ilginç, kodu biraz daha sadeleştirip denemek lazım.

Kodun girişinde anlamadığım
 
Hatalarını belirtip, bilgi vermek kabalık oluyor demek,

Kodun önceki hali kayıtlı, kodu değiştirip buraya bak demek asıl kabalık, yalancılık, sahtekarlık. Bir şeyler öğrenmek istiyorsan önce kendine samimi ol, doğruları söyle. Kendini kandırarak, verilen tavsiyelere kulak asmayarak kendi kendine kabalık ediyorsun. Üslubunu değiştir.

25 senedir kod yazarım, senin gibi ukalalık yapan da çok gördüm.

Seri haberleşme yolunda led voltajı aşağı çeker, veri kanalını bozar.

Pin kullanımları için uyarıları cumartesi yazmışım. Samimi olup ben burayı bilmiyorum desen hem kendine hem bizlere karşı saygılı davranmış olurdun. Bizler kimseyi acemi, bilmiyor diye aşağılayan insanlar değiliz. Bilmemesine rağmen bizi aşağılıyorsa iş değişir.

Şimdi beklentim, ben bu işi öğrenmek istiyorum, bana yardımcı olun, özür dilerim demen ve hayatındaki bu koca ukalalık yanlışından dönerek gerçekten kendine faydalı olacak bir kişiliğe doğru evrilmendir. Bir özür ne seni kırar ne bizleri yüceltir. Biz halen olduğumuz yerde oluruz fakat sen epey yol kat etmiş, yükselmiş, kendini yüceltmiş olursun.
 
Tavsiye: Daha basit bileşenlerle kodlama yeteneklerini geliştirmeye çalış. Hata ayıklama nasıl yapılır öğren, kullandığın kartın özelliklerini öğren.
Birine karşı "öğren" demek aslında kötü olmasa da emir kipine girdiği için içimizdeki hırçın tarafı ortaya çıkartıyor. İnsanın "Sen kendine bak" diyesi geliyor.
O yüzden belki "öğrenebilirsin" veya "kartın özelliklerini detaylı incelemelisin" gibi daha yumuşak kelimeler / cümleler seçilebilir.

Konu sahibinin özür dileyecek bir yorumu olmadı. Sadece @clc "daha kibar olabilirsin" dedi ki bence bu da özür dileyecek bir durum içermiyor.
Bunu eleştiri olarak kabul edebilirsin. Yukarıda belirttiğim gibi kelimelerini / cümlelerini daha yumuşatarak cevaplayabilirsin konuları.

Bu konu amacını aşıp başka yerlere çekilmeye başlanmasın. Konun amacı dahilinde yorum yapmaya devam edelim.
 
Türkçe biliyorum, cümlenin başında "Tavsiye" kelimesinin bulunması "öğrenebilirsin", -ebilirsin ekini, "incemelisin" -melisin ekinin eş değeridir.

Emir değil, tavsiye.

1729603970528.png
 
Bu konu amacını aşıp başka yerlere çekilmeye başlanmasın. Konunun amacı dahilinde yorum yapmaya devam edelim.
 
  • Beğen
Reactions: clc
1. A7 Analog pin olarak kullanılıyor. Kodda dijital olarak kullanıldığına dair bir şey yok. Bu kodu, az yer kaplasın diye, ana koddan keserek gönderdim. A7 NANO'ya ses var mı yok mu diye haber veriyor.
2. Ses_calar yukarıda 9. satırda tanımlanıyor : DFRobotDFPlayerMini Ses_calar.
3. Bluetooth'un 13'e bağlı Rx pinini 13'den aldım 6'ya bağladım, ama durum değişmedi. Tx pini 12'de kaldı.

Hakan78, tavsiyen için sağol ama arkadaşların dediği gibi konuşma tarzın yanlış, kavgacı bir ton var. Forumlara yakışmıyor.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,953
Mesajlar
118,765
Üyeler
2,824
Son üye
selocan32

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