- Nødvendig maskinvare:
- Gjør deg klar med WAV-lydfiler:
- Krets og maskinvare:
- Programmering av Arduino:
- Arbeider med denne Arduino Music Player:
Å legge til lyder eller musikk i prosjektet vårt vil alltid gjøre det ser kult ut og høres mye mer attraktivt ut. Spesielt hvis du bruker en Arduino og har mange pins gratis, kan du enkelt legge til lydeffekter til prosjektet ditt ved å bare investere i en ekstra SD-kortmodul og en vanlig høyttaler. I denne artikkelen vil jeg vise deg hvor enkelt det er å spille musikk / legge til lydeffekter ved hjelp av Arduino Board. Takk til Arduino-samfunnet som har utviklet noen biblioteker for å bygge dette på en rask og enkel måte. Vi har også brukt IC LM386 her for forsterkning og støyreduksjon.
I dette prosjektet vil vi spille av.wav-musikkfilene som er lagret på et SD-kort. Vi vil programmere Arduino til å lese disse.wav-filene og spille lyden på en tale gjennom en LM386 lydforsterker. Nå, siden denne koden bare kunne lese.wav-filer, kan dette prosjektet teknisk sett ikke kalles som en Arduino Mp3-spiller, men hei vil du fortsatt kunne høre sanger med den. Hvis du leter etter enkle alternativer som en Arduio-musikkspiller uten SD-kort, bør du sjekke ut Arduino- melodispilleren som vi har bygget tidligere.
Nødvendig maskinvare:
- Arduino UNO
- SD-kortlesermodul
- SD kort
- LM386 lydforsterker
- 10uf kondensator (2 nr)
- 100uf kondensator (2 nr)
- 1K, 10K motstand
- Trykknapper (2 nr)
- Brettbrett
- Koble ledninger
Gjør deg klar med WAV-lydfiler:
For å spille av lyder fra SD-kort ved bruk av Arduino, trenger vi lydfiler i.wav-format fordi Arduino Board kan spille av en lydfil i et bestemt format som er wav-format. For å lage en arduino mp3-spiller er det mange mp3-skjold tilgjengelig som du kan bruke med arduino. Ellers for å spille mp3-filer i arduino, finnes det nettsteder du kan bruke til å konvertere hvilken som helst lydfil på datamaskinen din til den spesifikke WAV-filen.
Så for å konvertere lydfiler til wav-format, følg trinnene nedenfor:
Trinn 1: Klikk på “Online Wav Converter” for å gå inn på nettstedet.
Trinn 2: Arduino kan spille en wav-fil i følgende format. Du kan leke med innstillingene senere, men disse innstillingene var eksperimentelle for å være best i kvalitet.
Bitoppløsning |
8 bit |
Samplingsfrekvens |
16000 Hz |
Audio Channel |
Mono |
PCM-format |
PCM usignert 8-bit |
Trinn 3: Klikk på "velg fil" på nettstedet og velg filen du vil konvertere. Mat deretter inn innstillingene ovenfor. Når det er gjort, bør det se ut som dette i bildet nedenfor
Trinn 4: Nå, klikk på "Konverter fil" og lydfilen din blir konverterer til.Wav-filformat. Den lastes også ned når konverteringen er gjort.
Trinn 5: Formater til slutt SD-kortet ditt og lagre.wav-lydfilen i den. Forsikre deg om at du formaterer den før du legger til denne filen. Husk også navnet på lydfilen din. På samme måte kan du velge hvilken som helst av de fire lydene dine og lagre dem med navnene 1, 2, 3 og 4 (Navn skal ikke endres). Jeg har konvertert fire sanger og har lagret dem som 1.wav, 2.wav, 3.wav og 4.wav som vist nedenfor.
Krets og maskinvare:
Kretsdiagram for denne Arduino Audio File Player er enkel. Hele kretsskjemaet er vist i bildet nedenfor.
Som vi vet, blir lydfilene lagret på SD-kortet, og derfor grensesnitt vi en SD-kortlesermodul med Arduino. Den Arduino og SD-kort, kommuniserer via SPI-kommunikasjonsprotokoll. Derfor er modulen grensesnittet med SPI-pinnene på Arduino som vist ovenfor i diagrammet. Det er videre oppført i tabellen nedenfor.
Arduino |
SD-kortmodul |
+ 5V |
Vcc |
Gnd |
Gnd |
Pinne 12 |
MISO (Master In Slave out) |
Pin 11 |
MOSI (Master Out Slave In) |
Pinne 13 |
SCK (synkron klokke) |
Pin 4 |
CS (Chip Select) |
Nå vil Arduino kunne lese musikkfilen fra SD-kortet og spille den på pin nummer 9. Men lydsignalene produsert av Arduino på pin 9 vil ikke høres mye. Derfor forsterker vi det ved å bruke LM386 lydspenningsforsterker IC.
Forsterkeren vist ovenfor er designet for en gevinst på 200, og Vdd (pin 6) drives av 5V-pinnen til Arduino. Hvis du vil øke / redusere lyden, kan du øke / redusere spenningen som er gitt til denne pinnen. Den tåler maksimalt 15V. Lær mer om denne 200 forsterkningskonfigurasjonen for LM386 her.
Vi har også to trykknapper koblet til pinnen 2 og 3 på Arduino. Disse bryterne brukes til å spille neste spor av sangen og spille / pause musikken. Jeg har brukt disse knappene bare for å demonstrere dens evner; du kan spille sangen når det er nødvendig. Sjekk demonstrasjonsvideoen på slutten.
Du kan montere denne kretsen helt over et brødbrett som vist på bildet nedenfor
Programmering av Arduino:
Når vi er klare med maskinvaren og SD-kortet, er vi bare ett skritt unna å spille sangene. Sett kortet inn i SD-kortmodulen og følg trinnene nedenfor.
Trinn 1: Som sagt tidligere, vil vi bruke et bibliotek for å få dette prosjektet til å fungere. Lenken til biblioteket er gitt nedenfor. Klikk på den og velg “Clone or download” og velg download som ZIP.
- TMRpcm-bibliotek
Trinn 2: Legg til denne zip-filen i din Arduino IDE ved å velge Sketch-> Include Library -> Add.ZIP Library som vist nedenfor og velg ZIP-filen som vi nettopp lastet ned.
Trinn 3: Det komplette programmet til arduino musikkspillerprosjektet er gitt på slutten av denne artikkelen, bare kopier det og lim det inn i Arduino-programmet. Klikk nå på Last opp og gjør deg klar til å spille av lydfilene dine.
Programmet er selvforklarende siden de har kommentarlinjene. Men jeg har også forklart muligheten til TMRpcm-biblioteket nedenfor.
Spille av en lydfil:
Du kan spille av hvilken som helst lyd som er lagret i Wav-format inne i SD-kortmodulen ved å bruke linjen nedenfor.
music.play ("3.wav"); // object name.play (“FileName.wav”);
Du kan bruke denne linjen på steder der du vil utløse lyden
Stopp en lydfil midlertidig:
For å sette en lydfil på pause, kan du bare ringe linjen nedenfor.
music.pause (); //objektnavn.pause ();
Videresende / spole tilbake en lyd:
Det er ikke direkte måter å videresende eller spole tilbake en lydfil, men du kan bruke linjen nedenfor til å spille av en sang på et bestemt tidspunkt. Dette kan brukes til å spole tilbake / tilbake med litt ekstra programmering.
music.play ("2.wav", 33); // Spiller sangen fra 33. sekund //objektnavn.spill(“Filnavn.wav”, tid i sekund);
Stille inn lydkvaliteten:
Biblioteket gir oss to kvaliteter til å spille musikken, den ene er å spille som normal modus, den andre for å spille med 2X oversampling.
music.quality (0); // Musikk i normal modus. Kvalitet (1); // 2X over prøvetakingsmodus
Stille inn lydvolumet:
Ja, du kan kontrollere lydvolumet gjennom programvaren. Du kan ganske enkelt stille inn volumet ved å bruke linjen nedenfor. Høyere musikkvolumer har en tendens til å påvirke lydkvaliteten, og bruk derfor maskinvarekontroll når det er mulig.
music.setVolume (5); // Spiller sangen på volum 5 //objektnavn.setVolume(Volumnivå);
Arbeider med denne Arduino Music Player:
Etter at du har programmert Arduino, trykk bare på knappen som er koblet til pin 2, og Arduino vil spille den første sangen (lagret som 1.wav) for deg. Nå kan du trykke på knappen igjen for å endre spor til neste sang som skal spilles 2.wav. På samme måte kan du navigere til alle fire sangene.
Du kan også spille av / sette sangen på pause ved å trykke på knappen som er koblet til pinne 3. Trykk en gang for å sette sangen på pause, og trykk den igjen for å spille den fra der den stoppet. Se videoen nedenfor for fullstendig arbeid (eller kanskje å slappe av med noen sanger).
Håper du likte prosjektet. Nå er det opp til kreativiteten din å bruke dem i prosjektene dine. Du kan lage en taleklokke, stemmeassistent, snakkende robot, stemmevarselsikkerhetssystem og mye mer. Gi meg beskjed om hvordan du planlegger å bruke den gjennom kommentarseksjonen, og hvis du har noen problemer med å få denne tingen til å fungere, kan du nå meg gjennom forumene eller kommentarseksjonen nedenfor.