Innehållsförteckning:

Infraröd styrd MP3 -spelare: 6 steg (med bilder)
Infraröd styrd MP3 -spelare: 6 steg (med bilder)

Video: Infraröd styrd MP3 -spelare: 6 steg (med bilder)

Video: Infraröd styrd MP3 -spelare: 6 steg (med bilder)
Video: DÖDSVISSEL på natten PÅ KYRKROÅREN / Ett barns spöke i videon / Aztec Death Whistle 2024, November
Anonim
Image
Image
Infraröd styrd MP3 -spelare
Infraröd styrd MP3 -spelare

Bygg en infraröd fjärrkontroll MP3 -spelare för cirka $ 10 (usd). Den har de vanliga funktionerna: spela, pausa, spela nästa eller föregående, spela en enda låt eller alla låtar. Den har också equalizervariationer och volymkontroll. Allt styrbart via en fjärrkontroll.

Programmerad funktionalitet:

Fjärrnyckel: Funktion

+ 01: Volym ned + 02: Ställ in på katalog #2. + 03: Volym upp + 4… 9: Välj följande equalizerinställningar: ++ (4) DFPLAYER_EQ_POP (5) DFPLAYER_EQ_CLASSIC (6) DFPLAYER_EQ_NORMAL ++ (7) DFPLAYER_EQ_ROCK (8) DFPLAYER_EQ_JAZZASS (9) DFPLAYER_EQ_JAZZASS (9): Spela + >>: Spela nästa + <<: Spela föregående + Upp: Spela nästa katalogsånger + Dn: Spela föregående katalogspår + *| Återgå: Slinga enkel låt: på + #| Avsluta: Slinga enkel låt: av

Det första steget är att testa Arduino och koppla den till brödbrädan. Stegen nedan som är utformade för att fungera självständigt. Varje steg har kabelinstruktioner och testinstruktioner. När jag bygger projekt, trådar och testar jag varje komponent för att bekräfta att de fungerar. Detta hjälper till att integrera komponenter eftersom vet att varje arbete och jag kan fokusera på integrationskraven.

Den här instruktionsboken kräver att du har Arduino IDE installerat. Du måste också ha de grundläggande färdigheterna för att ladda ner ett Arduino -skissprogram från länkarna i detta projekt, skapa en katalog för programmet (katalognamn samma som programnamnet). Nästa steg är att ladda, visa och redigera programmet i IDE. Ladda sedan upp programmet via en USB -kabel till ditt Arduino -kort.

Tillbehör

  • Nano V3 ATmega328P CH340G Mikrostyrkort för Arduino. Som ett alternativ kan du använda en Uno.
  • Infraröd mottagare och fjärrkontroll. Jag använde en trådlös IR -fjärrkontrollmodul som följde med en infraröd mottagare och infraröd fjärrkontroll.
  • En motståndare, 1K till 5K. Jag använder en 5K resister eftersom jag har ett gäng av dem. Resister tar bort brus som uppstår när resister inte används.
  • Brödbräda Wire kablar
  • 5 volt väggadapter

Jag köpte delarna på eBay, mestadels från Hong Kong eller Kina distributörer. Amerikanska distributörer har någon gång samma eller liknande delar till rimliga priser och snabbare leverans. Kina delar tar från 3 till 6 veckor att levereras. De distributörer jag har använt har alla varit pålitliga.

Ungefärliga kostnader: Nano $ 3, infrarött kit $ 1, brödbräda $ 2, paket med 40 trådkablar $ 1, $ 1 för en 5 volt väggadapter. Totalt, cirka $ 8. Observera, jag köpte Nano med brödbrädestiften redan lödda på plats, eftersom jag min lödkunnighet är dålig.

Steg 1: Lägg till Arduino Nano i brödbrädan

Lägg Arduino Nano till brödbrädet
Lägg Arduino Nano till brödbrädet

Anslut Arduino Nano till brödbrädet. Eller, om du föredrar det, kan du använda en Arduino Uno för detta projekt; de använder båda samma stift för detta projekt. Anslut Nano (eller Uno) till din dator via en USB -kabel.

Anslut ström och jord från Arduino till brödbrädans powerbar. Anslut Arduino 5+ -nålen till brödbrädans positiva bar. Anslut Arduino GRN (slipad) stift till brödbrädans negativa (mark) bar. Detta kommer att användas av andra komponenter.

Ladda ner och kör det grundläggande Arduino -testprogrammet: arduinoTest.ino. När programmet körs tänds den inbyggda LED -lampan i 1 sekund och släcks sedan i 1 sekund. Dessutom publiceras meddelanden som kan visas i Arduino IDE Tools/Serial Monitor.

+++ Inställning.

+ Initialiserade den inbyggda LED -digitalpinnen för utmatning. Lysdioden är släckt. ++ Gå till loop. + Loop -räknare = 1 + Loop -räknare = 2 + Loop -räknare = 3 …

Som en övning, ändra tidsfördröjningen på det blinkande ljuset, ladda upp det ändrade programmet och bekräfta ändringen.

På fotot ovan är en 140 -bitars lödlös brödbräda -trådkitlåda som du kan få för 3 till 5 dollar. De gör brädor snyggare med långa kablar för korta anslutningar.

Steg 2: Lägg till den infraröda mottagaren och anslut den till Arduino

Lägg till den infraröda mottagaren och anslut den till Arduino
Lägg till den infraröda mottagaren och anslut den till Arduino

Anslut honkablarna till hankablarna i den infraröda mottagaren (honändarna). Anslut marknålen på klockmodulen till brödbrädans markstångslist. Anslut klämmodulens strömtapp till brödbrädans positiva stapelremsa. Anslut den infraröda mottagarens utgångsstift till Arduino A1 -stiftet.

Anslut infraröd mottagare, stift uppifrån till vänster till höger:

Vänster mest (bredvid X) - Nano -stift A1 Center - 5V Höger - mark A1 + - - Nanostiftanslutningar | | | -Infraröda mottagarpinnar --------- | S | | | | --- | | | | | | --- | | | ---------

Installera ett infrarött bibliotek i Arduino IDE. Välj Verktyg/Hantera bibliotek. Filtrera din sökning genom att skriva 'IRremote'. Välj IRremote av Shirriff (för referens, biblioteket GitHub -länk). Arduino biblioteksinformation IRfjärrbibliotekslänk.

Ladda ner och kör det grundläggande testprogrammet: infraredReceiverTest.ino. När du kör programmet, rikta fjärrkontrollen mot mottagaren och tryck på olika knappar, t.ex. siffran från 0 till 9. Seriella meddelanden matas ut (skrivs ut) som kan ses i Arduino IDE Tools/Serial Monitor.

+++ Inställning.

+ Initialiserade den infraröda mottagaren. ++ Gå till loop. + Tangent OK - Toggle + Key> - nästa + Key < - föregående + Key up + Key down + Key 1: + Key 2: + Key 3: + Key 4: + Key 6: + Key 7: + Key 8: + Knapp 9: + Knapp 0: + Knapp * (Retur) + Knapp # (Avsluta)

Som övning kan du använda en fjärrkontroll för att se värdena som skrivs ut. Du kan sedan ändra programmet för att använda värdena i infraredSwitch () -funktionens switch -sats. Till exempel, tryck på "0" -knappen och få värdet för din fjärrkontroll, till exempel "0xE0E08877". Lägg sedan till ett fall i switch -satsen som i följande kodavsnitt.

fall 0xFF9867:

fall 0xE0E08877: Serial.print ("+ nyckel 0:"); Serial.println (""); ha sönder;

Steg 3: Skapa ett Mico SD -kort med MP3 -filer

Eftersom DFPlayer är en liten billig maskinvara hanterar den filer och mappar på ett enkelt sätt. Jag har haft blandade resultat vid uppspelning av MP3 -filer som inte följer följande rekommenderade format, och därför rekommenderar jag följande. Jag har inte heller testat andra alternativ, till exempel tresiffriga filnamn (exempel: 003.mp3), men jag har sett tresiffriga filnamn som används i andra instruktioner och exempel.

Följande är mina rekommenderade filnamn och mappkatalogformat:

  • Standardmappnamnet är MP3, placerat under SD -kortets rotkatalog: SD:/MP3. Denna mapp är valfri när du använder flera mappar.
  • Spelaren kommer också att spela MP3 -filer i rotkatalogen.
  • När du använder flera mappar, använd mappnamnen: 01, 02, 03, …, 99.
  • MP3 -filnamnet ska vara fyra siffror med "0001.mp3" som tillägg, till exempel "0001.mp3".
  • Filer kan placeras i MP3 -mappen eller i en av flera mappar.
  • Filnamn: 0001.mp3 till 0255.mp3. Observera att spelaren också spelar MP3 -filer med andra namn.
  • Du kan lägga till tecken efter siffrorna, till exempel "0001hello.mp3".

Det rekommenderas att du formaterar kortet innan du lägger till filer. Detta säkerställer att kortet är rent från systemfiler. Formatera med FAT32 MS-DOS.

På Mac använder du diskverktyget för att formatera disken: Program> Verktyg> öppna Diskverktyg.

Klicka på SD-kortet, exempel: APPLE SD-kortläsare Media/MUSICSD. Klicka på menyalternativet, Radera. Setnamn, exempel: MUSICSD. Select: MS-DOS (Fat). Klicka på Radera.

Skivan rengörs och formateras.

Jag skrev ett Java -program som kopierar en katalog med MP3 -filer till en målkatalog med hjälp av katalog- och filnamn som fungerar med en DFPlayer -modul. För att köra programmet behöver du Java JRE installerat. Följande är programmets hjälputmatning.

$ java -jar mp3player.jar

+++ Start, DFPlayer -modul kopieringsprogram. Syntax: java -jar mp3player.jar copy [(IN: MP3 directory) (OUT: MP3 directory)] ---------------------- Detta program kopierar en katalog MP3 -filer för att skapa en annan katalog med MP3 -filer med hjälp av katalog- och filnamn som fungerar med en DFPlayer -modul. Innan du kör detta program, + Skapa en katalog med dina MP3 -filer. + Skapa en målkatalog. + Destinationskatalogen är dit MP3 -filerna kommer att kopieras till, ++ med hjälp av sifferkatalog och filnamn. + Destinationskatalogen ska vara tom. + Om det finns filer i den, ta bort filerna och katalogerna. ---------------------- + Kör det här programmet. + Syntax: java -jar mp3player.jar copy [(IN: MP3 directory) (OUT: MP3 directory)] + Syntax med standardinställningar: java -jar mp3player.jar copy + Standardkatalognamn: mp3player1 och mp3player2. + Samma som: java -jar mp3player.jar kopiera mp3player1 mp3player2. ---------------------- + Sätt in SD-kortet i din dator. + Ta bort kataloger och filer från SD -kortet. + Töm papperskorgen eftersom filerna fortfarande finns på SD -kortet och DFPlayer -modulen kan spela dem. + Kopiera de nya katalogerna och filerna till SD -kortet. + Mata ut kortet från datorn. ---------------------- + Sätt in kortet i DFPlayer-modulen. + Kortet är klart att spela

För att se källkoden, klicka här. Klicka här för att ladda ner JAR -programfilen som du kan köra.

Som referens

På Mac, från kommandoraden, kan du köra följande.

Lista för att hitta kortet.

$ diskutil lista

… /Dev /disk3 (intern, fysisk): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *4.0 GB disk3 1: DOS_FAT_32 MUSICSD 4.0 GB disk3s1 $ ls /Volumes /MUSICSD

Kopiera filer i ordning till SD -kortet. Eftersom DFPlayer kan sortera på tidsstämpeln, kopiera filerna i filnamnsordningen.

Rensa dolda filer som kan orsaka problem (referens:

$ dot_clean /Volumes /MUSICSD

Ditt SD -kort är nu klart att använda. Sätt in den i din DFPlayer -modul.

Steg 4: Koppla in DFPlayer -modulen som spelar MP3 -filer

Kabel i DFPlayer -modulen som spelar MP3 -filer
Kabel i DFPlayer -modulen som spelar MP3 -filer
Kabel i DFPlayer -modulen som spelar MP3 -filer
Kabel i DFPlayer -modulen som spelar MP3 -filer
Kabel i DFPlayer -modulen som spelar MP3 -filer
Kabel i DFPlayer -modulen som spelar MP3 -filer

Jag har separerat anslutningarna i tre delar: seriell kommunikation, ström och högtalare/ljud.

1. Anslut Arduino RX/TX -stiften till DFPlayer -modulen. Anslut en kabel mellan Arduino pin 10 och DFPlayer pin 3 (TX). Anslut en resister, jag använder en 5K resister från DFPlayer pin 2 (RX) till en tom rad mellan Arduino och DFPlayer. Anslut en kabel från Nano -stift 11 till 5K -resistorn. 5K -resistorn tar bort brus som uppstår när resister inte används.

2. Anslut jordstiftet (GND) på DFPlayer -modulen till brödbrädans markstångslist. Anslut strömstiftet (VCC) på DFPlayer -modulen till brödbrädans positiva stapelremsa.

3. Om du har en enda liten högtalare, anslut den till stift 6 (SPK-) och 8 (SPK+) som på bilden ovan med Nano.

DFPlayer Minipinnar

Installera DFPlayer -biblioteket i Arduino IDE. Välj Verktyg/Hantera bibliotek. Filtrera din sökning genom att skriva 'DFRobotDFPlayerMini'. Välj DFRobotDFPlayerMini by DFRobot minispelarbibliotek (för referens, bibliotekets länk). För min implementering laddade jag version 1.0.5.

För referens, bibliotekets länk. Och länken till DFPlayer -wikisidan.

Ladda MP3 -filer på micro SD -kortet. Du kan ha låtar i separata kataloger. Sätt in SD -kortet i DFPlayer.

Ladda ner och kör programmet MP3 -spelare: mp3infrared.ino. När du kör programmet, rikta fjärrkontrollen mot mottagaren och tryck på OK -knappen för att börja spela den första låten. När den börjar spelas upp tänds och lyser DFPlayer -blå lampan medan en fil spelas upp.

Avancerad konfiguration

Jag har byggt en Altair 8800 -emulator som använder en Arduino Mega. När jag lade till DFPlayer var det mycket brus. För att bli av med bullret använde jag en separat strömförsörjning för DFPlayer. Mega har en strömförsörjning och skickar seriella styrsignaler till DFPlayer. DFPlayer har en annan strömförsörjning och tar emot och implementerar de seriella styrsignalerna från Mega.

På fotot ovan driver Altair -emulatorns vita mini -USB -hubb Mega och är ansluten till den bärbara datorns svarta mini -hubb. DFPlayer har en USB -kabel som ansluter den direkt till den bärbara datorns svarta minihub. Denna konfiguration tog bort det brus som fanns när DFPlayer matades genom emulatorns vita minihub.

Klicka här för koden som är konfigurerad för Mega. Den versionen av koden med Mega RX/TX -stift, där som en Nano eller Uno använder programvaru -seriella portnålar.

Följande är för referens

Anslutningar som används med en Arduino, 1. UART -serie, RX för mottagning av kontrollinstruktioner för DFPlayer. RX: ingång ansluter till TX på Mega/Nano/Uno. TX för att skicka tillståndsinformation. TX: utgång ansluts till RX på Mega/Nano/Uno. Anslutningar för Nano eller Uno: RX (2) för att motstå seriell programvarustift 11 (TX). TX (3) till seriell mjukvara pin 10 (RX). Anslutningar för Mega: RX (2) till motstånd mot Serial1 stift 18 (TX). TX (3) till Serial1 stift 19 (RX). 2. Strömalternativ. Anslut från Arduino direkt till DFPlayer: VCC till +5V. Observera, fungerar också med +3.3V i fallet med en NodeMCU. GND till jord (-). Använd en helt annan strömkälla: VCC till +5V för den andra strömkällan. GND till jord (-) för den andra strömkällan. Jag såg ett annat strömalternativ: Från Arduino +5V, använd en 7805 med kondensatorer och diod till DFPlayer VCC -stift. GND till jord (-). 3. Högtalarutgång. För en enda högtalare, mindre än 3W: SPK - till högtalarstiften. SPK + till den andra högtalarpinnen. För utmatning till en stearoförstärkare eller hörlurar: DAC_R för att mata ut höger (+) DAC_L för att mata ut vänster (+) GND till utgångsjord.

Efter de viktigaste biblioteksfunktionssamtalen. Länk till wiki -sidan för DFPlayer.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Spela den första mp3 myDFPlayer.pause (); // pausa mp3 myDFPlayer.start (); // starta mp3 från pausen ------------------------------ myDFPlayer.next (); // Spela nästa mp3 myDFPlayer.previous (); // Spela tidigare mp3 ------------------------------ myDFPlayer.playMp3Folder (4); // spela specifik mp3 i SD: /MP3/0004.mp3; Filnamn (0 ~ 65535) myDFPlayer.playFolder (15, 4); // spela specifik mp3 i SD: /15/004.mp3; Mappnamn (1 ~ 99); Filnamn (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // spela specifik mp3 i SD: /02/004.mp3; Mappnamn (1 ~ 10); Filnamn (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Loop den första mp3 myDFPlayer.enableLoop (); // aktivera loop. myDFPlayer.disableLoop (); // inaktivera loop. myDFPlayer.loopFolder (5); // slinga alla mp3 -filer i mappen SD:/05. myDFPlayer.enableLoopAll (); // slinga alla mp3 -filer. myDFPlayer.disableLoopAll (); // stoppa loop alla mp3 -filer. ------------------------------ myDFPlayer.volume (10); // Ställ in volymvärde. Från 0 till 30 myDFPlayer.volumeUp (); // Volym upp myDFPlayer.volumeDown (); // Volym ned ------------------------------ myDFPlayer.setTimeOut (500); // Ställ in seriell kommunikationstid för 500 ms myDFPlayer.reset (); // Återställ modulen ------------------------------ Serial.println (myDFPlayer.readState ()); // läs mp3 -tillstånd Serial.println (myDFPlayer.readVolume ()); // läs aktuell volym Serial.println (myDFPlayer.readEQ ()); // läs EQ -inställning Serial.println (myDFPlayer.readFileCounts ()); // läs alla filantal på SD -kort Serial.println (myDFPlayer.readCurrentFileNumber ()); // läs aktuellt uppspelningsfilnummer Serial.println (myDFPlayer.readFileCountsInFolder (3)); // läs fyllningsantal i mapp SD:/03 ------------------------------ myDFPlayer.available ()

Steg 5: Extern strömförsörjning

Image
Image
Extern strömförsörjning
Extern strömförsörjning
Extern strömförsörjning
Extern strömförsörjning

Nu när din MP3 -spelare är testad och fungerar kan du koppla bort den från datorn och använda den med en oberoende strömförsörjning. För enkelhetens skull använder jag en 5 volt väggadapter, som kan köpas för ungefär en dollar, och en USB -kabel, ytterligare en dollar. Kabeln ansluter Arduino till +5V väggadapter. Eftersom Arduino -ström och jordstift är anslutna till brödbräda, kommer det att driva de andra komponenterna. På grund av dess enkelhet och låga kostnad använder jag samma kombination för att driva andra projekt.

Bilden till höger och videon visar spelaren ansluten till min $ 40 -förstärkare som sitter på den högra Bose -högtalaren på mitt skrivbord. Det är mitt stationära musiksystem: Arduino MP3 -spelare, Douk Audio -förstärkare och 2 Bose -högtalare. Bra ljudkvalitet.

Jag hoppas att du lyckas och tycker om att bygga din egen MP3 -musikspelare.

Steg 6: Eliminera statiskt brus

På låg volym var det irriterande statiskt brus i bakgrunden. Bruset var okej när DFPlayer -volymen var högre och musik spelades. Men när musiken var tyst var det statiska där.

Jag hittade en StackExchage -sida som hade många förslag. Följande fungerade för mig:

  • Anslut en kort tråd mellan DFPlayer -jordstiftet: stift 7 till 10.
  • Använd en separat USB -väggkontakt (5V) för att driva DFPlayer -modulen.
  • Anslut väggpluggen till Arduino -marken. Detta krävdes för att seriekontrollen skulle fungera mellan Arduino och spelaren.

Ovanstående testades på min Altair 8800 -emulator som jag förbättrade med ett DFPlayer för att spela musik. Spelaren styrs genom att vända frontpanelens växlar.

Rekommenderad: