Բովանդակություն:
- Պարագաներ
- Քայլ 1. Ինչ է DF Mini Player MP3 մոդուլը
- Քայլ 2:
- Քայլ 3: DFMini նվագարկչի կառավարում Arduino- ով
- Քայլ 4:
Video: Ինչպես օգտագործել DFMini Player MP3 մոդուլը Arduino- ով. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Մի շարք նախագծեր պահանջում են ձայնի վերարտադրություն `որոշակի ֆունկցիոնալություն ավելացնելու համար: Այս նախագծերի շարքում մենք կարևորում ենք. Տեսողություն ունեցողների, MP3 նվագարկիչների հասանելիություն և, օրինակ, ռոբոտների կողմից ձայնային հնչյունների կատարում:
Այս բոլոր համակարգերում մեզ անհրաժեշտ է MP3 ձայնի վերարտադրման սարք `Arduino- ին միանալու համար: Հետևաբար, այս հոդվածում մենք կսովորենք հետևյալ կետերը. DFMini Player MP3- ի հիմնական աշխատանքային միացում; Հիշողության քարտի վրա ձայնային ֆայլերի կազմակերպում և կազմաձևում. Երաժշտական կառավարում Arduino- ով:
Պարագաներ
PCBWay Պատվերով PCB;
DFPlayer Mini MP3 մոդուլ - ՀԱՄԱԼԻՐ;
10kR Resistor - UTSOURCE;
Անջատիչ կոճակ - UTSOURCE;
Breadboard - UTSOURCE;
Arduino UNO - UTSOURCE;
Վերնագրի քորոց - UTSOURCE;
Քայլ 1. Ինչ է DF Mini Player MP3 մոդուլը
DFMini Player մոդուլը փոքր նվագարկիչ է, ցածր ծախս և ցածր հզորություն, որն ունի հիշողության քարտի վրա պահված ձայների վերարտադրման նպատակ:
Ելնելով դրանից ՝ մոդուլը կարող է կառավարվել ինքնուրույն ռեժիմի միջոցով, այսինքն ՝ այս ռեժիմում կլինեն միայն DFMini մոդուլը, մարտկոցի լիցքավորումը, բարձրախոսը, այն կառավարելու կոճակները և երգերով SD քարտը: Այն վերահսկելու մեկ այլ միջոց է օգտագործել Arduino- ն կամ մեկ այլ հսկիչ սարք:
Arduino- ն, օրինակ, հրամաններ կուղարկի DFMini Player մոդուլի հետ սերիական հաղորդակցության միջոցով: DFMini Player մոդուլը ներկայացված է Նկար 1 -ում:
Այն վերահսկելու համար կարևոր է օգտագործել հիմնական ինքնուրույն սխեման: Այս սխեման ներկայացված է Նկար 2 -ում:
Վերևի սխեմայում ցուցադրված երկու կոճակները օգտագործվում են երաժշտական հետքերը փոխելու և ձայնի ձայնը վերահսկելու համար: IO1 կապին միացված կոճակը օգտագործվում է նախորդ ուղի անցնելու և ձայնը նվազեցնելու համար: Արագ հպումով համակարգը վերադառնում է նախորդ երգին, սակայն, եթե կոճակը սեղմում եք ավելի քան 1 վայրկյան, համակարգը կնվազեցնի երգի ձայնը:
PIN IO2- ին միացված կոճակը օգտագործվում է հաջորդ ուղի անցնելու և ձայնը բարձրացնելու համար: Արագ հպումով համակարգը անցնում է հաջորդ երգին, սակայն, եթե կոճակը սեղմում եք ավելի քան 1 վայրկյան, համակարգը կբարձրացնի երգի ձայնը:
Քայլ 2:
Այս ինքնուրույն մեթոդով երգերը պետք է պահվեն հիշողության քարտի վրա, ինչպես ցույց է տրված Նկար 3 -ում:
Այս կերպ, ամեն անգամ, երբ կոճակները սեղմվում են, համակարգը յուրաքանչյուր երգ կհնչի աճման կամ նվազման կարգով: Այնուամենայնիվ, Arduino- ից կամ մեկ այլ հսկիչ սարքից օգտվելիս մենք պետք է փոփոխենք SD քարտի վրա երաժշտական ֆայլերի կազմակերպման եղանակը:
Այժմ ես կբացատրեմ, թե ինչպես վերահսկել DFMini նվագարկիչը Arduino- ի միջոցով ՝ սերիական հաղորդակցության միջոցով:
Քայլ 3: DFMini նվագարկչի կառավարում Arduino- ով
Այս քայլում ձայնի վերահսկումը, տիրույթի վերահսկումը, հավասարեցման հրամանները և այլ հնարավորություններ կուղարկվեն Arduino- ի կողմից:
Arduino- ն պետք է սերիայի միջոցով շփվի DFMini նվագարկիչի հետ և ուղարկի կառավարման հրամանները:
Կառավարման սխեմայի էլեկտրոնային սխեման ներկայացված է Նկար 4 -ում:
Նախ, մենք պետք է հավաքենք ստորև ներկայացված Նկարում պատկերված սխեման: Այս միացումը հավաքելուց հետո դուք պետք է երգերը ավելացնեք ձեր հիշողության քարտի վրա: Այս քայլում երգերը պետք է վերանվանվեն որպես 01, 02, 03, օրինակ:
Դուք չեք կարող երգերը թողնել իրենց անուններով, քանի որ խնդիր կառաջանա, երբ Arduino- ն ուղարկի հատուկ ուղու կատարման հրամանը: Հետևաբար, դուք պետք է կազմաձևեք, ինչպես ցույց է տրված ստորև:
Քայլ 4:
Ֆայլերը անվանելուց հետո ձեր Arduino- ում գրեք հետևյալ ծածկագիրը:
// Սպասում է տվյալների մուտքագրմանը serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (հրաման <= '9')) {Serial.print ("Երաժշտության վերարտադրություն"); Serial.println (հրաման); հրաման = հրաման - 48; myDFPlayer.play (հրաման); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println («Երաժշտությունը դադարեց»); menu_opcoes (); } // Pausa/Continua a musica if (հրաման == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Շարունակել …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Երաժշտությունը դադարեցված է"); myDFPlayer.pause (); } menu_opcoes (); }
// Բարձրացնում է ծավալը
if (հրաման == '+') {myDFPlayer.volumeUp (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (հրաման == '') {myDFPlayer.next (); Serial.println («հաջորդը»); Serial.print ("Ընթացիկ ուղի."); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Նվազեցնում է ծավալը if (հրաման == '-') {myDFPlayer.volumeDown (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================ ================================================== ======================================= "))); Serial.println (F ("Հրամաններ.")); Serial.println (F ("[1-3] MP3 ֆայլը ընտրելու համար")); Serial.println (F ("[s] վերարտադրումը դադարեցնող")); Serial.println (F ("[p] դադար/շարունակել երաժշտությունը")); Serial.println (F («[+ կամ -] ավելացնում կամ նվազեցնում է ծավալը»)); Serial.println (F (« ուղին առաջ կամ հետ»)); Serial.println (); Serial.println (F ("============================================ =================================================== ====================================== "))); }
Վերևում ներկայացված կոդը բավականին պարզ է և կօգնի ձեզ ընտրել երգը ըստ համարի, կանգ առնել, դադար տալ, վերահսկել ձայնը և փոխանցել հետքերը:
Երաժշտական հսկողությունը բաղկացած է Arduino IDE սերիալի տվյալները մեր Arduino տախտակին ուղարկելուց: Սկզբում համակարգը կազմաձևում է կարգավորումը և ստուգում է, արդյոք SD քարտը տեղադրված է մոդուլում:
Եթե այն տեղադրված չէ, համակարգը ներկայացնում է հաղորդագրություն ՝ օգտագործողին զգուշացնելու համար:
Բացի այդ, համակարգը ցուցադրում է հաղորդագրություններ համակարգի կազմաձևման ընտրանքներով:
void setup () {// Comunicacao սերիական com կամ մոդուլ mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F («DFPlayer մոդուլի նախաստորագրում … Սպասեք»)); եթե (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Նախաստորագրված չէ.")); Serial.println (F ("1. Ստուգեք DFPlayer Mini կապերը")); Serial.println (F ("2. Տեղադրեք SD քարտ")); իսկ (ճշմարիտ); } Serial.println (); Serial.println (F («DFPlayer Mini մոդուլը սկզբնավորված է»)); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout սերիա 500ms myDFPlayer.volume (5); // հատոր 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }
Եթե հիշողության քարտը տեղադրված է, կոդի հոսքը կմտնի օղակի գործառույթը:
void loop () {// Սպասում է տվյալների մուտքագրմանը սերիական միջոցով (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (հրաման <= '3')) {Serial.print ("Երաժշտության վերարտադրություն"); Serial.println (հրաման); հրաման = հրաման - 48; myDFPlayer.play (հրաման); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println («Երաժշտությունը դադարեց»); menu_opcoes (); } // Pausa/Continua a musica if (հրաման == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Շարունակել …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Երաժշտությունը դադարեցված է"); myDFPlayer.pause (); } menu_opcoes (); }
// Բարձրացնում է ծավալը
if (հրաման == '+') {myDFPlayer.volumeUp (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (հրաման == '') {myDFPlayer.next (); Serial.println («հաջորդը»); Serial.print ("Ընթացիկ ուղի."); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Նվազեցնում է ծավալը if (հրաման == '-') {myDFPlayer.volumeDown (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
Օգտագործողը կարող է ուղարկել հետևյալ կառավարման նիշերը.
1 -ից 3 -րդ համարներ. Ընտրեք նվագարկվող երգը.
- Նամակ s: Դադարեցրեք երգը; նամակ p: Դադարեցրեք երգը;
- Ուղարկեք + նշանը. Բարձրացրեք երգի ձայնը;
- Ուղարկեք - ազդանշանը. Նվազեցրեք երգի ձայնը;
- Ազդանշան ուղարկեք <: Ընտրեք նախորդ երգը;
- Ազդանշան ուղարկել>. Ընտրեք հաջորդ երգը;
Այս ազդանշաններից, տառերից և թվերից Arduino- ն դրանք կստանա սերիայի միջոցով և վերահսկելու է նվագարկվող երաժշտությունը:
Յուրաքանչյուր պայման ներկայացված է ստորև և ներքին կարգով ՝ իր համապատասխան հրամաններով:
if ((command> = '1') && (հրաման <= '3')) {Serial.print ("Երաժշտության վերարտադրություն"); Serial.println (հրաման); հրաման = հրաման - 48; myDFPlayer.play (հրաման); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println («Երաժշտությունը դադարեց»); menu_opcoes (); } // Pausa/Continua a musica if (հրաման == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Շարունակել …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Երաժշտությունը դադարեցված է"); myDFPlayer.pause (); } menu_opcoes (); }
// Բարձրացնում է ծավալը
if (հրաման == '+') {myDFPlayer.volumeUp (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (հրաման == '') {myDFPlayer.next (); Serial.println («հաջորդը»); Serial.print ("Ընթացիկ ուղի."); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Նվազեցնում է ծավալը if (հրաման == '-') {myDFPlayer.volumeDown (); Serial.print ("Ընթացիկ ծավալը."); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
Այսպիսով, եթե կիրառեիք ներկայացված բոլոր քայլերը, կարողացաք սովորել.
- DFMini Player MP3- ի հիմնական աշխատանքային միացում;
- Հիշողության քարտի վրա ձայնային ֆայլերի կազմակերպում և կազմաձևում;
- Երաժշտական վերահսկողություն Arduino- ի միջոցով: Այս ծածկագրից կարող եք մշակել այլ նախագծեր, որոնք պետք է ձայնը օգտագործեն որպես համակարգի ֆունկցիոնալություն:
Շնորհակալագրեր
Ավարտելու համար մենք շնորհակալություն ենք հայտնում ձեր ընթերցանության և PCBWAY. COM- ի աջակցության համար `Silício Lab- ին այս հոդվածի պատրաստման գործում աջակցելու համար:
Silícios Lab- ը շնորհակալություն է հայտնում UTSOURCE- ին `այս նախագիծը կառուցելու համար առաջարկվող էլեկտրոնային բաղադրիչներին:
Խորհուրդ ենք տալիս:
Ինչպես օգտագործել RFID-RC522 մոդուլը Arduino- ով. 5 քայլ
Ինչպես օգտագործել RFID-RC522 մոդուլը Arduino- ի հետ. Այս հրահանգում ես մանրամասն կներկայացնեմ RFID մոդուլի հիմնական աշխատանքի սկզբունքը ՝ զուգակցված իր պիտակներով և չիպերով: Ես նաև կտրամադրեմ այն նախագծի համառոտ օրինակը, որն արել եմ այս RFID մոդուլը RGB LED- ով: Ինչպես միշտ իմ Ins
[Docker Pi Series] Ինչպես օգտագործել IoT հանգույց (A) մոդուլը Raspberry Pi- ի վրա. 18 քայլ
[Docker Pi Series] Ինչպես օգտագործել IoT Node (A) մոդուլը Raspberry Pi- ի վրա. Ի՞նչ է IoT Node (A) մոդուլը: IoT հանգույցը (A) Docker Pi շարքի մոդուլներից է: IOT հանգույց (A) = GPS/BDS + GSM + Lora. I2C- ն ուղղակիորեն վերահսկում է Lora- ն, ուղարկում և ստանում է տվյալներ, վերահսկում է GSM/GPS/BDS մոդուլը SC16IS752- ի միջոցով, մայր տախտակին անհրաժեշտ է միայն I2C ենթահող
Ինչպես օգտագործել GY511 մոդուլը Arduino- ով [Ստեղծեք թվային կողմնացույց] ՝ 11 քայլ
Ինչպես օգտագործել GY511 մոդուլը Arduino- ով [Ստեղծեք թվային կողմնացույց]. Ակնարկ Որոշ էլեկտրոնային նախագծերում մենք ցանկացած պահի պետք է իմանանք աշխարհագրական դիրքը և համապատասխան գործողություն կատարենք: Այս ձեռնարկում դուք կսովորեք, թե ինչպես օգտագործել LSM303DLHC GY-511 կողմնացույցի մոդուլը Arduino- ի հետ ՝ թվային կողմնացույցներ պատրաստելու համար
Ինչպես օգտագործել Mac տերմինալը և ինչպես օգտագործել հիմնական գործառույթները. 4 քայլ
Ինչպես օգտագործել Mac տերմինալը և ինչպես օգտագործել հիմնական գործառույթները. Մենք ձեզ ցույց կտանք, թե ինչպես բացել MAC տերմինալը: Մենք նաև ձեզ ցույց կտանք տերմինալի մի քանի հնարավորություններ, ինչպիսիք են ifconfig- ը, գրացուցակների փոփոխումը, ֆայլերին մուտք գործելը և arp- ը: Ifconfig- ը թույլ կտա Ձեզ ստուգել ձեր IP հասցեն և ձեր MAC գովազդը
Ինչպես օգտագործել TCRT5000 IR տվիչների մոդուլը Arduino UNO- ով. 7 քայլ (նկարներով)
Ինչպես օգտագործել TCRT5000 IR տվիչների մոդուլը Arduino UNO- ի հետ: Այս ձեռնարկում մենք ձեզ կսովորեցնենք TCRT5000 IR տվիչների մոդուլի օգտագործման որոշ հիմունքներ: Սրանք հիմնականը ձեզ ցույց են տալիս սերիական մոնիտորի անալոգային և թվային արժեքները: Նկարագրություն. Այս IR ռեֆլեկտիվ սենսորը օգտագործում է TCRT5000 ՝ գույնը հայտնաբերելու և հեռացնելու համար