Indholdsfortegnelse:

Infrarød styret MP3 -afspiller: 6 trin (med billeder)
Infrarød styret MP3 -afspiller: 6 trin (med billeder)

Video: Infrarød styret MP3 -afspiller: 6 trin (med billeder)

Video: Infrarød styret MP3 -afspiller: 6 trin (med billeder)
Video: Zigbee lys-, temperatur- og fugtighedssensor med Moes e-ink-skærm 2024, September
Anonim
Image
Image
Infrarød styret MP3 -afspiller
Infrarød styret MP3 -afspiller

Byg en infrarød fjernbetjening MP3 -afspiller til omkring $ 10 (usd). Det har de sædvanlige funktioner: afspil, pause, afspil næste eller forrige, afspil en enkelt sang eller alle sangene. Det har også equalizervariationer og volumenkontrol. Alt kan styres via en fjernbetjening.

Programmeret funktionalitet:

Fjernbetjening: Funktion

+ 01: Lydstyrke ned + 02: Indstil til bibliotek #2. + 03: Lydstyrke op + 4… 9: Vælg følgende equalizer -indstillinger: ++ (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): Afspil + >>: Afspil næste + <<: Afspil forrige + Op: Afspil næste bibliotekssange + Dn: Afspil tidligere bibliotekssange + *| Retur: Sløjfe enkelt sang: til + #| Afslut: Sløjfe enkelt sang: slukket

Det første trin er at teste Arduino og tilslutte den til brødbrættet. Følgende trin er designet til at fungere uafhængigt. Hvert trin har ledningsinstruktioner og testinstruktioner. Når jeg bygger projekter, wire og tester jeg hver komponent for at bekræfte, at de fungerer. Dette hjælper med at integrere komponenter, fordi ved, at hvert arbejde og jeg kan fokusere på integrationskravene.

Denne Instructable kræver, at du har Arduino IDE installeret. Du skal også have de grundlæggende færdigheder til at downloade et Arduino -skitseprogram fra linkene i dette projekt, oprette et bibliotek til programmet (biblioteksnavn det samme som programnavnet). De næste trin er at indlæse, se og redigere programmet i IDE. Upload derefter programmet via et USB -kabel til dit Arduino -kort.

Forbrugsvarer

  • Nano V3 ATmega328P CH340G Micro controller board til Arduino. Som et alternativ kan du bruge en Uno.
  • Infrarød modtager og fjernbetjening. Jeg brugte et IR trådløst fjernbetjeningsmodul, der fulgte med en infrarød modtager og infrarød fjernbetjening.
  • En modstander, 1K til 5K. Jeg bruger en 5K resister, fordi jeg har en masse af dem. Modstanderen fjerner støj, der findes, når resisteren ikke bruges.
  • Breadboard Wire kabler
  • 5 volt vægadapter

Jeg købte delene på eBay, hovedsagelig fra Hong Kong eller Kina distributører. Amerikanske distributører har engang de samme eller lignende dele til rimelige priser og hurtigere levering. Kina dele tager fra 3 til 6 uger at blive leveret. De distributører, jeg har brugt, har alle været pålidelige.

Omtrentlige omkostninger: Nano $ 3, Infrarødt kit $ 1, brødbræt $ 2, pakke med 40 trådkabler $ 1, $ 1 for en 5 volt vægadapter. I alt omkring $ 8. Bemærk, jeg købte Nano med brødbrætstifterne allerede loddet på plads, da jeg er dårlig til at lodde.

Trin 1: Tilføj Arduino Nano til brødbrættet

Tilføj Arduino Nano til brødbrættet
Tilføj Arduino Nano til brødbrættet

Sæt Arduino Nano i brødbrættet. Eller, hvis du foretrækker det, kan du bruge en Arduino Uno til dette projekt; de bruger begge de samme pins til dette projekt. Tilslut Nano (eller Uno) til din computer via et USB -kabel.

Tilslut strøm og jord fra Arduino til brødbrættets power bar. Tilslut Arduino 5+ -nålen til breadboardets positive bar. Tilslut Arduino GRN (jord) stiften til brødbrættets negative (jordede) stang. Dette vil blive brugt af andre komponenter.

