Sadržaj:

Infracrveni MP3 player s 6 koraka (sa slikama)
Infracrveni MP3 player s 6 koraka (sa slikama)

Video: Infracrveni MP3 player s 6 koraka (sa slikama)

Video: Infracrveni MP3 player s 6 koraka (sa slikama)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Studeni
Anonim
Image
Image
Infracrveni MP3 player
Infracrveni MP3 player

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

Programirana funkcionalnost:

Daljinski ključ: Funkcija

+ 01: Smanjivanje glasnoće + 02: Postavite na imenik #2. + 03: Pojačavanje + 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ći + <<: Reproduciraj prethodni + Gore: Reproduciraj sljedeće pjesme iz direktorija + Dn: Reproduciraj prethodne pjesme iz direktorija + *| Povratak: Ponovi jednu pjesmu u petlji: uključeno + #| Izlaz: Ponovi jednu pjesmu: 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 ispitivanje. Kad izrađujem projekte, povezujem i testiram svaku komponentu kako bih potvrdio da rade. To pomaže 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, stvaranje 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.

Pribor

  • 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 hrpu. Otpornik uklanja buku koja postoji kada se ne koristi otpornik.
  • Breadboard Žičani kabeli
  • Zidni adapter od 5 volti

Dijelove sam kupio na eBayu, 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. Imajte na umu da sam Nano kupio s iglama za matičnu ploču koje su već zalemljene jer nemam dovoljno vještina lemljenja.

Korak 1: Dodajte Arduino Nano na pločicu

Dodajte Arduino Nano na Breadboard
Dodajte Arduino Nano na Breadboard

Uključite Arduino Nano u Breadboard. Ili, ako želite, za ovaj projekt možete koristiti Arduino Uno; oboje koriste iste igle za ovaj projekt. Spojite Nano (ili Uno) na računalo putem USB kabela.

Spojite napajanje i masu s Arduina na traku za napajanje matične ploče. Spojite Arduino 5+ pin na pozitivnu traku matične ploče. Spojite Arduino GRN (uzemljeni) pin na negativnu (masnu) traku na matičnoj ploči. To će koristiti druge komponente.

Preuzmite i pokrenite osnovni Arduino testni program: arduinoTest.ino. Prilikom izvođenja programa, ugrađeno LED svjetlo će se uključiti na 1 sekundu, a zatim isključiti na 1 sekundu. Također, objavljuju se poruke koje se mogu vidjeti u Arduino IDE alatima/serijskom monitoru.

+++ postavljanje.

+ 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, prenesite promijenjeni program i potvrdite promjenu.

Na gornjoj fotografiji je 140 -dijelna žica za spajanje žica za lemljenje bez lemljenja koju 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 spojite ga na Arduino
Dodajte infracrveni prijemnik i spojite ga na Arduino

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.

Spojite infracrveni prijemnik, pinovi s gornje lijeve na desnu stranu:

Krajnje lijevo (pored X) - Nano pin A1 centar - 5V Desno uzemljenje A1 + - - Nano priključci | | | -Igle za infracrveni prijemnik --------- | S | | | | --- | | | | | | --- | | | ---------

U Arduino IDE instalirajte infracrvenu biblioteku. Odaberite Alati/Upravljanje knjižnicama. Filtrirajte svoje pretraživanje upisivanjem "IRremote". Odaberite IRremote by Shirriff (za referencu veza na biblioteku GitHub). Arduino biblioteka informacije IRremote knjižnica link.

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

+++ postavljanje.

+ Inicijalizirao infracrveni prijemnik. ++ Idi na petlju. + Tipka OK - Prebacivanje + Tipka> - sljedeća + Tipka < - prethodna + Tipka gore + Tipka prema dolje + Tipka 1: + Tipka 2: + Tipka 3: + Tipka 4: + Tipka 6: + Tipka 7: + Tipka 8: + Tipka 9: + Tipka 0: + Tipka * (povratak) + Tipka # (izlaz)

Kao vježbu upotrijebite daljinski upravljač za televizor da biste vidjeli ispisane 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 izraz switch kao u sljedećem isječku koda.

kućište 0xFF9867:

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

Korak 3: Izradite 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 miješane 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, kao što su troznamenkasti nazivi datoteka (primjer: 003.mp3), međutim vidio sam troznamenkaste nazive datoteka koji se koriste u drugim uputama i uzorcima.

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

  • 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 također reproducirati MP3 datoteke u korijenskom direktoriju.
  • Kad koristite više mapa, koristite nazive mapa: 01, 02, 03,…, 99.
  • Naziv mp3 datoteke trebao bi imati 4 znamenke s "0001.mp3" kao nastavkom, na primjer, "0001.mp3".
  • Datoteke se mogu staviti u mapu MP3 ili u jednu od više mapa.
  • Nazivi datoteka: 0001.mp3 do 0255.mp3. Napomena, player će reproducirati i MP3 datoteke drugih naziva.
  • Možete dodati znakove iza znamenki, na primjer, "0001hello.mp3".

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

Na Macu upotrijebite uslužni program diska za formatiranje diska: Aplikacije> Pomoćni programi> otvorite Disk Utility.

Pritisnite SD karticu, primjer: APPLE SD Card Reader Media/MUSICSD. Kliknite stavku izbornika, Erase. Naziv skupa, primjer: MUSICSD. Odaberite: MS-DOS (Fat). Pritisnite 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 imenika MP3 datoteka pomoću naziva direktorija i datoteka koji rade s DFPlayer modulom. Prije pokretanja ovog programa, + Napravite direktorij svojih MP3 datoteka. + Izradite odredišni direktorij. + Odredišni direktorij je mjesto u koje će se kopirati MP3 datoteke, ++ pomoću imenika s brojevima i naziva datoteka. + Odredišni direktorij trebao bi 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 kopija mp3player1 mp3player2. ---------------------- + Umetnite SD karticu u računalo. + Izbrišite imenike 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čunala. ---------------------- + Umetnite karticu u DFPlayer modul. + Karta je spremna za igru

Za pregled izvornog koda kliknite ovdje. Kliknite ovdje za preuzimanje datoteke programa JAR koju možete pokrenuti.

Za referencu

Na Macu iz naredbenog retka možete pokrenuti sljedeće.

Popis za pronalaženje kartice.

$ diskutil popis

… /Dev /disk3 (interni, fizički): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *4,0 GB disk3 1: DOS_FAT_32 MUSICSD 4,0 GB disk3s1 $ ls /svezak /MUSICSD

Redovito kopirajte datoteke na SD karticu. Budući da se DFPlayer može sortirati po vremenskoj oznaci, kopirajte datoteke redoslijedom 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 modul 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
Žica u modulu DFPlayer koji reproducira MP3 datoteke

Razdvojio 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 iz DFPlayer pina 2 (RX), u prazan red između Arduina i DFPlayera. Spojite žicu s Nano pina 11 na 5K otpornik. 5K otpornik uklanja buku koja postoji kada se ne koristi otpornik.

2. Spojite iglu za uzemljenje (GND) modula DFPlayer na traku za uzemljenje matične ploče. Spojite pin 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 s Nano-om.

Mini igle DFPlayer

U Arduino IDE instalirajte biblioteku DFPlayer. Odaberite Alati/Upravljanje knjižnicama. Filtrirajte svoje pretraživanje upisivanjem ‘DFRobotDFPlayerMini’. Odaberite DFRobotDFPlayerMini by DFRobot mini player library (za referencu, poveznica knjižnice). Za moju implementaciju učitao sam verziju 1.0.5.

Za referencu, poveznica knjižnice. I vezu do wiki stranice DFPlayer.

Učitajte MP3 datoteke na mikro SD karticu. Pjesme možete imati u zasebnim 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 tipku u redu za početak reprodukcije prve pjesme. Kad se počne reproducirati, plavo svjetlo DFPlayera će se upaliti i ostati uključeno dok se datoteka reproducira.

Napredna konfiguracija

Napravio sam računalo za emulator Altair 8800 koje 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čunala. DFPlayer ima USB kabel koji ga povezuje izravno s crnim mini hubom prijenosnog računala. Ova je konfiguracija uklonila buku koja je postojala kada se DFPlayer napajao putem 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.

Sljedeće je za referencu

Veze koje se koriste s Arduinom, 1. UART serijski, RX za primanje upravljačkih uputa u DFPlayer. RX: ulaz se povezuje s TX -om na Mega/Nano/Uno. TX za slanje informacija o stanju. TX: izlaz se spaja na RX na Mega/Nano/Uno. Priključci za Nano ili Uno: RX (2) za uporabu na serijskom softverskom pinu 11 (TX). TX (3) na serijski softver pin 10 (RX). Priključci za Mega: RX (2) za priključivanje 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 3 W: 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 mojDFPlayer;

myDFPlayer.play (1); // Reproduciraj prvi mp3 myDFPlayer.pause (); // pauzirajte mp3 myDFPlayer.start (); // pokretanje mp3 od 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); // reproduciraj određeni mp3 u SD -u: /15/004.mp3; Naziv mape (1 ~ 99); Naziv datoteke (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // reproduciraj određeni mp3 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 mapu SD:/05. myDFPlayer.enableLoopAll (); // petlja svih mp3 datoteka. myDFPlayer.disableLoopAll (); // zaustavljanje svih mp3 datoteka. ------------------------------ myDFPlayer.volume (10); // Postavljanje vrijednosti glasnoće. Od 0 do 30 myDFPlayer.volumeUp (); // Pojačavanje glasnoće myDFPlayer.volumeDown (); // Smanjivanje glasnoće ------------------------------ myDFPlayer.setTimeOut (500); // Postavljanje vremena za serijsku komunikaciju 500 ms myDFPlayer.reset (); // Resetiranje modula ------------------------------ Serial.println (myDFPlayer.readState ()); // čitanje mp3 stanja Serial.println (myDFPlayer.readVolume ()); // čitanje trenutnog volumena Serial.println (myDFPlayer.readEQ ()); // čitanje postavke EQ -a 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čunala 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 spojeni 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 player spojen na moje pojačalo od 40 dolara kako sjedi na desnom Bose zvučniku na mom stolu. To je moj stolni glazbeni sustav: Arduino MP3 player, Douk Audio pojačalo i 2 Bose zvučnika. Dobra kvaliteta zvuka.

Nadam se da ste uspješni i da ste uživali u izgradnji vlastitog MP3 glazbenog playera.

Korak 6: Uklonite statički šum

Na niskoj glasnoći čula se iritantna pozadinska statička buka. Buka je bila u redu kada je glasnoća DFPlayera bila veća i glazba je svirala. Ali kad je glazba 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 kontakata za uzemljenje DFPlayera: pinovi 7 do 10.
  • Za napajanje DFPlayer modula koristite zasebni USB zidni utikač (5V).
  • Spojite masu zidnog utikača na Arduino uzemljenje. To je bilo potrebno za serijsku kontrolu između Arduina i igrača.

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

Preporučeni: