- Būtina aparatinė įranga:
- Pasiruošimas WAV garso failams:
- Grandinė ir aparatūra:
- „Arduino“ programavimas:
- Šio „Arduino“ muzikos grotuvo darbas:
Pridėjus garsų ar muzikos prie mūsų projekto, jis visada atrodys šauniai ir skamba daug patraukliau. Ypač jei naudojate „Arduino“ ir turite daugybę kaiščių, jūs galite lengvai pridėti garso efektų prie savo projekto, tik investuodami į papildomą SD kortelės modulį ir įprastą garsiakalbį. Šiame straipsnyje aš jums parodysiu, kaip lengva leisti muziką / pridėti garso efektų naudojant „Arduino“ plokštę. Ačiū „Arduino“ bendruomenei, kuri sukūrė keletą bibliotekų, kad tai būtų galima sukurti greitai ir lengvai. Čia taip pat panaudojome IC LM386 stiprinimo ir triukšmo slopinimo tikslais.
Šiame projekte grosime.wav muzikos failų parduotuves SD kortelėje. Užprogramuosime „Arduino“ skaityti šiuos.wav failus ir groti garsą kalbant per LM386 garso stiprintuvą. Kadangi šis kodas galėjo nuskaityti tik.wav failus, techniškai šio projekto negalima vadinti „ Arduino“ MP3 grotuvu, bet, jūs vis tiek galėsite girdėti dainas su juo. Jei ieškote paprastų alternatyvų, tokių kaip „ Arduio“ muzikos grotuvas be SD kortelės, turėtumėte patikrinti anksčiau pastatytą „Arduino“ melodijų grotuvą.
Būtina aparatinė įranga:
- „Arduino UNO“
- SD kortelių skaitytuvo modulis
- SD kortelė
- LM386 garso stiprintuvas
- 10uf kondensatorius (2 nr.)
- 100uf kondensatorius (2 nr.)
- 1K, 10K rezistorius
- Mygtukai (2 nr.)
- Bandomoji Lenta
- Laidų sujungimas
Pasiruošimas WAV garso failams:
Norint atkurti garsus iš SD kortelės naudojant „Arduino“, mums reikia garso failų.wav formatu, nes „Arduino Board“ gali atkurti garso failą tam tikru formatu, kuris yra wav formatas. Norėdami sukurti „ Arduino“ MP3 grotuvą, yra daugybė „MP3“ skydų, kuriuos galite naudoti su „Arduino“. Arba, norėdami atkurti mp3 failus „Arduino“, yra svetainių, kuriomis galite konvertuoti bet kurį garso failą į savo kompiuterį į tą konkretų WAV failą.
Taigi, jei norite konvertuoti bet kokį garso failą į WAV formatą, atlikite šiuos veiksmus:
1 žingsnis: Norėdami patekti į svetainę, spustelėkite „Online Wav Converter“.
2 žingsnis: „ Arduino“ gali atkurti WAV failą tokiu formatu. Vėliau galite žaisti naudodamiesi nustatymais, tačiau šie nustatymai buvo eksperimentiniai, kad būtų geriausios kokybės.
Bitų skiriamoji geba |
8 bitai |
Mėginių ėmimo dažnis |
16000 Hz |
Garso kanalas |
Mono |
PCM formatas |
PCM nepasirašytas 8 bitų |
3 žingsnis: Svetainėje spustelėkite „pasirinkti failą“ ir pasirinkite failą, kurį norite konvertuoti. Tada maitinkite aukščiau pateiktais nustatymais. Kai tai bus padaryta, žemiau esančiame paveikslėlyje jis turėtų atrodyti maždaug taip
4 žingsnis: Dabar spustelėkite „Konvertuoti failą“ ir jūsų garso failas bus konvertuojamas į.Wav failo formatą. Jis taip pat bus atsisiųstas atlikus konversiją.
5 žingsnis: Galiausiai suformatuokite SD kortelę ir išsaugokite.wav garso failą į ją. Prieš pridėdami šį failą, būtinai jį suformatuokite. Taip pat prisiminkite savo garso failo pavadinimą. Panašiai galite pasirinkti bet kurį iš keturių garso įrašų ir išsaugoti juos pavadinimais 1, 2, 3 ir 4 (vardai neturėtų būti keičiami). Aš konvertuoju keturias dainas ir išsaugojau jas kaip 1.wav, 2.wav, 3.wav ir 4.wav, kaip parodyta žemiau.
Grandinė ir aparatūra:
Šio „ Arduino“ garso failų grotuvo schema yra paprasta. Visa grandinės schema parodyta paveikslėlyje žemiau.
Kaip žinome, mūsų garso failai yra išsaugomi SD kortelėje, todėl mes sąsajos SD kortelių skaitytuvo modulį su „Arduino“. „ Arduino“ ir SD kortelės bendrauja naudodamos SPI ryšio protokolą. Taigi modulis yra susietas su „Arduino“ SPI kaiščiais, kaip parodyta aukščiau diagramoje. Jis toliau išvardytas toliau pateiktoje lentelėje.
Arduino |
SD kortelės modulis |
+ 5 V |
Vcc |
Gnd |
Gnd |
12 kaištis |
MISO („Master In Slave out“) |
11 kaištis |
MOSI („Master Out Slave In“) |
13 kaištis |
SCK (sinchroninis laikrodis) |
4 kaištis |
CS (lusto pasirinkimas) |
Dabar „Arduino“ galės nuskaityti muzikos failą iš SD kortelės ir atkurti smeigtuku 9. Tačiau „Arduino“ 9 smeigtuko sukurti garso signalai bus mažai girdimi. Taigi mes jį sustipriname naudodami LM386 žemos įtampos garso stiprintuvo IC.
Aukščiau pateiktas stiprintuvas yra skirtas 200 padidėjimui, o Vdd (6 kaištis) maitina „Arduino“ 5 V kaištis. Jei norite padidinti / sumažinti garsą, galite padidinti / sumažinti įtampą, teikiamą šiam kaiščiui. Jis gali atlaikyti ne daugiau kaip 15 V įtampą. Sužinokite daugiau apie šią LM386 200 stiprinimo stiprinimo konfigūraciją čia.
Mes taip pat turime du mygtukus, prijungtus prie „Arduino“ 2 ir 3 kaiščių. Šie jungikliai naudojami groti kitam dainos takeliui ir atitinkamai leisti / pristabdyti muziką. Šiuos mygtukus naudojau tik norėdamas parodyti jo sugebėjimus; galite groti dainą, kai to reikia. Pabaigoje patikrinkite demonstracinį vaizdo įrašą.
Galite visiškai surinkti šią grandinę per duonos lentą, kaip parodyta paveikslėlyje žemiau
„Arduino“ programavimas:
Kai būsime pasirengę aparatinei įrangai ir SD kortelei, grosime tomis dainomis tik per žingsnį. Įdėkite kortelę į SD kortelės modulį ir atlikite toliau nurodytus veiksmus.
1 žingsnis: Kaip minėjome anksčiau, naudosime biblioteką šiam projektui įgyvendinti. Bibliotekos nuoroda pateikta žemiau. Spustelėkite jį ir pasirinkite „Klonuoti arba atsisiųsti“ ir pasirinkite atsisiuntimą kaip ZIP.
- TMRpcm biblioteka
2 žingsnis: Pridėkite šį „Zip“ failą į „Arduino IDE“ pasirinkdami „Sketch-> Include Library -> Add.ZIP Library“, kaip parodyta žemiau, ir pasirinkite ką tik atsisiųstą ZIP failą.
3 žingsnis: Visa „ Arduino“ muzikos grotuvo projekto programa pateikiama šio straipsnio pabaigoje, tiesiog nukopijuokite ir įklijuokite į „Arduino“ programą. Dabar spustelėkite Įkelti ir pasiruoškite paleisti garso failus.
Programa savaime suprantama, nes jos turi komentarų eilutes. Bet aš taip pat paaiškinau TMRpcm bibliotekos galimybes žemiau.
Garso failo leidimas:
Naudodamiesi žemiau esančia eilute, galite atkurti bet kokį garso įrašą, kuris yra saugomas Wav formatu SD kortelės modulyje.
muzika.paleisti („3.wav“); // objekto pavadinimas.play („FileName.wav“);
Šią eilutę galite naudoti tose vietose, kur norite suaktyvinti garsą
Pristabdyti garso failą:
Norėdami pristabdyti garso failą, galite tiesiog paskambinti žemiau esančia linija.
muzika.pauzė (); //objekto pavadinimas.pauzė ();
Garso persiuntimas / pervyniojimas:
Nėra tiesioginių būdų, kaip persiųsti ar atsukti garso failą, tačiau galite naudoti žemiau esančią eilutę dainai paleisti tam tikru metu. Tai galima naudoti norint perjungti / atsukti su papildomu programavimu.
muzika.groti („2.wav“, 33); // Groja dainą nuo 33-os sekundės //objekto pavadinimas.play(️Filename.wav”,time per sekundę);
Garso kokybės nustatymas:
Biblioteka suteikia mums dvi savybes groti muziką, viena - groti įprastu režimu, kita - groti 2X perimtu pavyzdžiu.
muzika.kokybė (0); // Normal Mode music.quality (1); 2x per mėginių ėmimo režimą
Garso garsumo nustatymas:
Taip, naudodamiesi programine įranga galite valdyti garso garsumą. Galite tiesiog nustatyti garsumą naudodami žemiau esančią eilutę. Didesnis muzikos kiekis turi įtakos garso kokybei, todėl, jei įmanoma, naudokite aparatūros valdymą.
music.setVolume (5); // Leidžia dainą 5 tomu //objekto pavadinimas.setVolume(Tūrio lygis);
Šio „Arduino“ muzikos grotuvo darbas:
Užprogramavę „Arduino“, tiesiog paspauskite mygtuką, prijungtą prie 2 kaiščio, ir „Arduino“ gros jums pirmąją dainą (išsaugotą kaip 1.wav). Dabar galite dar kartą paspausti mygtuką, kad pakeistumėte takelį į kitą dainą, kuri gros 2.wav. Taip pat galite pereiti prie visų keturių dainų.
Taip pat galite atkurti / pristabdyti dainą paspausdami mygtuką, prijungtą prie 3 kaiščio. Paspauskite vieną kartą, kad pristabdytumėte dainą, ir dar kartą paspauskite, jei norite ją paleisti iš ten, kur ji sustojo. Žiūrėkite žemiau pateiktą vaizdo įrašą, kad galėtumėte dirbti (arba galbūt atsipalaiduoti su keliomis dainomis).
Tikiuosi, kad jums patiko projektas. Dabar jūsų kūrybiškumas priklauso nuo jų panaudojimo savo projektuose. Galite sukurti kalbantį laikrodį, balso asistentą, kalbančią robotą, balso perspėjimo apsaugos sistemą ir daug daugiau. Praneškite man, kaip jūs planuojate jį naudoti per komentarų skyrių, taip pat, jei turite kokių nors problemų dėl šio dalyko veikimo, galite susisiekti su manimi per forumus arba komentarų skyrių žemiau.