Sadržaj:

MP3 plejer sa infracrvenim upravljanjem: 6 koraka (sa slikama)
MP3 plejer sa infracrvenim upravljanjem: 6 koraka (sa slikama)

Video: MP3 plejer sa infracrvenim upravljanjem: 6 koraka (sa slikama)

Video: MP3 plejer sa infracrvenim upravljanjem: 6 koraka (sa slikama)
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Jun
Anonim
Image
Image
MP3 plejer sa infracrvenim upravljanjem
MP3 plejer sa infracrvenim upravljanjem

Napravite MP3 player s infracrvenim daljinskim upravljačem za oko 10 USD (USD). Ima uobičajene značajke: reproducirajte, pauzirajte, reproducirajte sljedeću ili prethodnu, pustite jednu pjesmu ili sve pjesme. Takođe ima varijacije ekvilajzera i kontrolu jačine zvuka. Sve se može kontrolirati putem daljinskog upravljača.

Programirana funkcionalnost:

Daljinski ključ: Funkcija

+ 01: Smanjivanje zvuka + 02: Postavite na imenik #2. + 03: Pojačavanje zvuka + 4… 9: Odaberite sljedeće postavke ekvilajzera: ++ (4) DFPLAYER_EQ_POP (5) DFPLAYER_EQ_CLASSIC (6) DFPLAYER_EQ_NORMAL ++ (7) DFPLAYER_EQ_ROCK (8) DFPLAYER_EQ_JAZZ (9) OKPLAYER_Q: Reproduciraj + >>: Reproduciraj sljedeće + <<: Reproduciraj prethodnu + Gore: Reproduciraj sljedeće pjesme iz direktorija + Dn: Reproduciraj prethodne pjesme iz direktorija + *| Povratak: Ponovi jednu pjesmu u petlji: uključeno + #| Izlaz: Ponavljanje pojedinačne pjesme: isključeno

Prvi korak je testiranje Arduina i njegovo spajanje na matičnu ploču. Koraci koji slijede osmišljeni su za samostalni rad. Svaki korak ima upute za ožičenje i upute za testiranje. Kad pravim projekte, povezujem i testiram svaku komponentu kako bih potvrdio da rade. To pomaže pri integriranju komponenti jer znam da se svaki posao i ja možemo usredotočiti na zahtjeve integracije.

Ovaj Instructable zahtijeva da imate instaliran Arduino IDE. Također morate imati osnovne vještine za preuzimanje Arduino programa za skiciranje s veza u ovom projektu, kreiranje direktorija za program (naziv direktorija isti je kao naziv programa). Sljedeći koraci su učitavanje, pregled i uređivanje programa u IDE -u. Zatim prenesite program putem USB kabela na svoju Arduino ploču.

Supplies

  • Nano V3 ATmega328P CH340G Mikro kontrolna ploča za Arduino. Alternativno, možete koristiti Uno.
  • Infracrveni prijemnik i daljinski upravljač. Koristio sam komplete modula bežičnog IC daljinskog upravljača koji su dolazili s infracrvenim prijemnikom i infracrvenim daljinskim upravljačem.
  • Jedan otpornik, 1K do 5K. Koristim 5K otpornik jer ih imam gomilu. Otpornik uklanja buku koja postoji kada se otpornik ne koristi.
  • Breadboard Žičani kabeli
  • Zidni adapter od 5 volti

Dijelove sam kupio na eBay -u, uglavnom od distributera iz Hong Konga ili Kine. Američki distributeri ponekad imaju iste ili slične dijelove za razumne cijene i bržu isporuku. Za isporuku kineskih dijelova potrebno je od 3 do 6 tjedana. Svi distributeri koje sam koristio bili su pouzdani.

Približni troškovi: Nano 3 USD, infracrveni komplet 1 USD, matična ploča 2 USD, paket od 40 žičanih kabela 1 USD, 1 USD za 5 -voltni zidni adapter. Ukupno, oko 8 USD. Napomena, Nano sam kupio sa iglama za matičnu ploču koje su već zalemljene, jer moje sposobnosti lemljenja nisu dobre.

Korak 1: Dodajte Arduino Nano na pločicu

Dodajte Arduino Nano na pločicu
Dodajte Arduino Nano na pločicu

Uključite Arduino Nano u Breadboard. Ili, ako želite, za ovaj projekt možete koristiti Arduino Uno; oboje koriste iste iglice za ovaj projekt. Povežite Nano (ili Uno) sa računarom putem USB kabla.

Spojite napajanje i uzemljenje s Arduina na pločicu za napajanje matične ploče. Spojite Arduino 5+ pin na pozitivnu traku matične ploče. Spojite Arduino GRN (uzemljeni) pin na negativnu (uzemljenu) traku matične ploče. Ovo će koristiti druge komponente.

Preuzmite i pokrenite osnovni Arduino testni program: arduinoTest.ino. Prilikom pokretanja programa, ugrađeno LED svjetlo će se upaliti na 1 sekundu, a zatim ugasiti na 1 sekundu. Objavljuju se i poruke koje se mogu vidjeti u Arduino IDE alatima/serijskom monitoru.

+++ Podešavanje.

+ Inicijalizirao ugrađeni LED digitalni pin za izlaz. LED je isključen. ++ Idi na petlju. + Brojač petlji = 1 + Brojač petlji = 2 + Brojač petlji = 3…

Kao vježbu, promijenite vremensko kašnjenje na trepćućoj lampici, učitajte promijenjeni program i potvrdite promjenu.

Na gornjoj fotografiji je 140 komada kompleta žice za spajanje žica bez lemljenja koje možete dobiti za 3 do 5 dolara. Čine ploče urednijim od onih pomoću dugih kabela za kratke spojeve.

Korak 2: Dodajte infracrveni prijemnik i spojite ga na Arduino

Dodajte infracrveni prijemnik i povežite ga s Arduinom
Dodajte infracrveni prijemnik i povežite ga s Arduinom

Priključite žice ženskog na muški kabel u infracrveni prijemnik (ženski krajevi). Spojite iglu za uzemljenje modula sata na traku za uzemljenje matične ploče. Priključite iglu za napajanje modula sata na pozitivnu traku matične ploče. Spojite izlazni pin infracrvenog prijemnika na Arduino A1 pin.

Povežite infracrveni prijemnik, pinovi odozgo lijevo na desno:

Krajnje lijevo (pored X) - Nano pin A1 centar - 5V Desno - uzemljenje A1 + - - Nano pin priključci | | | -Infracrveni pinovi prijemnika --------- | S | | | | --- | | | | | | --- | | | ---------

U Arduino IDE instalirajte infracrvenu biblioteku. Odaberite Alati/Upravljanje bibliotekama. Filtrirajte svoje pretraživanje upisivanjem 'IRremote'. Odaberite IRremote od Shirriffa (za referencu, biblioteka GitHub veza). Arduino bibliotečke informacije IRremote biblioteka link.

Preuzmite i pokrenite osnovni testni program: infraredReceiverTest.ino. Prilikom pokretanja programa usmjerite daljinski upravljač prema prijemniku i pritisnite različite tipke, poput broja od 0 do 9. Izlaze serijske poruke (ispisane) koje se mogu vidjeti u Arduino IDE alatima/serijskom monitoru.

+++ Podešavanje.

+ Inicijalizirao infracrveni prijemnik. ++ Idi na petlju. + Taster OK - Prebacivanje + Taster> - sledeći + Taster < - prethodni + Taster gore + Taster nadole + Taster 1: + Taster 2: + Taster 3: + Taster 4: + Taster 6: + Taster 7: + Taster 8: + Taster 9: + taster 0: + taster * (povratak) + taster # (izlaz)

Kao vježbu upotrijebite daljinski upravljač za televizor da vidite odštampane vrijednosti. Zatim možete izmijeniti program tako da koristi vrijednosti u naredbi switch funkcije infraredSwitch (). Na primjer, pritisnite tipku "0" i dobijte vrijednost za vaš daljinski upravljač, na primjer, "0xE0E08877". Zatim dodajte slovo u naredbu switch kao u sljedećem isječku koda.

kućište 0xFF9867:

slučaj 0xE0E08877: Serial.print ("+ ključ 0:"); Serial.println (""); break;

Korak 3: Kreirajte Mico SD karticu od MP3 datoteka

Budući da je DFPlayer mali, jeftin hardver, on upravlja datotekama i mapama na pojednostavljen način. Imao sam mješovite rezultate pri reprodukciji MP3 datoteka koje ne slijede sljedeće preporučene formate, pa stoga preporučujem sljedeće. Također, nisam testirao druge opcije, poput troznamenkastih naziva datoteka (primjer: 003.mp3), međutim vidio sam trocifrene nazive datoteka koji se koriste u drugim uputama i uzorcima.

Slijede moji preporučeni formati naziva datoteka i imenika direktorija:

  • Zadani naziv mape je MP3, smješten u osnovni direktorij SD kartice: SD:/MP3. Ova mapa nije obavezna kada se koristi više mapa.
  • Uređaj će reproducirati i MP3 datoteke u osnovnom direktoriju.
  • Kada koristite više mapa, koristite nazive mapa: 01, 02, 03,…, 99.
  • Naziv mp3 datoteke trebao bi biti 4 znamenke s "0001.mp3" kao nastavkom, na primjer, "0001.mp3".
  • Datoteke se mogu smjestiti u mapu MP3 ili u jednu od više mapa.
  • Nazivi datoteka: 0001.mp3 do 0255.mp3. Napomena, uređaj će reproducirati i MP3 datoteke drugih naziva.
  • Možete dodati znakove iza znamenki, na primjer, "0001hello.mp3".

Preporučuje se da formatirate karticu prije dodavanja datoteka. Ovo osigurava da je kartica čista od sistemskih datoteka. Formatirajte pomoću FAT32 MS-DOS-a.

Na Macu upotrijebite uslužni program za disk za formatiranje diska: Applications> Utilities> open Disk Utility.

Kliknite na SD karticu, primjer: APPLE SD Card Reader Media/MUSICSD. Kliknite stavku izbornika, Erase. Set name, primjer: MUSICSD. Odaberite: MS-DOS (Fat). Kliknite Erase.

Disk se čisti i formatira.

Napisao sam Java program koji će kopirati direktorij MP3 datoteka u odredišni direktorij, koristeći nazive direktorija i datoteka koji rade s DFPlayer modulom. Za pokretanje programa potrebna vam je instalirana Java JRE. Slijedi izlaz pomoći programa.

$ java -jar mp3player.jar

+++ Start, program za kopiranje modula DFPlayer. Sintaksa: java -jar mp3player.jar copy [(IN: MP3 direktorij) (OUT: MP3 direktorij)] ---------------------- Ovaj program kopira direktorij MP3 datoteka za stvaranje drugog direktorija MP3 datoteka koristeći nazive direktorija i datoteka koji rade s DFPlayer modulom. Prije pokretanja ovog programa, + Kreirajte direktorij svojih MP3 datoteka. + Kreirajte odredišni direktorij. + Odredišni direktorij je mjesto u koje će se MP3 datoteke kopirati, ++ koristeći imenik s cifrenim brojevima i nazive datoteka. + Odredišni direktorij treba biti prazan. + Ako u njemu postoje datoteke, izbrišite datoteke i direktorije. ---------------------- + Pokrenite ovaj program. + Sintaksa: java -jar mp3player.jar copy [(IN: MP3 direktorij) (OUT: MP3 direktorij)] + Sintaksa pomoću zadanih postavki: java -jar mp3player.jar copy + Zadani nazivi direktorija: mp3player1 i mp3player2. + Isto kao: java -jar mp3player.jar kopirajte mp3player1 mp3player2. ---------------------- + Umetnite SD karticu u računar. + Izbrišite direktorije i datoteke sa SD kartice. + Isprazni otpad jer su datoteke još uvijek na SD kartici i DFPlayer modul ih može reproducirati. + Kopirajte nove direktorije i datoteke na SD karticu. + Izvadite karticu iz računara. ---------------------- + Umetnite karticu u DFPlayer modul. + Kartica je spremna za igru

Kliknite ovdje da biste vidjeli izvorni kod. Kliknite ovdje za preuzimanje datoteke programa JAR koju možete pokrenuti.

Za referenciju

Na Macu iz komandne linije možete pokrenuti sljedeće.

Lista za pronalaženje kartice.

$ diskutil lista

… /Dev /disk3 (interni, fizički): #: TIP IMENA IDENTIFIKATOR VELIČINE 0: FDisk_partition_scheme *4,0 GB disk3 1: DOS_FAT_32 MUSICSD 4,0 GB disk3s1 $ ls /sveske /MUSICSD

Redovito kopirajte datoteke na SD karticu. Budući da se DFPlayer može sortirati po vremenskoj oznaci, kopirajte datoteke prema redoslijedu naziva datoteka.

Očistite skrivene datoteke koje mogu uzrokovati probleme (referenca:

$ dot_clean /Volumes /MUSICSD

Vaša SD kartica je sada spremna za upotrebu. Umetnite ga u svoj DFPlayer modul.

Korak 4: Povežite DFPlayer modul koji reproducira MP3 datoteke

Žica u modulu DFPlayer koji reproducira MP3 datoteke
Žica u modulu DFPlayer koji reproducira MP3 datoteke
Žica u modulu DFPlayer koji reproducira MP3 datoteke
Žica u modulu DFPlayer koji reproducira MP3 datoteke
Žica u modulu DFPlayer koji reproducira MP3 datoteke
Žica u modulu DFPlayer koji reproducira MP3 datoteke

Podijelio sam veze u 3 dijela: serijska komunikacija, napajanje i zvučnik/zvuk.

1. Spojite Arduino RX/TX pinove na DFPlayer modul. Spojite žicu između Arduino pina 10 i DFPlayer pina 3 (TX). Spojite otpornik, koristim 5K otpornik sa DFPlayer pina 2 (RX) na prazan red između Arduina i DFPlayera. Spojite žicu s Nano pina 11 na 5K otpornik. Otpornik 5K uklanja buku koja postoji kada se otpornik ne koristi.

2. Spojite iglu za uzemljenje (GND) modula DFPlayer na traku za uzemljenje matične ploče. Priključite iglu za napajanje (VCC) DFPlayer modula na pozitivnu traku matične ploče.

3. Ako imate jedan mali zvučnik, spojite ga na pinove 6 (SPK-) i 8 (SPK+) kao na gornjoj fotografiji pomoću Nano-a.

Mini pinovi DFPlayer -a

U Arduino IDE instalirajte biblioteku DFPlayer. Odaberite Alati/Upravljanje bibliotekama. Filtrirajte svoje pretraživanje upisivanjem ‘DFRobotDFPlayerMini’. Odaberite DFRobotDFPlayerMini od DFRobot biblioteke mini playera (za referencu, veza do biblioteke). Za moju implementaciju učitao sam verziju 1.0.5.

Za referencu, biblioteka link. I vezu do wiki stranice DFPlayer.

Učitajte MP3 datoteke na mikro SD karticu. Možete imati pjesme u različitim direktorijima. Umetnite SD karticu u DFPlayer.

Preuzmite i pokrenite program za MP3 player: mp3infrared.ino. Prilikom pokretanja programa, usmjerite daljinski upravljač prema prijemniku i pritisnite dugme u redu za početak reprodukcije prve pjesme. Kada počne s reprodukcijom, DFPlayer plavo svjetlo će se upaliti i ostati uključeno dok se datoteka reproducira.

Napredna konfiguracija

Napravio sam Altair 8800 emulacijski računar koji koristi Arduino Mega. Kad sam dodao DFPlayer, bilo je mnogo buke. Da bih se riješio buke, koristio sam zasebno napajanje za DFPlayer. Mega ima jedno napajanje i šalje serijske upravljačke signale u DFPlayer. DFPlayer ima drugo napajanje, te prima i implementira serijske upravljačke signale iz Mege.

Na gornjoj fotografiji, bijelo mini USB čvorište emulatora Altair napaja Megu i povezano je s crnim mini čvorištem prijenosnog računara. DFPlayer ima USB kabel koji ga povezuje izravno s crnim mini čvorištem prijenosnog računara. Ova konfiguracija je uklonila buku koja je postojala kada se DFPlayer napajao preko bijelog mini čvorišta emulatora.

Kliknite ovdje za kôd konfiguriran za Mega. Ta verzija koda koristi Mega RX/TX pinove, gdje kao Nano ili Uno koristi softverske pinove za serijski port.

Slijedeće je za referencu

Veze koje se koriste s Arduinom, 1. UART serijski, RX za primanje kontrolnih uputstava u DFPlayer -u. RX: ulaz se povezuje na TX na Mega/Nano/Uno. TX za slanje informacija o stanju. TX: izlaz se povezuje na RX na Mega/Nano/Uno. Priključci za Nano ili Uno: RX (2) za otpor na serijski softver pin 11 (TX). TX (3) na serijski softver pin 10 (RX). Priključci za Mega: RX (2) za otpornost na Serial1 pin 18 (TX). TX (3) na Serial1 pin 19 (RX). 2. Opcije napajanja. Povežite se s Arduina izravno na DFPlayer: VCC na +5V. Napomena, također radi s +3,3 V u slučaju NodeMCU -a. GND na masu (-). Koristite potpuno drugačiji izvor napajanja: VCC do +5V drugog izvora napajanja. GND na masu (-) drugog izvora napajanja. Vidio sam još jednu opciju napajanja: Od Arduina +5V, koristite 7805 s kondenzatorima i diodom do DFPlayer VCC pina. GND na masu (-). 3. Izlaz zvučnika. Za jedan zvučnik, manje od 3W: SPK - na pin zvučnika. SPK + na drugi pin zvučnika. Za izlaz na stearo pojačalo ili slušalice: DAC_R za izlaz desno (+) DAC_L za izlaz lijevo (+) GND na izlaznu masu.

Nakon poziva funkcije knjižnice ključeva. Veza do wiki stranice DFPlayer.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Reproduciraj prvi mp3 myDFPlayer.pause (); // pauzirajte mp3 myDFPlayer.start (); // pokretanje mp3-a iz pauze ------------------------------ myDFPlayer.next (); // Reproduciraj sljedeći mp3 myDFPlayer.previous (); // Reproduciraj prethodni mp3 ------------------------------ myDFPlayer.playMp3Folder (4); // reproduciranje određenog mp3 -a u SD -u: /MP3/0004.mp3; Naziv datoteke (0 ~ 65535) myDFPlayer.playFolder (15, 4); // reproduciranje određenog mp3 -a u SD -u: /15/004.mp3; Naziv mape (1 ~ 99); Naziv datoteke (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // reproduciranje određenog mp3 -a u SD -u: /02/004.mp3; Naziv mape (1 ~ 10); Naziv datoteke (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Petlja prvog mp3 myDFPlayer.enableLoop (); // omogući petlju. myDFPlayer.disableLoop (); // onemogući petlju. myDFPlayer.loopFolder (5); // petlje sve mp3 datoteke u folderu SD:/05. myDFPlayer.enableLoopAll (); // petlja svih mp3 datoteka. myDFPlayer.disableLoopAll (); // zaustavlja petlje svih mp3 datoteka. ------------------------------ myDFPlayer.volume (10); // Postavljanje vrijednosti volumena. Od 0 do 30 myDFPlayer.volumeUp (); // Pojačavanje glasnoće myDFPlayer.volumeDown (); // Smanjivanje zvuka ------------------------------ myDFPlayer.setTimeOut (500); // Postavljanje vremena za serijsku komunikaciju 500ms myDFPlayer.reset (); // Resetiranje modula ------------------------------ Serial.println (myDFPlayer.readState ()); // čita stanje mp3 Serial.println (myDFPlayer.readVolume ()); // čita trenutni volumen Serial.println (myDFPlayer.readEQ ()); // čita EQ postavku Serial.println (myDFPlayer.readFileCounts ()); // čita sve podatke o datotekama na SD kartici Serial.println (myDFPlayer.readCurrentFileNumber ()); // čita trenutni broj datoteke za reprodukciju Serial.println (myDFPlayer.readFileCountsInFolder (3)); // čitanje broja ispunjenja u mapi SD:/03 ------------------------------ myDFPlayer.available ()

Korak 5: Vanjsko napajanje

Image
Image
Vanjsko napajanje
Vanjsko napajanje
Vanjsko napajanje
Vanjsko napajanje

Sada kada je vaš MP3 player testiran i radi, možete ga isključiti iz računara i koristiti s nezavisnim izvorom napajanja. Radi jednostavnosti, koristim zidni adapter od 5 volti, koji se može kupiti za oko jedan dolar, i USB kabel, još jedan dolar. Kabel povezuje Arduino sa zidnim adapterom +5V. Budući da su Arduino pinovi za napajanje i uzemljenje povezani na matičnu ploču, to će napajati ostale komponente. Zbog svoje jednostavnosti i niske cijene, koristim ovu istu kombinaciju za pokretanje drugih projekata.

Fotografija na desnoj strani i video zapis prikazuju plejer povezan sa mojim pojačalom od 40 USD koji sjedi na desnom Bose zvučniku na mom stolu. To je moj desktop muzički sistem: Arduino MP3 plejer, Douk Audio pojačalo i 2 Bose zvučnika. Dobra kvaliteta zvuka.

Nadam se da ste uspjeli i da ste uživali u izgradnji vlastitog MP3 muzičkog playera.

Korak 6: Uklonite statičku buku

Na niskoj jačini zvuka pojavila se iritantna pozadinska statička buka. Buka je bila u redu kada je jačina zvuka DFPlayera bila veća i dok je svirala muzika. Ali kad je muzika bila tiha, statika je bila prisutna.

Pronašao sam stranicu StackExchage koja je imala puno prijedloga. Sljedeće mi je uspjelo:

  • Spojite kratku žicu između pinova za uzemljenje DFPlayera: pinovi 7 do 10.
  • Za napajanje DFPlayer modula koristite zasebni USB zidni utikač (5V).
  • Spojite masu zidnog utikača na Arduino masu. To je bilo potrebno da bi serijska kontrola radila između Arduina i igrača.

Gore navedeno je testirano na mom Altair 8800 emulatoru koji sam poboljšao DFPlayerom za reprodukciju muzike. Plejerom se upravlja okretanjem prekidača na prednjoj ploči.

Preporučuje se: