Tartalomjegyzék:
- Kellékek
- 1. lépés: Mi a DF Mini Player MP3 modul
- 2. lépés:
- 3. lépés: A DFMini lejátszó vezérlése az Arduino segítségével
- 4. lépés:
Videó: A DFMini Player MP3 modul használata Arduino -val: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Számos projekthez hang reprodukcióra van szükség ahhoz, hogy valamilyen funkciót adjunk hozzá. E projektek közül kiemeljük: a látássérültek akadálymentesítését, az MP3 zenelejátszókat és a hangok robotok általi végrehajtását.
Mindezekben a rendszerekben szükségünk van egy MP3 hangreprodukciós eszközre, hogy csatlakozzunk az Arduino -hoz. Ezért ebben a cikkben a következő pontokat fogjuk megtudni: A DFMini Player MP3 alapvető működési áramköre; Hangfájlok szervezése és konfigurálása a memóriakártyán; Zenei vezérlés az Arduino segítségével.
Kellékek
PCBWay Egyedi PCB;
DFPlayer Mini MP3 modul - UTSOURCE;
10kR ellenállás - UTSOURCE;
Kapcsoló gomb - UTSOURCE;
Kenyeretábla - UTSOURCE;
Arduino UNO - UTSOURCE;
Fejléc pin - UTSOURCE;
1. lépés: Mi a DF Mini Player MP3 modul
A DFMini Player modul egy kicsi zenelejátszó, alacsony költségű és alacsony fogyasztású, amelynek célja a memóriakártyán tárolt hangok reprodukálása.
Ennek alapján a modul önálló üzemmódon keresztül vezérelhető, vagyis ebben az üzemmódban csak a DFMini modul, az akkumulátor a tápellátás, a hangszóró, a vezérlőgombok és az SD -kártya lesz a dalokkal. A vezérlés másik módja az Arduino vagy más vezérlőeszköz használata.
Az Arduino például parancsokat küld a DFMini Player modullal folytatott soros kommunikáción keresztül. A DFMini Player modul az 1. ábrán látható.
A vezérléshez fontos, hogy az alapvető önálló áramkört használja. Ez az áramkör a 2. ábrán látható.
A fenti áramkörben látható két gomb a zeneszámok megváltoztatására és a hang hangerejének szabályozására szolgál. Az IO1 érintkezőhöz csatlakoztatott gomb az előző számra ugráshoz és a hangerő csökkentéséhez használható. Gyors érintéssel a rendszer visszatér az előző dalhoz, azonban ha 1 másodpercnél tovább nyomja meg a gombot, a rendszer csökkenti a dal hangerejét.
Az IO2 csaphoz csatlakoztatott gomb a következő műsorszámra lépéshez és a hangerő növeléséhez használható. Gyors érintéssel a rendszer a következő dalra lép, azonban ha 1 másodpercnél tovább nyomja meg a gombot, a rendszer növeli a dal hangerejét.
2. lépés:
Ezzel az önálló módszerrel a dalokat a memóriakártyára kell menteni, amint az a 3. ábrán látható.
Így minden alkalommal, amikor megnyomja a gombokat, a rendszer növekvő vagy csökkenő sorrendben játssza le az egyes dalokat. Az Arduino vagy más vezérlőeszköz használatakor azonban módosítanunk kell az SD -kártyán található zenei fájlok rendszerezésének módját.
Most elmagyarázom, hogyan vezérelhető a DFMini Player az Arduino segítségével soros kommunikáción keresztül.
3. lépés: A DFMini lejátszó vezérlése az Arduino segítségével
Ebben a lépésben az Arduino elküldi a hangerőszabályzót, a tartományvezérlést, a kiegyenlítési parancsokat és egyéb funkciókat.
Az Arduino -nak a sorozaton keresztül kell kommunikálnia a DFMini Playerrel, és el kell küldenie a vezérlőparancsokat.
A vezérlőáramkör elektronikus sémája a 4. ábrán látható.
Először össze kell szerelnünk az alábbi ábrán látható áramkört. Az áramkör összeszerelése után hozzá kell adnia a dalokat a memóriakártyához. Ebben a lépésben a dalokat át kell nevezni például 01, 02, 03 -ra.
Nem hagyhatja el a dalokat a nevükkel, mivel probléma merül fel, amikor az Arduino elküldi a parancsot az adott szám végrehajtására. Ezért az alábbiak szerint kell konfigurálnia.
4. lépés:
A fájlok elnevezése után írja be a következő kódot Arduino készülékére.
// várja az adatbevitelt a serial while (Serial.available ()> 0) {command = Serial.read (); if ((parancs> = '1') && (parancs <= '9')) {Serial.print ("Zene reprodukció"); Serial.println (parancs); parancs = parancs - 48; myDFPlayer.play (parancs); menu_opcoes (); } // Reprodukció // Állítsa le, ha (parancs == 's') {myDFPlayer.stop (); Serial.println ("Leállt a zene!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Folytatás …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Zene szüneteltetve!"); myDFPlayer.pause (); } menu_opcoes (); }
// Növeli a hangerőt
if (parancs == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (parancs == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Jelenlegi szám:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Csökkenti a hangerőt, ha (parancs == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== ===================================== ")); Serial.println (F ("Parancsok:")); Serial.println (F ("
A fent bemutatott kód meglehetősen egyszerű, és segít kiválasztani a számot a szám alapján, leállítani, szüneteltetni, szabályozni a hangerőt és átadni a számokat.
A zenei vezérlés abból áll, hogy adatokat küld az Arduino IDE sorozatból az Arduino fórumunkra. Kezdetben a rendszer elvégzi a konfigurációt a beállításban, és ellenőrzi, hogy az SD -kártya be van -e helyezve a modulba.
Ha nincs behelyezve, a rendszer üzenetet küld a felhasználó figyelmeztetésére.
Ezenkívül a rendszer üzeneteket jelenít meg a rendszerkonfigurációs beállításokkal.
void setup () {// Comunicacao serial com vagy modulo 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 ("A DFPlayer modul inicializálása … Várj!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Not inicializált:")); Serial.println (F ("1. Ellenőrizze a DFPlayer Mini csatlakozásokat")); Serial.println (F ("2. Helyezzen be SD -kártyát")); míg (igaz); } Sorozat.println (); Serial.println (F ("A DFPlayer Mini modul inicializálva!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Soros időtúllépés 500 ms myDFPlayer.volume (5); // 5. kötet myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }
Ha behelyezte a memóriakártyát, a kódáramlás belép a hurok funkcióba.
void loop () {// Várja az adatbevitelt soros kapcsolaton keresztül, miközben (Serial.available ()> 0) {command = Serial.read (); if ((parancs> = '1') && (parancs <= '3')) {Serial.print ("Zene reprodukció"); Serial.println (parancs); parancs = parancs - 48; myDFPlayer.play (parancs); menu_opcoes (); } // Reprodukció // Állítsa le, ha (parancs == 's') {myDFPlayer.stop (); Serial.println ("Leállt a zene!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Folytatás …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Zene szüneteltetve!"); myDFPlayer.pause (); } menu_opcoes (); }
// Növeli a hangerőt
if (parancs == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (parancs == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Jelenlegi szám:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Csökkenti a hangerőt, ha (parancs == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
A felhasználó a következő vezérlőkaraktereket küldheti el:
1–3. Szám: Válassza ki a lejátszani kívánt dalt;
- S betű: állítsa le a dalt, p betű: szüneteltesse a dalt;
- Küldje el a + jelet: Növelje a dal hangerejét;
- Küldje el a - jelet: Csökkentse a dal hangerejét;
- Jel küldése <: Az előző dal kiválasztása;
- Jel küldése>: Válassza ki a következő dalt;
Ezekből a jelekből, betűkből és számokból az Arduino a sorozaton keresztül fogadja őket, és vezérli a lejátszandó zenét.
Minden feltételt alább és belül mutatunk be, a hozzájuk tartozó parancsokkal együtt.
if ((parancs> = '1') && (parancs <= '3')) {Serial.print ("Zene reprodukció"); Serial.println (parancs); parancs = parancs - 48; myDFPlayer.play (parancs); menu_opcoes (); } // Reprodukció // Állítsa le, ha (parancs == 's') {myDFPlayer.stop (); Serial.println ("Leállt a zene!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Folytatás …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Zene szüneteltetve!"); myDFPlayer.pause (); } menu_opcoes (); }
// Növeli a hangerőt
if (parancs == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (parancs == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Jelenlegi szám:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Csökkenti a hangerőt, ha (parancs == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuális kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
Tehát, ha az összes bemutatott lépést alkalmazta, megtanulhatta:
- A DFMini Player MP3 alapvető működési áramköre;
- Hangfájlok szervezése és konfigurálása a memóriakártyán;
- Zenei vezérlés az Arduino segítségével. Ebből a kódból más projekteket is fejleszthet, amelyeknek a hangot kell használniuk a rendszer funkcióként.
Köszönetnyilvánítás
Végezetül köszönjük, hogy elolvasta és a PCBWAY. COM támogatását nyújtotta, hogy támogatta a Silício Labot a cikk elkészítésében.
A Silícios Lab megköszöni az UTSOURCE -nak, hogy felajánlotta az elektronikus alkatrészeket a projekt elkészítéséhez.
Ajánlott:
Valós idejű óra modul használata (DS3231): 5 lépés
Valós idejű óramodul (DS3231) használata: A DS3231 egy olcsó, rendkívül pontos I2C valós idejű óra (RTC), beépített hőmérséklet-kompenzált kristályoszcillátorral (TCXO) és kristállyal. A készülék akkumulátor -bemenettel rendelkezik, és pontos időmérést tart fenn, amikor a fő áramellátás
A PIR érzékelő és a zümmögő modul használata - Visuino bemutató: 6 lépés
A PIR érzékelő és a zümmögő modul használata - Visuino bemutató: Ebben az oktatóanyagban megtanuljuk, hogyan kell használni a PIR érzékelőt és a zümmögő modult, hogy hangot adjon ki minden alkalommal, amikor egy PIR érzékelő mozgást észlel. Nézzen meg egy bemutató videót
A TTP223 Modul használata kapcsolóként: 5 lépés
A TTP223 Modul használata kapcsolóként: Ez az utasítás a TTP223 kapacitív érintőmodulról szól. Csak az elektronika és az arduino programozás alapvető ismereteire van szüksége. Ha kérdése vagy problémája van, vegye fel velem a kapcsolatot az e -mail címen: [email protected] . Itt a link a m videóhoz
SPWM generátor modul (mikrovezérlő használata nélkül): 14 lépés
SPWM generátor modul (mikrovezérlő használata nélkül): Üdvözlök mindenkit, üdvözlöm az oktathatóban! Remélem mindannyian remekül csináljátok. Nemrégiben érdeklődtem a PWM jelekkel való kísérletezés iránt, és találkoztam az SPWM (vagy szinuszos impulzusszélesség -moduláció) fogalmával, ahol egy impulzus -sorozat működési ciklusa
Zene reaktív RGB LED szalag kóddal - WS1228b - Az Arduino és mikrofon modul használata: 11 lépés
Zene reaktív RGB LED szalag kóddal | WS1228b | Arduino és mikrofon modul használata: Zenereaktív WS1228B LED szalag építése Arduino és mikrofon modul használatával. Használt alkatrészek: Arduino WS1228b Led Strip hangérzékelő Breadboard jumper 5V 5A tápegység