INHOUDSOPGAWE:

Infrarooi beheerde MP3 -speler: 6 stappe (met foto's)
Infrarooi beheerde MP3 -speler: 6 stappe (met foto's)

Video: Infrarooi beheerde MP3 -speler: 6 stappe (met foto's)

Video: Infrarooi beheerde MP3 -speler: 6 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Junie
Anonim
Image
Image
Infrarooi beheerde MP3 -speler
Infrarooi beheerde MP3 -speler

Bou 'n infrarooi afstandbeheerder MP3 -speler vir ongeveer $ 10 (usd). Dit het die gewone kenmerke: speel, breek, speel volgende of vorige, speel 'n enkele liedjie of al die liedjies. Dit het ook gelykmakervariasies en volumebeheer. Alles beheerbaar via 'n afstandsbediening.

Geprogrammeerde funksie:

Afstandsbediening: funksie

+ 01: Laer volume + 02: Stel in gids 2. + 03: Volume verhoog + 4 … 9: Kies die volgende gelykmakerinstellings: ++ (4) DFPLAYER_EQ_POP (5) DFPLAYER_EQ_CLASSIC (6) DFPLAYER_EQ_NORMAL ++ (7) DFPLAYER_EQ_ROCK (8) DFPLAYER_EQ_JAZZASS (9): Speel + >>: Speel volgende + <<: Speel vorige + omhoog: speel volgende gidsliedjies + Dn: speel vorige gidsliedjies + *| Terugkeer: lus -enkelliedjie: aan + #| Uitgang: lus enkele liedjie: af

Die eerste stap is om die Arduino te toets en aan die broodbord te koppel. Die volgende stappe wat ontwerp is om onafhanklik te werk. Elke stap bevat bedradinginstruksies en toetsinstruksies. As ek projekte bou, bedraad en toets ek elke komponent om te bevestig of dit werk. Dit help om komponente te integreer, want ek weet dat ek en elke werk kan fokus op die integrasievereistes.

Hierdie instruksies vereis dat u die Arduino IDE geïnstalleer het. U moet ook oor die basiese vaardighede beskik om 'n Arduino -sketsprogram van die skakels in hierdie projek af te laai, 'n gids vir die program te skep (naam dieselfde as die programnaam). Die volgende stappe is om die program in die IDE te laai, te bekyk en te wysig. Laai die program dan via 'n USB -kabel na u Arduino -bord.

Voorrade

  • Nano V3 ATmega328P CH340G Mikrobeheerbord vir Arduino. As alternatief kan u 'n Uno gebruik.
  • Infrarooi ontvanger en afstandsbediening. Ek het 'n IR draadlose afstandsbedieningsmodule gebruik, wat saam met 'n infrarooi ontvanger en infrarooi afstandbeheer gekom het.
  • Een teenstander, 1K tot 5K. Ek gebruik 'n 5K resister omdat ek 'n klomp daarvan het. Die weerstandbepaler verwyder geraas wat voorkom wanneer die weerstand nie gebruik word nie.
  • Broodborddraadkabels
  • 5 volt muuradapter

Ek het die onderdele op eBay gekoop, meestal by Hong Kong of China verspreiders. Amerikaanse verspreiders het soms dieselfde of soortgelyke onderdele teen billike pryse en vinniger aflewering. Die aflewering van die China -onderdele neem van 3 tot 6 weke. Die verspreiders wat ek gebruik het, was betroubaar.

Geskatte koste: Nano $ 3, infrarooi kit $ 1, broodbord $ 2, pakket met 40 draadkabels $ 1, $ 1 vir 'n 5 volt muuradapter. Totaal, ongeveer $ 8. Let wel, ek het die Nano gekoop met die broodbordpenne wat reeds vasgesoldeer is, aangesien ek min soldeervaardighede swak is.

Stap 1: Voeg die Arduino Nano by die broodbord

Voeg die Arduino Nano by die broodbord
Voeg die Arduino Nano by die broodbord

Steek die Arduino Nano in die broodbord. Of, as u dit verkies, kan u 'n Arduino Uno vir hierdie projek gebruik; hulle gebruik albei dieselfde penne vir hierdie projek. Koppel die Nano (of Uno) aan u rekenaar via 'n USB -kabel.

Koppel krag en grond van die Arduino aan die kragbalk van die broodbord. Koppel die Arduino 5+ -pen aan die positiewe balk van die broodbord. Koppel die Arduino GRN (gemaalde) pen aan die negatiewe (grond) staaf van die broodbord. Dit sal deur ander komponente gebruik word.

Laai die basiese Arduino -toetsprogram af en voer dit uit: arduinoTest.ino. As u die program uitvoer, sal die LED -lig aan boord vir 1 sekonde aanskakel en dan vir 1 sekonde afskakel. Daar word ook boodskappe geplaas wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ Die ingeboude LED digitale pen vir uitvoer. LED is af. ++ Gaan na lus. + Lusteller = 1 + Lusteller = 2 + Lusteller = 3 …

As oefening, verander die tydsvertraging op die flikkerende lig, laai die gewysigde program op en bevestig die verandering.

Op die foto hierbo is 'n boks met 140 stuk soldeerlose broodbord, wat u vir 3 tot 5 dollar kan kry. Hulle maak planke netjieser met lang kabels vir kort verbindings.

Stap 2: Voeg die infrarooi ontvanger by en koppel dit aan die Arduino

Voeg die infrarooi ontvanger by en koppel dit aan die Arduino
Voeg die infrarooi ontvanger by en koppel dit aan die Arduino

Koppel die kabels van die vroulike na die mannetjie aan die infrarooi ontvanger (eindpunte). Koppel die grondpen van die klokmodule aan die strook van die broodbord se grondstaaf. Koppel die kragpen van die klokmodule aan die positiewe staaf van die broodbord. Koppel die uitvoerpen van die infrarooi ontvanger aan die Arduino A1 -pen.

Koppel infrarooi ontvanger, penne van links bo na regs:

Mees links (langs die X) - Nano -pen A1 Sentrum - 5V Regs - grond A1 + - - Nano -penverbindings | | | -Infrarooi ontvangerpenne --------- | S | | | | --- | | | | | | --- | | | ---------

Installeer 'n infrarooi biblioteek in die Arduino IDE. Kies Gereedskap/Bestuur biblioteke. Filter u soektog deur 'IRremote' in te tik. Kies IRremote deur Shirriff (vir verwysing, die biblioteek GitHub -skakel). Arduino -biblioteekinligting IR -afstandskakelbiblioteekskakel.

Laai die basiese toetsprogram af: infraredReceiverTest.ino. As u die program uitvoer, wys u afstandsbediening op die ontvanger en druk op verskillende knoppies, soos die getal 0 tot 9. Seriële boodskappe word uitgevoer (gedruk) wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ Die infrarooi ontvanger geïnisialiseer. ++ Gaan na lus. + Sleutel OK - Wissel + Sleutel> - volgende + Sleutel < - vorige + Sleutel omhoog + Sleutel omlaag + Sleutel 1: + Sleutel 2: + Sleutel 3: + Sleutel 4: + Sleutel 6: + Sleutel 7: + Sleutel 8: + Sleutel 9: + Sleutel 0: + Sleutel * (Terug) + Sleutel # (Uitgang)

As 'n oefening, gebruik 'n TV -afstandsbediening om die waardes afgedruk te sien. U kan die program dan verander om die waardes in die skakelaarverklaring van die infraredSwitch () -funksie te gebruik. Druk byvoorbeeld die "0" sleutel en kry die waarde vir u afstandbeheer, byvoorbeeld "0xE0E08877". Voeg dan 'n saak by die skakelaarverklaring, soos in die volgende kodefragment.

saak 0xFF9867:

saak 0xE0E08877: Serial.print ("+ sleutel 0:"); Serial.println (""); breek;

Stap 3: Skep 'n Mico SD -kaart met MP3 -lêers

Aangesien die DFPlayer 'n klein goedkoop hardeware is, bestuur dit lêers en gidse op 'n eenvoudige manier. Ek het gemengde resultate gehad tydens die speel van MP3 -lêers wat nie die volgende aanbevole formate volg nie, en daarom beveel ek die volgende aan. Ek het ook nie ander opsies getoets nie, soos 3 -syfer lêernaam (byvoorbeeld: 003.mp3), maar ek het gesien dat 3 -syfer lêernaam in ander instruksies en monsters gebruik word.

Hier volg my aanbevole lêernaam- en lêergidsnaamformate:

  • Die standaard vouernaam is MP3, onder die wortelgids van die SD -kaart: SD:/MP3. Hierdie vouer is opsioneel as u meer vouers gebruik.
  • Die speler speel ook MP3 -lêers in die hoofmap.
  • As u meer gidse gebruik, gebruik u die vouername: 01, 02, 03, …, 99.
  • Die mp3 -lêernaam moet 4 syfers hê met '0001.mp3' as die uitbreiding, byvoorbeeld '0001.mp3'.
  • Lêers kan in die MP3 -lêergids of in een van die veelvuldige vouers geplaas word.
  • Lêernaam: 0001.mp3 tot 0255.mp3. Let daarop dat die speler ook 'n MP3 -lêer met ander name speel.
  • U kan karakters na die syfers byvoeg, byvoorbeeld "0001hello.mp3".

Dit word aanbeveel dat u die kaart formateer voordat u lêers byvoeg. Dit verseker dat die kaart skoon is van stelsellêers. Formateer met FAT32 MS-DOS.

Op Mac, gebruik die skyfhulpmiddel om die skyf te formateer: Toepassings> Hulpprogramme> maak Skyfhulpprogram oop.

Klik op die SD-kaart, voorbeeld: APPLE SD Card Reader Media/MUSICSD. Klik op die menu-item, Erase. Set naam, voorbeeld: MUSICSD. Select: MS-DOS (Vet). Click Erase.

Die skyf word skoongemaak en geformateer.

Ek het 'n Java -program geskryf wat 'n gids met MP3 -lêers na 'n doelmap sal kopieer, met behulp van gids- en lêernaam wat met 'n DFPlayer -module werk. Om die program uit te voer, benodig u die Java JRE geïnstalleer. Hier volg die hulpuitset van die program.

$ java -jar mp3player.jar

+++ Begin, DFPlayer module kopieer program. Sintaksis: java -jar mp3player.jar kopieer [(IN: MP3-gids) (UIT: MP3-gids)] ---------------------- Hierdie program kopieer 'n gids MP3 -lêers om 'n ander gids met MP3 -lêers te skep met behulp van gids- en lêernaam wat met 'n DFPlayer -module werk. Voordat u hierdie program uitvoer, + Maak 'n gids met u MP3 -lêers. + Skep 'n bestemmingsgids. + Die bestemmingsgids is waarheen die MP3 -lêers gekopieer sal word, ++ met behulp van syfergetalgids en lêernaam. + U bestemmingsgids moet leeg wees. + As daar lêers is, verwyder die lêers en kaarte. ---------------------- + Begin hierdie program. + Sintaksis: java -jar mp3player.jar kopieer [(IN: MP3 -gids) (UIT: MP3 -gids)] + Sintaksis met standaard: java -jar mp3player.jar copy + Standaard gidsname: mp3player1 en mp3player2. + Dieselfde as: java -jar mp3player.jar copy mp3player1 mp3player2. ---------------------- + Plaas die SD-kaart in u rekenaar. + Vee die gidse en lêers van die SD -kaart uit. + Maak asblik leeg omdat die lêers nog op die SD -kaart is en die DFPlayer -module dit kan speel. + Kopieer die nuwe gidse en lêers na die SD -kaart. + Gooi die kaart van die rekenaar af. ---------------------- + Plaas die kaart in die DFPlayer-module. + Die kaart is gereed om te speel

Klik hier om die bronkode te sien. Klik hier om die JAR -programlêer af te laai wat u kan uitvoer.

Vir verwysing

Op die Mac, vanaf die opdragreël, kan u die volgende uitvoer.

Lys om die kaart te vind.

$ bespreekil lys

… /dev /disk3 (intern, fisies): #: TYPE NAAM GROOTTE IDENTIFIER 0: FDisk_partition_scheme *4.0 GB disk3 1: DOS_FAT_32 MUSICSD 4.0 GB disk3s1 $ ls /Volumes /MUSICSD

Kopieer lêers in volgorde na die SD -kaart. Aangesien die DFPlayer op die tydstempel kan sorteer, kopieer u die lêers in die volgorde van die lêernaam.

Maak verborge lêers skoon wat probleme kan veroorsaak (verwysing:

$ dot_clean /Volumes /MUSICSD

U SD -kaart is nou gereed om te gebruik. Plaas dit in u DFPlayer -module.

Stap 4: Bedraad in die DFPlayer -module wat MP3 -lêers speel

Draad in die DFPlayer -module wat MP3 -lêers speel
Draad in die DFPlayer -module wat MP3 -lêers speel
Draad in die DFPlayer -module wat MP3 -lêers speel
Draad in die DFPlayer -module wat MP3 -lêers speel
Draad in die DFPlayer -module wat MP3 -lêers speel
Draad in die DFPlayer -module wat MP3 -lêers speel

Ek het die verbindings in drie dele geskei: seriële kommunikasie, krag en luidspreker/klank.

1. Koppel die Arduino RX/TX -penne aan die DFPlayer -module. Koppel 'n draad tussen Arduino -pen 10 en DFPlayer -pen 3 (TX). Koppel 'n weerstand, ek gebruik 'n 5K weerstand van DFPlayer pen 2 (RX) na 'n leë ry tussen die Arduino en die DFPlayer. Koppel 'n draad van Nano -pen 11 aan die 5K -weerstand. Die 5K -weerstand verwyder die geraas wat ontstaan as u die weerstand nie gebruik nie.

2. Koppel die grondpen (GND) van die DFPlayer -module aan die strook van die broodbord se grondstaaf. Koppel die kragpen (VCC) van die DFPlayer -module aan die positiewe staaf van die broodbord.

3. As u 'n enkele klein luidspreker het, koppel dit aan penne 6 (SPK-) en 8 (SPK+) soos op die foto hierbo met Nano.

DFPlayer Mini penne

Installeer die DFPlayer -biblioteek in die Arduino IDE. Kies Gereedskap/Bestuur biblioteke. Filter u soektog deur 'DFRobotDFPlayerMini' in te tik. Kies DFRobotDFPlayerMini by DFRobot mini -speler biblioteek (vir verwysing, die biblioteekskakel). Vir my implementering laai ek weergawe 1.0.5.

Ter verwysing, die biblioteekskakel. En die skakel van die DFPlayer -wiki -bladsy.

Laai MP3 -lêers op die micro SD -kaart. U kan liedjies in aparte gidse hê. Plaas die SD -kaart in die DFPlayer.

Laai die MP3 -spelerprogram af: mp3infrared.ino. As u die program uitvoer, wys u afstandsbediening op die ontvanger en druk die OK -knoppie om die eerste liedjie te begin speel. As dit begin speel, gaan die blou lig van die DFPlayer aan en bly aan terwyl 'n lêer speel.

Gevorderde konfigurasie

Ek het 'n Altair 8800 -emulator -rekenaar gebou wat 'n Arduino Mega gebruik. Toe ek die DFPlayer byvoeg, was daar baie geraas. Om van die geraas ontslae te raak, het ek 'n aparte kragtoevoer vir die DFPlayer gebruik. Die Mega het een kragtoevoer en stuur seriële beheerseine na die DFPlayer. Die DFPlayer het nog 'n kragtoevoer en ontvang en implementeer die seriële beheerseine van die Mega.

Op die foto hierbo dryf die wit mini -USB -hub van die Altair -emulator die Mega aan en is dit gekoppel aan die swart mini -hub van die skootrekenaar. Die DFPlayer het 'n USB -kabel wat dit direk met die skootrekenaar se swart mini -hub verbind. Hierdie opset verwyder die geraas wat bestaan toe die DFPlayer deur die wit mini -hub van die emulator gestuur word.

Klik hier vir die kode wat vir die Mega opgestel is. Die weergawe van die kode met Mega RX/TX -penne, waar as 'n Nano of Uno sagteware -seriële poortpenne gebruik word.

Die volgende is ter verwysing

Verbindings wat gebruik word met 'n Arduino, 1. UART -reeks, RX vir die ontvangs van beheerinstruksies van die DFPlayer. RX: invoer maak verbinding met TX op Mega/Nano/Uno. TX vir die stuur van staatsinligting. TX: uitset maak verbinding met RX op Mega/Nano/Uno. Verbindings vir Nano of Uno: RX (2) om weerstand te bied teen seriële sagteware pen 11 (TX). TX (3) na seriële sagteware pen 10 (RX). Aansluitings vir Mega: RX (2) om weerstand te bied teen Serial1 pen 18 (TX). TX (3) na Serial 1 pen 19 (RX). 2. Kragopsies. Koppel direk vanaf die Arduino aan die DFPlayer: VCC tot +5V. Let op, werk ook met +3.3V in die geval van 'n NodeMCU. GND tot grond (-). Gebruik 'n heeltemal ander kragbron: VCC tot +5V van die ander kragbron. GND tot grond (-) van die ander kragbron. Ek het 'n ander kragopsie gesien: van die Arduino +5V gebruik 'n 7805 met kapasitors en diode na die DFPlayer VCC -pen. GND tot grond (-). 3. Luidsprekeruitset. Vir 'n enkele luidspreker, minder as 3W: SPK - na die luidsprekerpen. SPK + na die ander luidsprekerpen. Vir uitset na 'n stearo -versterker of oorfone: DAC_R na regs (+) DAC_L om na links (+) GND na uitsetgrond te gaan.

Na die sleutelbiblioteek funksie oproepe. Skakel na die DFPlayer wiki -bladsy.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Speel die eerste mp3 myDFPlayer.pause (); // onderbreek die mp3 myDFPlayer.start (); // begin die mp3 vanaf die pouse ------------------------------ myDFPlayer.next (); // Speel volgende mp3 myDFPlayer.previous (); // Speel vorige mp3 ------------------------------ myDFPlayer.playMp3Folder (4); // speel spesifieke mp3 in SD: /MP3/0004.mp3; Lêernaam (0 ~ 65535) myDFPlayer.playFolder (15, 4); // speel spesifieke mp3 in SD: /15/004.mp3; Vouernaam (1 ~ 99); Lêernaam (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // speel spesifieke mp3 in SD: /02/004.mp3; Vouernaam (1 ~ 10); Lêernaam (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Los die eerste mp3 myDFPlayer.enableLoop (); // aktiveer lus. myDFPlayer.disableLoop (); // skakel lus uit. myDFPlayer.loopFolder (5); // loop alle mp3 -lêers in die gids SD:/05. myDFPlayer.enableLoopAll (); // loop alle mp3 -lêers. myDFPlayer.disableLoopAll (); // stop loop alle mp3 -lêers. ------------------------------ myDFPlayer.volume (10); // Stel volumewaarde in. Van 0 tot 30 myDFPlayer.volumeUp (); // Volume op myDFPlayer.volumeDown (); // Volume verlaag ------------------------------ myDFPlayer.setTimeOut (500); // Stel seriële kommunikasie -tydsverloop 500 ms myDFPlayer.reset () in; // Stel die module terug ------------------------------ Serial.println (myDFPlayer.readState ()); // lees mp3 staat Serial.println (myDFPlayer.readVolume ()); // lees huidige volume Serial.println (myDFPlayer.readEQ ()); // lees EQ -instelling Serial.println (myDFPlayer.readFileCounts ()); // lees alle lêertellings op SD -kaart Serial.println (myDFPlayer.readCurrentFileNumber ()); // lees die huidige afspeellêernommer Serial.println (myDFPlayer.readFileCountsInFolder (3)); // lees vulgetalle in vouer SD:/03 ------------------------------ myDFPlayer.available ()

Stap 5: Eksterne kragtoevoer

Image
Image
Eksterne kragtoevoer
Eksterne kragtoevoer
Eksterne kragtoevoer
Eksterne kragtoevoer

Noudat u MP3 -speler getoets en werk, kan u dit van u rekenaar ontkoppel en dit met 'n onafhanklike kragbron gebruik. Vir die eenvoud gebruik ek 'n 5 volt muuradapter wat vir ongeveer 'n dollar gekoop kan word, en 'n USB -kabel, nog 'n dollar. Die kabel verbind die Arduino met die +5V muuradapter. Aangesien die Arduino -krag- en grondpenne aan die broodbord gekoppel is, kan die ander komponente dit aandryf. Omdat dit eenvoudig en goedkoop is, gebruik ek dieselfde kombinasie om ander projekte aan te dryf.

Die foto aan die regterkant en die video wys die speler wat gekoppel is aan my $ 40 amp op die regte Bose -luidspreker op my lessenaar. Dit is my tafelmusiekstelsel: Arduino MP3 -speler, Douk Audio -versterker en 2 Bose -luidsprekers. Goeie klank kwaliteit.

Ek hoop dat u suksesvol is en dat u dit geniet het om u eie MP3 -musiekspeler te bou.

Stap 6: Elimineer statiese geraas

By lae volume was daar 'n irriterende statiese geraas in die agtergrond. Die geraas was goed toe die volume van die DFPlayer hoër was en musiek gespeel het. Maar toe die musiek stil was, was die statiese daar.

Ek het 'n StackExchage -bladsy gevind met baie voorstelle. Die volgende het vir my gewerk:

  • Koppel 'n kort draad tussen die DFPlayer -grondpenne: penne 7 tot 10.
  • Gebruik 'n aparte USB -muurprop (5V) om die DFPlayer -module aan te dryf.
  • Koppel die muurprop se grond aan die Arduino -grond. Dit was nodig om die seriële beheer tussen die Arduino en die speler te laat werk.

Bogenoemde is getoets op my Altair 8800 -emulator wat ek verbeter het met 'n DFPlayer om musiek te speel. Die speler word beheer deur die skakelaars van die voorpaneel om te draai.

Aanbeveel: