Mündəricat:

DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar: 4 addım
DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar: 4 addım

Video: DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar: 4 addım

Video: DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar: 4 addım
Video: КАК СДЕЛАТЬ FM-ПЕРЕДАТЧИК С ФАПЧ / Дальность действия 2 км / FM-стереопередатчик 2024, Noyabr
Anonim
DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar
DFMini Player MP3 Modulunu Arduino ilə necə istifadə etmək olar

Bir neçə layihə bir növ funksiya əlavə etmək üçün səsin bərpasını tələb edir. Bu layihələr arasında vurğulayırıq: gözdən əlillər üçün əlçatanlıq, MP3 musiqi pleyerləri və məsələn, robotlar tərəfindən səslərin səsləndirilməsi.

Bütün bu sistemlərdə Arduinoya qoşulmaq üçün MP3 səs çoxalma cihazına ehtiyacımız var. Buna görə də, bu yazıda aşağıdakı məqamları öyrənəcəyik: DFMini Player MP3 -ün əsas əməliyyat dövrəsi; Yaddaş kartındakı səs fayllarının təşkili və konfiqurasiyası; Arduino ilə musiqi nəzarəti.

Təchizat

PCBWay Xüsusi PCB;

DFPlayer Mini MP3 Modulu - UTSOURCE;

10kR Rezistor - UTSOURCE;

Keçid Düyməsi - UTSOURCE;

Çörək lövhəsi - UTSOURCE;

Arduino UNO - UTSOURCE;

Başlıq Pin - UTSOURCE;

Addım 1: DF Mini Player MP3 Modulu nədir?

DF Mini Player MP3 Modulu nədir
DF Mini Player MP3 Modulu nədir
DF Mini Player MP3 Modulu nədir
DF Mini Player MP3 Modulu nədir

DFMini Player modulu, yaddaş kartında saxlanan səsləri təkrarlamaq məqsədi daşıyan kiçik bir musiqi ifaçısı, aşağı və aşağı gücdür.

Buna əsaslanaraq modulu müstəqil rejim vasitəsilə idarə etmək olar, yəni bu rejimdə yalnız DFMini modulu, gücə malik batareya, dinamik, onu idarə etmək üçün düymələr və mahnıları olan SD Kart olacaq. Nəzarət etməyin başqa bir yolu Arduino və ya başqa bir idarəetmə cihazından istifadə etməkdir.

Məsələn, Arduino, DFMini Player Modulu ilə ardıcıl əlaqə vasitəsi ilə əmrlər göndərəcək. DFMini Player modulu Şəkil 1 -də göstərilmişdir.

Bunu idarə etmək üçün əsas müstəqil dövrə istifadə etmək vacibdir. Bu dövrə Şəkil 2 -də göstərilmişdir.

Yuxarıdakı sxemdə göstərilən iki düymə musiqi parçalarını dəyişdirmək və səsin səviyyəsini idarə etmək üçün istifadə olunur. IO1 pininə bağlı düymə əvvəlki parçaya getmək və səsi azaltmaq üçün istifadə olunur. Sürətli bir toxunuşla sistem əvvəlki mahnıya qayıdır, ancaq düyməni 1 saniyədən çox basarsanız sistem mahnının səsini azaldar.

IO2 sancağına bağlı düymə sonrakı yola keçmək və səsi artırmaq üçün istifadə olunur. Sürətli bir toxunuşla sistem növbəti mahnıya keçər, ancaq düyməni 1 saniyədən çox basarsanız sistem mahnının səsini artırar.

Addım 2:

Şəkil
Şəkil

Bu müstəqil metodda mahnılar Şəkil 3 -də göstərildiyi kimi yaddaş kartında saxlanmalıdır.

Bu şəkildə, düymələrə hər dəfə basıldıqda sistem hər mahnını artan və ya azalan qaydada çalacaq. Ancaq Arduino və ya başqa bir idarəetmə qurğusundan istifadə edərkən, SD kartdakı musiqi fayllarını təşkil etmə üsulunu dəyişdirməliyik.

İndi, Arduino istifadə edərək DFMini Player -in serial ünsiyyət vasitəsi ilə necə idarə olunacağını izah edəcəyəm.

Addım 3: Arduino ilə DFMini Pleyerinə nəzarət

Arduino ilə DFMini Pleyerinə nəzarət
Arduino ilə DFMini Pleyerinə nəzarət
Arduino ilə DFMini Pleyerinə nəzarət
Arduino ilə DFMini Pleyerinə nəzarət

Bu addımda səs səviyyəsi, aralıq nəzarəti, bərabərlik əmrləri və digər xüsusiyyətlər Arduino tərəfindən göndəriləcək.

Arduino, DFMini Player ilə serial vasitəsilə ünsiyyət qurmalı və nəzarət əmrlərini göndərməlidir.

İdarəetmə sxeminin elektron sxemi Şəkil 4 -də göstərilmişdir.

Birincisi, aşağıdakı Şəkildə göstərilən dövrə yığmalıyıq, bu dövrəni yığdıqdan sonra mahnıları yaddaş kartınıza əlavə etməlisiniz. Bu addımda mahnıların adı 01, 02, 03 olaraq dəyişdirilməlidir.

Mahnıları adları ilə tərk edə bilməzsiniz, çünki Arduino xüsusi treki icra etmək əmrini göndərəndə problem yaranacaq. Buna görə aşağıda göstərildiyi kimi konfiqurasiya etməlisiniz.

Addım 4:

Faylları adlandırdıqdan sonra Arduino -ya aşağıdakı kodu yazın.

// ardıcıl olaraq məlumatların daxil olmasını gözləyir (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Music reproduction"); Serial.println (əmr); əmr = əmr - 48; myDFPlayer.play (əmr); menu_opcoes (); } // Reproduksiya // Durdur (if (command == 's)) {myDFPlayer.stop (); Serial.println ("Musiqi Durdu!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Davam et …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiqi Durduruldu!"); myDFPlayer.pause (); } menu_opcoes (); }

// Həcmi artırır

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Cari həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("sonrakı:"); Serial.print ("Cari track:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Əgər (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Cari Həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} etibarsız menu_opcoes () {Serial.println (); Serial.println (F ("======================================== ================================================= ===================================== "))); Serial.println (F ("Əmrlər:")); Serial.println (F ("[1-3] MP3 faylını seçmək üçün")); Serial.println (F ("[s] çoxalmanı dayandırır")); Serial.println (F ("[p] musiqini durdur/davam et")); Serial.println (F ("[+ və ya -] həcmi artırır və ya azaldır")); Serial.println (F (" track irəli və ya geriyə")); Serial.println (); Serial.println (F ("======================================== ================================================= =================================== "))); }

Yuxarıda təqdim olunan kod olduqca sadədir və mahnını nömrəsinə görə seçməyinizə, dayandırmağınıza, fasilə verməyinizə, səs səviyyəsinə nəzarət etməyinizə və parçaları ötürməyinizə kömək edəcək.

Musiqili idarəetmə Arduino IDE serialından məlumatları Arduino lövhəmizə göndərməkdən ibarətdir. Əvvəlcə sistem konfiqurasiyanı qurur və SD Kartın modula daxil olub -olmadığını yoxlayır.

Daxil edilmədikdə, sistem istifadəçini xəbərdar etmək üçün bir mesaj təqdim edir.

Bundan əlavə, sistem sistem konfiqurasiya seçimləri olan mesajları göstərir.

void setup () {// MySoftwareSerial.begin (9600) modulu ilə Comunicacao seriyası; // Arduino Serial.begin (115200) serialının yayımlanması; // Verilənlər və ya cavablar haqqında məlumat əldə edin // SD kart üçün Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer modulu işə salınır … Gözləyin!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Başlatılmadı:")); Serial.println (F ("1. DFPlayer Mini əlaqələrini yoxlayın")); Serial.println (F ("2. SD kart daxil edin")); while (doğru); } Serial.println (); Serial.println (F ("DFPlayer Mini modulu işə salındı!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Zaman aşımı seriyası 500ms myDFPlayer.volume (5); // Cild 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Yaddaş kartı daxil olarsa, kod axını loop funksiyasına daxil olacaq.

void loop () {// Serial vasitəsilə məlumatların daxil olmasını gözləyir (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("Music reproduction"); Serial.println (əmr); əmr = əmr - 48; myDFPlayer.play (əmr); menu_opcoes (); } // Reproduksiya // Durdur (əgər command == 's) {myDFPlayer.stop (); Serial.println ("Musiqi Durdu!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Davam et …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiqi Durduruldu!"); myDFPlayer.pause (); } menu_opcoes (); }

// Həcmi artırır

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Cari həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("sonrakı:"); Serial.print ("Cari track:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Əgər (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Cari Həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

İstifadəçi aşağıdakı nəzarət simvollarını göndərə bilər:

1 -dən 3 -ə qədər nömrələr: Çalınacaq mahnını seçin;

  • S hərfi: Mahnını dayandır; P hərfi: Mahnını durdur;
  • + İşarəsini göndər: Mahnının həcmini artırın;
  • - siqnalını göndər: Mahnının həcmini azaldın;
  • Siqnal göndər <: Əvvəlki mahnını seçin;
  • Siqnal göndər>: Növbəti mahnını seçin;

Bu siqnallardan, hərflərdən və rəqəmlərdən Arduino bunları serial vasitəsilə alacaq və çalınacaq musiqini idarə edəcək.

Hər bir şərt aşağıda və daxildə, müvafiq əmrləri ilə təqdim olunur.

if ((command> = '1') && (command <= '3')) {Serial.print ("Music reproduction"); Serial.println (əmr); əmr = əmr - 48; myDFPlayer.play (əmr); menu_opcoes (); } // Reproduksiya // Durdur (if (command == 's)) {myDFPlayer.stop (); Serial.println ("Musiqi Durdu!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Davam et …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiqi Durduruldu!"); myDFPlayer.pause (); } menu_opcoes (); }

// Həcmi artırır

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Cari həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("sonrakı:"); Serial.print ("Cari track:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Əgər (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Cari Həcm:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Beləliklə, təqdim olunan bütün addımları tətbiq etsəniz, öyrənə bilərsiniz:

  • DFMini Player MP3 -ün əsas əməliyyat dövrəsi;
  • Yaddaş kartındakı səs fayllarının təşkili və konfiqurasiyası;
  • Arduino ilə musiqi nəzarəti. Bu koddan, səs funksiyasını sistem funksiyası olaraq istifadə etməsi lazım olan digər layihələr hazırlaya bilərsiniz.

Təşəkkürlər

Sonda, oxuduğunuza və bu məqalənin sizin üçün hazırlanmasında Silício Lab -a dəstək verdiyi üçün PCBWAY. COM -un dəstəyinə görə təşəkkür edirik.

Silícios Lab, bu layihənin qurulması üçün elektron komponentləri təqdim etdiyi üçün UTSOURCE -a təşəkkür edir.

Tövsiyə: