Tartalomjegyzék:

Infravörös vezérlésű MP3 -lejátszó: 6 lépés (képekkel)
Infravörös vezérlésű MP3 -lejátszó: 6 lépés (képekkel)

Videó: Infravörös vezérlésű MP3 -lejátszó: 6 lépés (képekkel)

Videó: Infravörös vezérlésű MP3 -lejátszó: 6 lépés (képekkel)
Videó: Jóga kezdőknek otthon. Egészséges és rugalmas test 40 perc alatt 2024, Június
Anonim
Image
Image
Infravörös vezérlésű MP3 lejátszó
Infravörös vezérlésű MP3 lejátszó

Építsen infravörös távirányító MP3 lejátszót körülbelül 10 dollárért (USD). A szokásos funkciókkal rendelkezik: lejátszás, szüneteltetés, következő vagy előző lejátszás, egyetlen dal vagy az összes dal lejátszása. Hangszínszabályzóval és hangszínszabályzóval is rendelkezik. Minden irányítható távirányítón keresztül.

Programozott funkcionalitás:

Távoli kulcs: Funkció

+ 01: Hangerő csökkentése + 02: Állítsa be a 2. könyvtárba. + 03: Hangerő növelése + 4… 9: Válassza ki az alábbi hangszínszabályozó beállításokat: ++ (4) DFPLAYER_EQ_POP (5) DFPLAYER_EQ_CLASSIC (6) DFPLAYER_EQ_NORMAL ++ (7) DFPLAYER_EQ_ROCK (8) DFPLAYER_EQ_JAZZ (9) DFPLAYER_EQ_JAZZ (9): Lejátszás + >>: Következő lejátszása + <<: Előző + Fel: Következő könyvtárbeli dalok lejátszása + Dn: Az előző könyvtárban szereplő dalok lejátszása + *| Vissza: Loop single song: be + #| Kilépés: Loop single song: off

Az első lépés az Arduino tesztelése és csatlakoztatása a kenyértáblához. A következő lépéseket úgy tervezték, hogy önállóan működjenek. Minden lépéshez vannak kábelezési és tesztelési utasítások. Amikor projekteket építek, minden egyes alkatrészt bekötök és tesztelök, hogy meggyőződjek azok működéséről. Ez segít az összetevők integrálásában, mert tudja, hogy minden egyes munka és én az integrációs követelményekre koncentrálhatunk.

Ez az utasítás kéri, hogy telepítve legyen az Arduino IDE. Az Arduino vázlatprogram letöltéséhez szükséges alapvető ismeretekkel is rendelkeznie kell a projekt linkjeiből, hozzon létre egy könyvtárat a programhoz (a könyvtár neve megegyezik a program nevével). A következő lépések a program betöltése, megtekintése és szerkesztése az IDE -ben. Ezután töltse fel a programot USB -kábelen keresztül az Arduino kártyára.

Kellékek

  • Nano V3 ATmega328P CH340G Mikrovezérlő kártya Arduino számára. Alternatív megoldásként használhat Uno -t.
  • Infravörös vevő és távirányító. Infravörös vevővel és infravörös távirányítóval ellátott IR vezeték nélküli távirányító modul készleteket használtam.
  • Egy ellenállás, 1K és 5K között. 5K ellenállást használok, mert van egy csomó belőlük. Az ellenállás eltávolítja a zajt, amely akkor jelentkezik, ha nem használja az ellenállást.
  • Breadboard Drótkábelek
  • 5 voltos fali adapter

Az alkatrészeket az eBay -en vásároltam, főleg hongkongi vagy kínai forgalmazóktól. Az amerikai forgalmazók néha azonos vagy hasonló alkatrészekkel rendelkeznek az elfogadható árak és a gyorsabb szállítás érdekében. A kínai alkatrészek szállítása 3-6 hétig tart. Az általam használt forgalmazók mind megbízhatóak voltak.