Download og kør det grundlæggende Arduino -testprogram: arduinoTest.ino. Når programmet køres, tændes den indbyggede LED -lampe i 1 sekund og slukker derefter i 1 sekund. Der indsendes også meddelelser, som kan ses i Arduino IDE Tools/Serial Monitor.

+++ Opsætning.

+ Initialiserede den indbyggede LED digitale pin til output. LED er slukket. ++ Gå til loop. + Loop tæller = 1 + Loop tæller = 2 + Loop tæller = 3 …

Som en øvelse skal du ændre tidsforsinkelsen på det blinkende lys, uploade det ændrede program og bekræfte ændringen.

På billedet ovenfor er en 140 -stykke loddemet brødfri jumper wire -kasse, du kan få for 3 til 5 dollars. De gør brædder pænere, at ved hjælp af lange kabler til korte forbindelser.

Trin 2: Tilføj den infrarøde modtager og tilslut den til Arduino

Tilføj den infrarøde modtager og tilslut den til Arduino
Tilføj den infrarøde modtager og tilslut den til Arduino

Sæt hun -til -han -kablet i den infrarøde modtager (hunender). Tilslut jordpinden på urmodulet til brødbrættets jordstangstrimmel. Tilslut strømstiften på urmodulet til brødbrættets positive bjælkeliste. Tilslut udgangsstiften på den infrarøde modtager til Arduino A1 -stiften.

Tilslut infrarød modtager, stifter fra øverst til venstre til højre:

Mest venstre (ved siden af X) - Nano pin A1 Center - 5V Højre - jord A1 + - - Nano pin tilslutninger | | | -Infrarøde modtagerstifter --------- | S | | | | --- | | | | | | --- | | | ---------

Installer et infrarødt bibliotek i Arduino IDE. Vælg Værktøjer/Administrer biblioteker. Filtrer din søgning ved at skrive 'IRremote'. Vælg IR fjernbetjening af Shirriff (til reference, biblioteket GitHub -link). Arduino biblioteksinformation IR fjernbibliotek link.

Download og kør det grundlæggende testprogram: infraredReceiverTest.ino. Når du kører programmet, skal du rette din fjernbetjening mod modtageren og trykke på forskellige knapper, f.eks. Tallet fra 0 til 9. Serielle meddelelser udsendes (udskrives), som kan ses i Arduino IDE Tools/Serial Monitor.

+++ Opsætning.

+ Initialiserede den infrarøde modtager. ++ Gå til loop. + Tast OK - Toggle + Tast> - næste + Tast < - forrige + Tast op + Tast ned + Tast 1: + Tast 2: + Tast 3: + Tast 4: + Tast 6: + Tast 7: + Tast 8: + Tast 9: + Tast 0: + Tast * (Retur) + Tast # (Afslut)

Som en øvelse skal du bruge en fjernsyn til at se værdierne udskrives. Du kan derefter ændre programmet til at bruge værdierne i infrarødSwitch () -funktionens switch -sætning. For eksempel skal du trykke på "0" -tasten og få værdien for din fjernbetjening, for eksempel "0xE0E08877". Tilføj derefter en sag i switch -sætningen som i følgende kodestykke.

sag 0xFF9867:

sag 0xE0E08877: Serial.print ("+ nøgle 0:"); Serial.println (""); pause;

Trin 3: Opret et Mico SD -kort med MP3 -filer

Da DFPlayer er et lille billigt stykke hardware, styrer det filer og mapper på en forenklet måde. Jeg har haft blandede resultater, når jeg afspiller MP3 -filer, der ikke følger følgende anbefalede formater, og derfor anbefaler jeg følgende. Jeg har også ikke testet andre muligheder, såsom trecifrede filnavne (eksempel: 003.mp3), men jeg har set 3 -cifrede filnavne brugt i andre instruktioner og prøver.

Følgende er mine anbefalede filnavn og mappemappenavnsformater:

  • Standardmappenavnet er MP3, placeret under rodmappen på SD -kortet: SD:/MP3. Denne mappe er valgfri, når du bruger flere mapper.
  • Afspilleren vil også afspille MP3 -filer i rodmappen.
  • Når du bruger flere mapper, skal du bruge mappenavne: 01, 02, 03,…, 99.
  • MP3 -filnavnet skal være 4 cifre med "0001.mp3" som udvidelse, for eksempel "0001.mp3".
  • Filer kan placeres i MP3 -mappen eller i en af de flere mapper.
  • Filnavne: 0001.mp3 til 0255.mp3. Bemærk, afspilleren vil også afspille MP3 -filer med andre navne.
  • Du kan tilføje tegn efter cifrene, for eksempel "0001hello.mp3".

Det anbefales, at du formaterer kortet, før du tilføjer filer. Dette sikrer, at kortet er rent for systemfiler. Formatér ved hjælp af FAT32 MS-DOS.

På Mac skal du bruge diskværktøjet til at formatere disken: Programmer> Hjælpeprogrammer> Åbn Diskværktøj.

Klik på SD-kortet, eksempel: APPLE SD Card Reader Media/MUSICSD. Klik på menupunktet, Slet, Sæt navn, eksempel: MUSICSD. Select: MS-DOS (Fed). Klik på Slet.

Disken renses og formateres.

Jeg skrev et Java -program, der vil kopiere et bibliotek med MP3 -filer til et destinationsmappe ved hjælp af bibliotek og filnavne, der fungerer med et DFPlayer -modul. For at køre programmet skal du have Java JRE installeret. Følgende er programmets hjælp output.

$ java -jar mp3player.jar

+++ Start, DFPlayer -modul kopieringsprogram. Syntaks: java -jar mp3player.jar kopi [(IN: MP3 bibliotek) (OUT: MP3 bibliotek)] ---------------------- Dette program kopierer et bibliotek MP3 -filer for at oprette et andet bibliotek med MP3 -filer ved hjælp af bibliotek- og filnavne, der fungerer med et DFPlayer -modul. Inden du kører dette program, + Opret en mappe med dine MP3 -filer. + Opret en destinationsmappe. + Destinationskataloget er stedet, hvor MP3 -filerne skal kopieres til, ++ ved hjælp af cifretalskatalog og filnavne. + Din destinationsmappe skal være tom. + Hvis der er filer i den, skal du slette filerne og mapperne. ---------------------- + Kør dette program. + Syntaks: java -jar mp3player.jar kopi [(IN: MP3 bibliotek) (OUT: MP3 bibliotek)] + Syntaks ved hjælp af standardværdier: java -jar mp3player.jar kopi + Standard biblioteksnavne: mp3player1 og mp3player2. + Samme som: java -jar mp3player.jar kopier mp3player1 mp3player2. ---------------------- + Indsæt SD-kortet i din computer. + Slet mapper og filer fra SD -kortet. + Tøm papirkurven, fordi filerne stadig er på SD -kortet, og DFPlayer -modulet muligvis afspiller dem. + Kopier de nye mapper og filer til SD -kortet. + Skub kortet ud fra computeren. ---------------------- + Indsæt kortet i DFPlayer-modulet. + Kortet er klar til at spille

Klik her for at se kildekoden. Klik her for at downloade JAR -programfilen, som du kan køre.

Til reference

På Mac, fra kommandolinjen, kan du køre følgende.

Liste for at finde kortet.

$ diskutil liste

… /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

Kopier filer i rækkefølge til SD -kortet. Da DFPlayer kan sortere på tidsstemplet, skal du kopiere filerne i filnavnsrækkefølgen.

Rens skjulte filer, der kan forårsage problemer (reference:

$ dot_clean /Volumes /MUSICSD

Dit SD -kort er nu klar til brug. Indsæt det i dit DFPlayer -modul.

Trin 4: Tilslut DFPlayer -modulet, der afspiller MP3 -filer

Tråd i DFPlayer -modulet, der afspiller MP3 -filer
Tråd i DFPlayer -modulet, der afspiller MP3 -filer
Tråd i DFPlayer -modulet, der afspiller MP3 -filer
Tråd i DFPlayer -modulet, der afspiller MP3 -filer
Tråd i DFPlayer -modulet, der afspiller MP3 -filer
Tråd i DFPlayer -modulet, der afspiller MP3 -filer

Jeg har adskilt forbindelserne i 3 dele: seriel kommunikation, strøm og højttaler/lyd.

1. Tilslut Arduino RX/TX -benene til DFPlayer -modulet. Tilslut en ledning mellem Arduino pin 10 og DFPlayer pin 3 (TX). Tilslut en resister, jeg bruger en 5K resister fra DFPlayer pin 2 (RX) til en tom række mellem Arduino og DFPlayer. Tilslut en ledning fra Nano pin 11 til 5K resister. 5K resister fjerner støj, der findes, når resister ikke bruges.

2. Tilslut jordstiften (GND) på DFPlayer -modulet til brødbrættets jordstangstrimmel. Tilslut strømstiften (VCC) på DFPlayer -modulet til brødbrættets positive bjælkeliste.

3. Hvis du har en enkelt lille højttaler, skal du slutte den til ben 6 (SPK-) og 8 (SPK+) som på ovenstående foto med Nano.

DFPlayer Mini pins

Installer DFPlayer -biblioteket i Arduino IDE. Vælg Værktøjer/Administrer biblioteker. Filtrer din søgning ved at skrive 'DFRobotDFPlayerMini'. Vælg DFRobotDFPlayerMini by DFRobot mini player library (til reference, bibliotekets link). Til min implementering indlæste jeg version 1.0.5.

Til reference, bibliotekets link. Og linket til DFPlayer -wiki -siden.

Indlæs MP3 -filer på micro SD -kortet. Du kan have sange i separate biblioteker. Sæt SD -kortet i DFPlayer.

Download og kør MP3 -afspillerprogrammet: mp3infrared.ino. Når du kører programmet, skal du rette fjernbetjeningen mod receiveren og trykke på knappen OK for at starte afspilningen af den første sang. Når det begynder at afspille, tændes DFPlayer -blåt lys og forbliver tændt, mens en fil afspilles.

Avanceret konfiguration

Jeg har bygget en Altair 8800 -emulatorcomputer, der bruger en Arduino Mega. Da jeg tilføjede DFPlayer var der meget støj. For at slippe af med støjen brugte jeg en separat strømforsyning til DFPlayer. Mega'en har en strømforsyning og sender serielle styresignaler til DFPlayer. DFPlayer har en anden strømforsyning og modtager og implementerer de serielle styresignaler fra Mega.

På ovenstående foto driver Altair -emulatorens hvide mini USB -hub Mega'en og er forbundet til den bærbare sorte mini -hub. DFPlayer har et USB -kabel, der forbinder det direkte med den bærbare sorte mini -hub. Denne konfiguration fjernede den støj, der fandtes, da DFPlayer blev drevet gennem emulatorens hvide mini -hub.

Klik her for at se den kode, der er konfigureret til Mega. Denne version af koden ved hjælp af Mega RX/TX -pins, hvor man som Nano eller Uno bruger softwareprogrammer.

Følgende er til reference

Forbindelser brugt med en Arduino, 1. UART -serie, RX til modtagelse af kontrolinstruktioner til DFPlayer. RX: input forbinder til TX på Mega/Nano/Uno. TX til afsendelse af statens oplysninger. TX: output forbindes til RX på Mega/Nano/Uno. Forbindelser til Nano eller Uno: RX (2) for at modstå seriel softwarepind 11 (TX). TX (3) til seriel software pin 10 (RX). Forbindelser til Mega: RX (2) til modstand mod Serial1 pin 18 (TX). TX (3) til Serial1 pin 19 (RX). 2. Strømindstillinger. Tilslut fra Arduino direkte til DFPlayer: VCC til +5V. Bemærk, fungerer også med +3.3V i tilfælde af en NodeMCU. GND til jorden (-). Brug en helt anden strømkilde: VCC til +5V for den anden strømkilde. GND til jord (-) for den anden strømkilde. Jeg så en anden strømindstilling: Fra Arduino +5V skal du bruge en 7805 med kondensatorer og diode til DFPlayer VCC -stiften. GND til jorden (-). 3. Højttalerudgang. For en enkelt højttaler, mindre end 3W: SPK - til højttalerpinden. SPK + til den anden højttalerstift. For output til en stearo forstærker eller øretelefoner: DAC_R til output højre (+) DAC_L til output venstre (+) GND til output jord.

Efter opkald fra nøglebiblioteket. Link til wiki -siden DFPlayer.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Afspil den første mp3 myDFPlayer.pause (); // pause mp3 myDFPlayer.start (); // start mp3 fra pausen ------------------------------ myDFPlayer.next (); // Afspil næste mp3 myDFPlayer.previous (); // Afspil tidligere mp3 ------------------------------ myDFPlayer.playMp3Folder (4); // afspil specifik mp3 i SD: /MP3/0004.mp3; Filnavn (0 ~ 65535) myDFPlayer.playFolder (15, 4); // afspil specifik mp3 i SD: /15/004.mp3; Mappenavn (1 ~ 99); Filnavn (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // afspil specifik mp3 i SD: /02/004.mp3; Mappenavn (1 ~ 10); Filnavn (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Sløjf den første mp3 myDFPlayer.enableLoop (); // aktiver loop. myDFPlayer.disableLoop (); // deaktiver loop. myDFPlayer.loopFolder (5); // loop alle mp3 -filer i mappen SD:/05. myDFPlayer.enableLoopAll (); // loop alle mp3 -filer. myDFPlayer.disableLoopAll (); // stop loop alle mp3 -filer. ------------------------------ myDFPlayer.volume (10); // Indstil volumenværdi. Fra 0 til 30 myDFPlayer.volumeUp (); // Lydstyrke op på myDFPlayer.volumeDown (); // Lydstyrke ned ------------------------------ myDFPlayer.setTimeOut (500); // Indstil seriel kommunikationstid ud 500ms myDFPlayer.reset (); // Nulstil modulet ------------------------------ Serial.println (myDFPlayer.readState ()); // læs mp3 -tilstand Serial.println (myDFPlayer.readVolume ()); // læs den aktuelle mængde Serial.println (myDFPlayer.readEQ ()); // læs EQ -indstilling Serial.println (myDFPlayer.readFileCounts ()); // læs alle filtællinger i SD -kort Serial.println (myDFPlayer.readCurrentFileNumber ()); // læs det aktuelle afspilningsfilnummer Serial.println (myDFPlayer.readFileCountsInFolder (3)); // læs fyldtællinger i mappe SD:/03 ------------------------------ myDFPlayer.available ()

Trin 5: Ekstern strømforsyning

Image
Image
Ekstern strømforsyning
Ekstern strømforsyning
Ekstern strømforsyning
Ekstern strømforsyning

Nu hvor din MP3 -afspiller er testet og fungerer, kan du tage den ud af computeren og bruge den med en uafhængig strømforsyning. For enkelheds skyld bruger jeg en 5 volt vægadapter, som kan købes for omkring en dollar, og et USB -kabel, en anden dollar. Kablet forbinder Arduino med +5V vægadapteren. Da Arduino strøm- og jordstiftene er forbundet til brødbræt, vil det drive de andre komponenter. På grund af sin enkelhed og lave omkostninger bruger jeg den samme kombination til at drive andre projekter.

Billedet til højre og videoen viser afspilleren forbundet til min $ 40 amp sidder på den rigtige Bose -højttaler på mit skrivebord. Det er mit stationære musikanlæg: Arduino MP3 -afspiller, Douk Audio -forstærker og 2 Bose -højttalere. God lydkvalitet.

Jeg håber, at du får succes og nyder at bygge din helt egen MP3 -musikafspiller.

Trin 6: Fjern statisk støj

Ved lav volumen var der en irriterende statisk støj i baggrunden. Støjen var i orden, når DFPlayer -lydstyrken var højere, og der spillede musik. Men da musikken var stille, var den statiske der.

Jeg fandt en StackExchage -side, der havde masser af forslag. Følgende fungerede for mig:

  • Tilslut en kort ledning mellem DFPlayer -stifterne: ben 7 til 10.
  • Brug et separat USB -stik (5V) til at forsyne DFPlayer -modulet.
  • Tilslut vægstikets jord til Arduino -jorden. Dette var påkrævet for at få det serielle kontrolarbejde mellem Arduino og afspilleren.

Ovenstående blev testet på min Altair 8800 -emulator, som jeg forbedrede med et DFPlayer for at afspille musik. Spilleren styres ved at vende frontpanelets skifter.

Anbefalede: