- Nødvendig hardware:
- Gør dig klar med dine WAV-lydfiler:
- Kredsløb og hardware:
- Programmering af din Arduino:
- Arbejde med denne Arduino Music Player:
Tilføjelse af lyde eller musik til vores projekt får det altid til at se cool ud og lyde meget mere attraktivt. Især hvis du bruger en Arduino, og du har mange ben gratis, kan du nemt tilføje lydeffekter til dit projekt ved bare at investere i et ekstra SD-kortmodul og en normal højttaler. I denne artikel vil jeg vise dig, hvor let det er at afspille musik / tilføje lydeffekter ved hjælp af dit Arduino Board. Tak til Arduino-samfundet, der har udviklet nogle biblioteker til at opbygge dette på en hurtig og nem måde. Vi har også brugt IC LM386 her til forstærkning og støjreduktion.
I dette projekt vil vi afspille.wav-musikfillagrene på et SD-kort. Vi programmerer Arduino til at læse disse.wav-filer og afspille lyden på en tale gennem en LM386 lydforstærker. Nu da denne kode kun kunne læse.wav-filer, kan dette projekt teknisk set ikke kaldes som en Arduino Mp3-afspiller, men hej, du vil stadig være i stand til at høre sange med den. Hvis du leder efter enkle alternativer som en Arduio-musikafspiller uden SD-kort, skal du tjekke Arduino-melodi-afspilleren, som vi har bygget tidligere.
Nødvendig hardware:
- Arduino UNO
- SD-kortlæser-modul
- SD kort
- LM386 Audioforstærker
- 10uf kondensator (2 nr.)
- 100uf kondensator (2 nr.)
- 1K, 10K modstand
- Trykknapper (2 nr.)
- Brødbræt
- Tilslutning af ledninger
Gør dig klar med dine WAV-lydfiler:
For at afspille lyde fra SD-kort ved hjælp af Arduino har vi brug for lydfiler i.wav-format, fordi Arduino Board kan afspille en lydfil i et specifikt format, der er wav-format. For at lave en arduino mp3-afspiller er der mange mp3-skjolde tilgængelige, som du kan bruge med arduino. Ellers for at afspille mp3-filer i arduino er der websteder, som du kan bruge til at konvertere en hvilken som helst lydfil på din computer til den specifikke WAV-fil.
Så for at konvertere enhver lydfil til wav-format skal du følge nedenstående trin:
Trin 1: Klik på "Online Wav Converter" for at komme ind på hjemmesiden.
Trin 2: Arduino kan afspille en wav-fil i følgende format. Du kan lege med indstillingerne senere, men disse indstillinger var eksperiment for at være den bedste i kvalitet.
Bitopløsning |
8 bit |
Samplingsfrekvens |
16000 Hz |
Lydkanal |
Mono |
PCM-format |
PCM usigneret 8-bit |
Trin 3: Klik på "vælg fil" på hjemmesiden, og vælg den fil, du vil konvertere. Indfør derefter ovenstående indstillinger. Når det er gjort, skal det se sådan ud i nedenstående billede
Trin 4: Klik nu på "Konverter fil" og din lydfil konverteres til.Wav-filformat. Det downloades også, når konverteringen er gennemført.
Trin 5: Formater til sidst dit SD-kort, og gem din.wav-lydfil i det. Sørg for at formatere det, før du tilføjer denne fil. Husk også navnet på din lydfil. På samme måde kan du vælge en af dine fire lydbånd og gemme dem med navnene 1, 2, 3 og 4 (Navne bør ikke ændres). Jeg har konverteret fire sange og har gemt dem som 1.wav, 2.wav, 3.wav og 4.wav som vist nedenfor.
Kredsløb og hardware:
Kredsløbsdiagram til denne Arduino Audio File Player er enkel. Det komplette kredsløbsdiagram er vist i billedet nedenfor.
Som vi ved, gemmes vores lydfiler på SD-kortet, og derfor interface vi et SD-kortlæser-modul med vores Arduino. Den Arduino og SD-kortet kommunikerer ved hjælp af SPI kommunikationsprotokol. Derfor er modulet grænseflade med SPI-benene på Arduino som vist ovenfor i diagrammet. Det er yderligere angivet i nedenstående tabel.
Arduino |
SD-kort modul |
+ 5V |
Vcc |
Gnd |
Gnd |
Pin 12 |
MISO (Master In Slave out) |
Pin 11 |
MOSI (Master Out Slave In) |
Pin 13 |
SCK (synkron ur) |
Pin 4 |
CS (Chip Select) |
Nu vil Arduino være i stand til at læse musikfilen fra SD-kortet og afspille den på pin nummer 9. Men lydsignalerne produceret af Arduino på pin 9 vil ikke høres meget. Derfor forstærker vi den ved hjælp af LM386 lavspændings lydforstærker IC.
Forstærkeren vist ovenfor er designet til en gevinst på 200, og Vdd (pin 6) får strøm fra 5V-stiften på Arduino. Hvis du vil øge / formindske lyden, kan du øge / formindske den spænding, der leveres til denne pin. Den tåler maksimalt 15V. Lær mere om denne 200 forstærkningskonfiguration til LM386 her.
Vi har også to trykknapper forbundet til pin 2 og 3 på Arduino. Disse kontakter bruges til at afspille det næste spor i sangen og afspille / pause musikken henholdsvis. Jeg har brugt disse knapper bare for at demonstrere dens evner; du kan afspille sangen, når det er nødvendigt. Tjek demovideoen i slutningen.
Du kan samle dette kredsløb helt over et brødbræt som vist på billedet nedenfor
Programmering af din Arduino:
Når vi er klar med hardwaren og SD-kortet, er vi kun et skridt væk og spiller disse sange. Indsæt kortet i dit SD-kortmodul, og følg nedenstående trin.
Trin 1: Som tidligere nævnt bruger vi et bibliotek til at få dette projekt til at fungere. Linket til biblioteket er angivet nedenfor. Klik på den og vælg "Klon eller download", og vælg download som ZIP.
- TMRpcm-bibliotek
Trin 2: Tilføj denne zip-fil i din Arduino IDE ved at vælge Skitse-> Inkluder bibliotek -> Tilføj.ZIP-bibliotek som vist nedenfor, og vælg den ZIP-fil, vi lige har downloadet.
Trin 3: Det komplette program for arduino-musikafspillerprojektet findes i slutningen af denne artikel, bare kopier det og indsæt det i Arduino-programmet. Klik nu på Upload og gør dig klar til at afspille dine lydfiler.
Programmet er selvforklarende, da de har kommentarlinjerne. Men jeg har også forklaret muligheden for TMRpcm-biblioteket nedenfor.
Afspilning af en lydfil:
Du kan afspille enhver lyd, der er gemt i Wav-format inde i SD-kortmodulet ved hjælp af nedenstående linje.
music.play ("3. bølge"); // objekt name.play ("FileName.wav");
Du kan bruge denne linje på steder, hvor du vil udløse lyden
Sæt en lydfil på pause:
For at sætte en lydfil på pause kan du blot ringe til linjen nedenfor.
music.pause (); //objektnavn.pause ();
Videresendelse / tilbagespoling af en lyd:
Der er ikke direkte måder at videresende eller spole tilbage en lydfil, men du kan bruge linjen nedenfor til at afspille en sang på et bestemt tidspunkt. Dette kan bruges til at videresende / spole tilbage med nogle ekstra programmeringer.
music.play ("2.wav", 33); // Afspiller sangen fra 33. sekund //objektnavn.play(“Filnavn.wav”, tid i sekund);
Indstilling af lydkvaliteten:
Biblioteket giver os to kvaliteter til at spille musikken, den ene er at spille som normal tilstand, den anden til at spille med 2X oversampling.
musik.kvalitet (0); // Normal Mode musik. Kvalitet (1); // 2X over sampling-tilstand
Indstilling af lydstyrken:
Ja, du kan kontrollere lydstyrken af lyden via software. Du kan blot indstille lydstyrken ved hjælp af nedenstående linje. Højere musikvolumener har tendens til at påvirke lydkvaliteten, og brug derfor hardwarekontrol, når det er muligt.
music.setVolume (5); // Afspiller sangen på lydstyrke 5 //objektnavn.setVolume(Volumeniveau);
Arbejde med denne Arduino Music Player:
Efter programmering af din Arduino skal du blot trykke på knappen, der er tilsluttet pin 2, og din Arduino spiller den første sang (gemt som 1.wav) til dig. Nu kan du trykke på knappen igen for at ændre dit spor til den næste sang, der skal afspilles 2.wav. På samme måde kan du navigere til alle fire sange.
Du kan også afspille / sætte sangen på pause ved at trykke på knappen, der er tilsluttet pin 3. Tryk en gang på den for at sætte sangen på pause, og tryk den igen for at afspille den fra det sted, hvor den stoppede. Se videoen nedenfor for komplet arbejde (eller måske for at slappe af med nogle sange).
Håber du nød projektet. Nu er det op til din kreativitet at bruge dem i dine projekter. Du kan lave et taleur, stemmeassistent, talerobot, stemmealarmsikkerhedssystem og meget mere. Lad mig vide, hvordan du planlægger at bruge det gennem kommentarsektionen, og også hvis du har problemer med at få denne ting til at fungere, kan du nå mig gennem fora eller kommentarsektionen nedenfor.