Hozzávetőleges költségek: Nano 3 dollár, infravörös készlet 1 dollár, kenyérsütő lap 2 dollár, 40 vezetékes kábelcsomag 1 dollár, 1 dollár 5 voltos fali adapterhez. Összesen, körülbelül 8 dollár. Megjegyzés: a nanót úgy vettem, hogy a kenyérsütő csapok már a helyükre vannak forrasztva, mivel a forrasztási képességeim gyengék.

Lépés: Adja hozzá az Arduino Nano -t a kenyértáblához

Adja hozzá az Arduino Nano -t a kenyértáblához
Adja hozzá az Arduino Nano -t a kenyértáblához

Csatlakoztassa az Arduino Nano -t a kenyértáblához. Vagy ha úgy tetszik, használhat egy Arduino Uno -t ehhez a projekthez; mindketten ugyanazokat a csapokat használják ehhez a projekthez. Csatlakoztassa a Nano -t (vagy az Uno -t) a számítógéphez USB -kábelen keresztül.

Csatlakoztassa az áramot és a földelést az Arduino -ból a kenyérsütő tápellátó sávjához. Csatlakoztassa az Arduino 5+ tűt a kenyértábla pozitív sávjához. Csatlakoztassa az Arduino GRN (földelt) csapot a kenyérsütő lap negatív (földelt) sávjához. Ezt más alkatrészek is használni fogják.

Töltse le és futtassa az alapvető Arduino tesztprogramot: arduinoTest.ino. A program futtatásakor a beépített LED -lámpa 1 másodpercre kigyullad, majd 1 másodpercre kialszik. Ezenkívül üzeneteket tesznek közzé, amelyek megtekinthetők az Arduino IDE Tools/Serial Monitor alkalmazásban.

+++ Beállítás.

+ Inicializálta a fedélzeti LED digitális tűt a kimenethez. A LED nem világít. ++ Tovább a hurokhoz. + Loop számláló = 1 + Loop számláló = 2 + Loop számláló = 3…

Gyakorlatként módosítsa a villogó fény késleltetését, töltse fel a módosított programot, és erősítse meg a módosítást.

A fenti képen egy 140 darabból álló, forrasztás nélküli kenyérsütő drótkötél -doboz található, amelyet 3-5 dollárért kaphat. Hosszabb kábeleket készítenek a táblákhoz a rövid csatlakozásokhoz.

Lépés: Adja hozzá az infravörös vevőt, és csatlakoztassa az Arduino -hoz

Adja hozzá az infravörös vevőt, és csatlakoztassa az Arduino -hoz
Adja hozzá az infravörös vevőt, és csatlakoztassa az Arduino -hoz

Csatlakoztassa a csatlakozódugót a férfi kábelvezetékekhez az infravörös vevőhöz (hüvelyes vég). Csatlakoztassa az óramodul földelőcsapját a kenyérsütőlap földelőcsíkjához. Csatlakoztassa az óra modul tápcsatlakozóját a kenyérsütő lemez pozitív csíkjához. Csatlakoztassa az infravörös vevő kimeneti tűjét az Arduino A1 tűhöz.

Csatlakoztassa az infravörös vevőt, a tűket bal felső sarokból jobbra:

Bal bal (az X mellett) - Nano pin A1 Közép - 5V Jobb föld - A1 + - - Nano pin csatlakozók | | | -Infravörös vevőcsapok --------- | S | | | | --- | | | | | | --- | | | ---------

Az Arduino IDE -ben telepítsen egy infravörös könyvtárat. Válassza az Eszközök/Könyvtárak kezelése lehetőséget. Szűrje le a keresést az „IRremote” beírásával. Válassza az IRremote by Shirriff lehetőséget (hivatkozásként a GitHub könyvtár linkje). Arduino könyvtár információ IRremote könyvtár link.

Töltse le és futtassa az alapvető tesztprogramot: infraredReceiverTest.ino. A program futtatásakor irányítsa a távirányítót a vevőegységre, és nyomja meg a különböző gombokat, például a 0 és 9 közötti számokat. Soros üzenetek kerülnek kiadásra (nyomtatásra), amelyek megtekinthetők az Arduino IDE Tools/Serial Monitor alkalmazásban.

+++ Beállítás.

+ Inicializálta az infravörös vevőt. ++ Tovább a hurokhoz. + Gomb OK - Váltás + Gomb> - Következő + Gomb < - előző + Billentyű fel + Gomb lefelé + 1. Gomb: + 2. 9. gomb: + 0 gomb: + gomb * (visszatérés) + gomb # (kilépés)

Gyakorlatként használja a TV távirányítóját a nyomtatott értékek megtekintéséhez. Ezután módosíthatja a programot az infraredSwitch () függvény kapcsoló utasításában szereplő értékek használatához. Például nyomja meg a "0" gombot, és kapja meg a távirányító értékét, például "0xE0E08877". Ezután adjon hozzá egy kisbetűt a kapcsoló utasításhoz a következő kódrészlet szerint.

0xFF9867. eset:

0xE0E08877 eset: Serial.print ("+ 0 kulcs:"); Serial.println (""); szünet;

3. lépés: Hozzon létre egy Mico SD kártyát MP3 fájlokból

Mivel a DFPlayer kicsi, olcsó hardver, egyszerűsített módon kezeli a fájlokat és mappákat. Vegyes eredményeket kaptam olyan MP3 fájlok lejátszásakor, amelyek nem felelnek meg az alábbi ajánlott formátumoknak, ezért javaslom a következőt. Ezenkívül nem teszteltem más lehetőségeket, például a 3 számjegyű fájlneveket (például: 003.mp3), de láttam 3 jegyű fájlneveket más utasításokban és mintákban.

Az alábbiakban az ajánlott fájlnév és mappakönyvtár -formátumok találhatók:

  • Az alapértelmezett mappa neve MP3, az SD -kártya gyökérkönyvtárába kerül: SD:/MP3. Ez a mappa nem kötelező több mappa használata esetén.
  • A lejátszó MP3 fájlokat is lejátszik a gyökérkönyvtárban.
  • Több mappa használata esetén használja a mappaneveket: 01, 02, 03,…, 99.
  • Az mp3 fájlnévnek 4 számjegyből kell állnia, kiterjesztéssel "0001.mp3", például "0001.mp3".
  • A fájlok elhelyezhetők az MP3 mappában vagy a több mappa egyikében.
  • Fájlnevek: 0001.mp3 - 0255.mp3. Megjegyzés: a lejátszó más nevű MP3 fájlokat is lejátsz.
  • A számjegyek után karaktereket is hozzáadhat, például "0001hello.mp3".

Javasoljuk, hogy formázza a kártyát a fájlok hozzáadása előtt. Ez biztosítja, hogy a kártya tiszta legyen a rendszerfájloktól. Formázás FAT32 MS-DOS használatával.

Mac esetén a lemez segédprogrammal formázza a lemezt: Alkalmazások> Segédprogramok> nyissa meg a Lemez segédprogramot.

Kattintson az SD-kártyára, például: APPLE SD Card Reader Media/MUSICSD. Kattintson a menü Törlés menüpontjára. Állítsa be a nevet, például: MUSICSD. Válassza ki: MS-DOS (Fat). Kattintson a Törlés gombra.

A lemezt megtisztítják és formázzák.

Írtam egy Java programot, amely az MP3 fájlok könyvtárát egy célkönyvtárba másolja, a DFPlayer modullal működő könyvtár- és fájlnevek használatával. A program futtatásához telepítenie kell a Java JRE -t. Az alábbiakban a program súgó kimenete látható.

$ java -jar mp3player.jar

+++ Start, DFPlayer modul másoló program. Szintaxis: java -jar mp3player.jar copy [(IN: MP3 könyvtár) (OUT: MP3 könyvtár)] ---------------------- Ez a program másol egy könyvtárat MP3 fájlokból egy másik könyvtárat hozhat létre az MP3 fájlokból a DFPlayer modullal működő könyvtár- és fájlnevek használatával. A program futtatása előtt + Hozzon létre egy könyvtárat az MP3 fájlokból. + Hozzon létre célkönyvtárat. + A célkönyvtár az, ahová az MP3 fájlok másolásra kerülnek, ++ számjegykönyvtár és fájlnevek használatával. + A célkönyvtárnak üresnek kell lennie. + Ha fájlok vannak benne, törölje a fájlokat és a könyvtárakat. ---------------------- + Futtassa ezt a programot. + Szintaxis: java -jar mp3player.jar copy [(IN: MP3 könyvtár) (OUT: MP3 könyvtár)] + Alapértelmezett szintaxis: java -jar mp3player.jar copy + Alapértelmezett könyvtárnevek: mp3player1 és mp3player2. + Ugyanaz, mint: java -jar mp3player.jar másolás mp3player1 mp3player2. ---------------------- + Helyezze be az SD-kártyát a számítógépbe. + Törölje a könyvtárakat és fájlokat az SD -kártyáról. + Ürítse ki a kukát, mert a fájlok még mindig az SD -kártyán vannak, és a DFPlayer modul lejátszhatja őket. + Másolja az új könyvtárakat és fájlokat az SD -kártyára. + Vegye ki a kártyát a számítógépről. ---------------------- + Helyezze be a kártyát a DFPlayer modulba. + A kártya készen áll a játékra

A forráskód megtekintéséhez kattintson ide. Kattintson ide a letölthető JAR programfájl letöltéséhez.

Referenciaként

Mac számítógépen a parancssorból a következőket futtathatja.

Lista a kártya megtalálásához.

$ diskutil lista

… /Dev /disk3 (belső, fizikai): #: TÍPUSNÉV MÉRETAzonosító 0: FDisk_partition_scheme *4,0 GB lemez3 1: DOS_FAT_32 MUSICSD 4,0 GB lemez3s1 $ ls /Volumes /MUSICSD

Másolja a fájlokat sorrendben az SD -kártyára. Mivel a DFPlayer rendezheti az időbélyeget, másolja a fájlokat a fájlnév sorrendjében.

Tisztítsa meg a rejtett fájlokat, amelyek problémákat okozhatnak (hivatkozás:

$ dot_clean /Volumes /MUSICSD

Az SD -kártya most használatra kész. Helyezze be a DFPlayer modulba.

4. lépés: Csatlakoztassa az MP3 fájlokat lejátszó DFPlayer modulhoz

Vezeték az MP3 fájlokat lejátszó DFPlayer modulban
Vezeték az MP3 fájlokat lejátszó DFPlayer modulban
Vezeték az MP3 fájlokat lejátszó DFPlayer modulban
Vezeték az MP3 fájlokat lejátszó DFPlayer modulban
Vezeték az MP3 fájlokat lejátszó DFPlayer modulban
Vezeték az MP3 fájlokat lejátszó DFPlayer modulban

A csatlakozásokat 3 részre bontottam: soros kommunikáció, tápellátás és hangszóró/hang.

1. Csatlakoztassa az Arduino RX/TX csapokat a DFPlayer modulhoz. Csatlakoztasson egy vezetéket az Arduino 10. tű és a DFPlayer 3. tű (TX) közé. Csatlakoztasson egy ellenállást, a DFPlayer 2 -es (RX) 5 -ös tűjét használom egy üres sorhoz az Arduino és a DFPlayer között. Csatlakoztasson egy vezetéket a 11 -es nanocsapból az 5K ellenállásba. Az 5K ellenállás eltávolítja a zajt, amely akkor jelentkezik, ha nem használja az ellenállást.

2. Csatlakoztassa a DFPlayer modul földelőcsapját (GND) a kenyérsütőlap földelő sávjához. Csatlakoztassa a DFPlayer modul tápcsatlakozóját (VCC) a kenyérlap pozitív csíkjához.

3. Ha egyetlen kis hangszórója van, csatlakoztassa a 6-os (SPK-) és a 8-as (SPK+) érintkezőhöz, mint a fenti képen a Nano segítségével.

DFPlayer Mini csapok

Az Arduino IDE -ben telepítse a DFPlayer könyvtárat. Válassza az Eszközök/Könyvtárak kezelése lehetőséget. Szűrje le a keresést a „DFRobotDFPlayerMini” beírásával. Válassza a DFRobotDFPlayerMini by DFRobot mini player library lehetőséget (hivatkozásként a könyvtár linkjét). A megvalósításhoz betöltöttem az 1.0.5 verziót.

Referenciaként a könyvtár linkje. És a DFPlayer wiki oldal linkje.

Töltsön be MP3 fájlokat a micro SD kártyára. A dalokat külön könyvtárakban tárolhatja. Helyezze az SD -kártyát a DFPlayer -be.

Töltse le és futtassa az MP3 -lejátszó programot: mp3infrared.ino. A program futtatásakor irányítsa a távirányítót a rádióerősítőre, és nyomja meg az OK gombot az első dal lejátszásához. Amikor elindul a lejátszás, a DFPlayer kék fénye kigyullad, és folyamatosan világít, amíg a fájl lejátszásra kerül.

Speciális konfiguráció

Építettem egy Altair 8800 emulátor számítógépet, amely Arduino Mega -t használ. Amikor hozzáadtam a DFPlayert, nagy volt a zaj. A zaj megszabadulása érdekében a DFPlayer számára külön tápegységet használtam. A Mega egy tápegységgel rendelkezik, és soros vezérlőjeleket küld a DFPlayer -nek. A DFPlayer másik tápegységgel rendelkezik, és fogadja és megvalósítja a Mega soros vezérlőjeleit.

A fenti képen az Altair emulátor fehér mini USB hubja táplálja a Megat, és csatlakozik a laptop fekete mini hubjához. A DFPlayer USB -kábellel közvetlenül a laptop fekete mini hubjához csatlakoztatható. Ez a konfiguráció megszüntette a zajt, amely akkor állt fenn, amikor a DFPlayer az emulátor fehér mini hubján keresztül táplált.

Kattintson ide a Mega -hoz konfigurált kódért. A kódnak az a verziója, amely Mega RX/TX csapokat használ, ahol Nano vagy Uno szoftveres soros porttűket használ.

A következőkben referenciaként szolgál

Arduino -val használt kapcsolatok, 1. UART soros, RX a DFPlayer vezérlő utasításainak fogadására. RX: a bemenet csatlakozik a TX -hez a Mega/Nano/Uno készüléken. TX állapotinformációk küldésére. TX: a kimenet csatlakozik az RX -hez Mega/Nano/Uno készüléken. Csatlakozások Nano vagy Uno esetén: RX (2), hogy ellenálljon a soros szoftver 11 -es tűjének (TX). TX (3) a soros szoftver 10 -es tűjére (RX). Csatlakozások Mega -hoz: RX (2), hogy ellenálljon a Serial1 18 -as érintkezőnek (TX). TX (3) a Serial1 19 -es érintkezőhöz (RX). 2. Tápellátási lehetőségek. Csatlakozás az Arduino -ból közvetlenül a DFPlayer -hez: VCC +5V. Megjegyzés: NodeMCU esetén +3,3 V feszültséggel is működik. GND a földre (-). Használjon teljesen más áramforrást: VCC +5V a másik áramforráshoz. GND a másik áramforrás földeléséhez (-). Láttam egy másik tápellátási lehetőséget: Az Arduino +5V -ból használjon 7805 -öt kondenzátorokkal és diódával a DFPlayer VCC csaphoz. GND a földre (-). 3. Hangszóró kimenet. Egyetlen hangszóró esetén kevesebb, mint 3 W: SPK - a hangszóró tűjéhez. SPK + a másik hangszórótűre. Stearo erősítőre vagy fülhallgatóra történő kimenethez: DAC_R a jobb kimenethez (+) DAC_L a bal oldali kimenethez (+) GND a kimeneti földhöz.

A kulcsfontosságú könyvtári funkció hívásait követve. Link a DFPlayer wiki oldalához.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Az első mp3 lejátszása myDFPlayer.pause (); // az mp3 szüneteltetése myDFPlayer.start (); // indítsa el az mp3-at a szünetből ------------------------------ myDFPlayer.next (); // A következő mp3 lejátszása myDFPlayer.previous (); // Az előző mp3 lejátszása ------------------------------ myDFPlayer.playMp3Folder (4); // adott mp3 lejátszása SD -ben: /MP3/0004.mp3; Fájlnév (0 ~ 65535) myDFPlayer.playFolder (15, 4); // adott mp3 lejátszása SD -ben: /15/004.mp3; Mappa neve (1 ~ 99); Fájlnév (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // adott mp3 lejátszása SD -ben: /02/004.mp3; Mappa neve (1 ~ 10); Fájlnév (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Az első mp3 ciklusa a myDFPlayer.enableLoop (); // ciklus engedélyezése. myDFPlayer.disableLoop (); // ciklus letiltása. myDFPlayer.loopFolder (5); // ciklus az összes mp3 fájlt az SD mappában:/05. myDFPlayer.enableLoopAll (); // hurok az összes mp3 fájl. myDFPlayer.disableLoopAll (); // stop loop minden mp3 fájl. ------------------------------ myDFPlayer.volumen (10); // Állítsa be a hangerő értékét. 0 és 30 között myDFPlayer.volumeUp (); // Hangerő növelése myDFPlayer.volumeDown (); // Hangerő csökkentése ------------------------------ myDFPlayer.setTimeOut (500); // Soros kommunikációs időtúllépés beállítása 500 ms myDFPlayer.reset (); // A modul visszaállítása ------------------------------ Serial.println (myDFPlayer.readState ()); // mp3 állapot olvasása Serial.println (myDFPlayer.readVolume ()); // aktuális kötet olvasása Serial.println (myDFPlayer.readEQ ()); // olvassa el az EQ beállítást Serial.println (myDFPlayer.readFileCounts ()); // olvassa el az összes fájlszámot az SD kártyán Serial.println (myDFPlayer.readCurrentFileNumber ()); // olvassa el az aktuális lejátszási fájl számát Serial.println (myDFPlayer.readFileCountsInFolder (3)); // a kitöltési számok olvasása az SD mappában:/03 ------------------------------ myDFPlayer.available ()

5. lépés: Külső tápegység

Image
Image
Külső tápegység
Külső tápegység
Külső tápegység
Külső tápegység

Most, hogy az MP3 -lejátszó tesztelt és működik, húzza ki a számítógépből, és használja független tápegységgel. Az egyszerűség kedvéért egy 5 voltos fali adaptert használok, amelyet körülbelül egy dollárért lehet megvásárolni, és egy USB -kábelt, egy másik dollárt. A kábel összeköti az Arduino -t a +5V fali adapterrel. Mivel az Arduino táp- és földelőcsapjai a kenyérlaphoz vannak csatlakoztatva, ez táplálja a többi komponenst. Az egyszerűség és az alacsony költségek miatt ugyanazt a kombinációt használom más projektek áramellátására.

A jobb oldali képen és a videón látható, hogy a 40 dolláros erősítőmhöz csatlakoztatott lejátszó az asztalom jobb oldali Bose hangszóróján ül. Ez az asztali zenei rendszerem: Arduino MP3 lejátszó, Douk Audio erősítő és 2 Bose hangszóró. Jó hangminőség.

Remélem, sikeres lesz, és élvezte saját MP3 zenelejátszójának építését.

6. lépés: Szüntesse meg a statikus zajt

Alacsony hangerőn irritáló háttér statikus zaj hallatszott. A zaj rendben volt, amikor a DFPlayer hangereje nagyobb volt, és zene szólt. De amikor a zene csendes volt, a statika ott volt.

Találtam egy StackExchage oldalt, ahol sok javaslat volt. Nekem a következő működött:

  • Csatlakoztasson egy rövid vezetéket a DFPlayer földelőcsapjai közé: 7-10.
  • A DFPlayer modul táplálásához használjon külön USB fali csatlakozót (5V).
  • Csatlakoztassa a fali dugót az Arduino földeléséhez. Ez szükséges volt ahhoz, hogy a sorozatvezérlés működjön az Arduino és a lejátszó között.

A fentieket az Altair 8800 emulátoromon teszteltem, amelyet DFPlayerrel továbbfejlesztettem a zene lejátszásához. A lejátszót az előlap váltógombjainak elfordításával lehet vezérelni.

Ajánlott: