- Hårdvara krävs:
- Gör dig redo med dina WAV-ljudfiler:
- Krets och hårdvara:
- Programmering av din Arduino:
- Arbetar med denna Arduino Music Player:
Om du lägger till ljud eller musik i vårt projekt kommer det alltid att se coolt ut och låter mycket mer attraktivt. Speciellt om du använder en Arduino och du har många stift gratis kan du enkelt lägga till ljudeffekter i ditt projekt genom att bara investera i en extra SD-kortmodul och en vanlig högtalare. I den här artikeln kommer jag att visa dig hur lätt det är att spela musik / lägga till ljudeffekter med ditt Arduino Board. Tack till Arduino-samhället som har utvecklat några bibliotek för att bygga detta på ett snabbt och enkelt sätt. Vi har också använt IC LM386 här för förstärkning och brusreducering.
I det här projektet spelar vi.wav-musikfilerna på ett SD-kort. Vi kommer att programmera Arduino för att läsa dessa.wav-filer och spela upp ljudet på en tal genom en LM386 Audio-förstärkare. Nu, eftersom den här koden bara kunde läsa.wav-filer, kan detta projekt tekniskt inte kallas som en Arduino Mp3-spelare, men hej du kommer fortfarande att kunna höra låtar med den. Om du letar efter enkla alternativ som en Arduio-musikspelare utan SD-kort, bör du kolla in Arduino-melodispelaren som vi har byggt tidigare.
Hårdvara krävs:
- Arduino UNO
- SD-kortläsarmodul
- SD-kort
- LM386 Ljudförstärkare
- 10uf kondensator (2 Nos)
- 100uf kondensator (2 Nos)
- 1K, 10K motstånd
- Tryckknappar (2 Nos)
- Bakbord
- Anslutande ledningar
Gör dig redo med dina WAV-ljudfiler:
För att spela ljud från SD-kort med Arduino behöver vi ljudfiler i.wav-format eftersom Arduino Board kan spela en ljudfil i ett specifikt format som är wav-format. För att skapa en arduino mp3-spelare finns det många mp3-skärmar som du kan använda med arduino. Eller för att spela mp3-filer i arduino, det finns webbplatser som du kan använda för att konvertera alla ljudfiler på din dator till den specifika WAV-filen.
Så för att konvertera valfri ljudfil till wav-format, följ stegen nedan:
Steg 1: Klicka på "Online Wav Converter" för att komma in på webbplatsen.
Steg 2: Arduino kan spela en wav-fil i följande format. Du kan leka med inställningarna senare, men dessa inställningar var experiment för att vara bäst i kvalitet.
Bitupplösning |
8 bitar |
Samplingshastighet |
16000 Hz |
Ljudkanal |
Mono |
PCM-format |
PCM osignerad 8-bitars |
Steg 3: Klicka på "välj fil" på webbplatsen och välj den fil du vill konvertera. Mata sedan in ovanstående inställningar. När det är gjort ska det se ut så här i bilden nedan
Steg 4: Klicka nu på "Konvertera fil" och din ljudfil kommer att omvandlas till.Wav-filformat. Den laddas också ner när konverteringen är klar.
Steg 5: Formatera slutligen ditt SD-kort och spara din.wav-ljudfil i den. Se till att du formaterar det innan du lägger till den här filen. Kom också ihåg namnet på din ljudfil. På samma sätt kan du välja någon av dina fyra ljudljud och spara dem med namnen 1, 2, 3 och 4 (Namn bör inte ändras). Jag har konverterat fyra låtar och har sparat dem som 1.wav, 2.wav, 3.wav och 4.wav som visas nedan.
Krets och hårdvara:
Kretsschemat för denna Arduino Audio File Player är enkelt. Hela kretsschemat visas i bilden nedan.
Som vi vet är våra ljudfiler sparade på SD-kortet, därför kopplar vi en SD-kortläsarmodul med vår Arduino. Den Arduino och SD-kortet kommunicerar med hjälp SPI kommunikationsprotokoll. Därför är modulen gränssnitt med SPI-stiften på Arduino som visas ovan i diagrammet. Det listas vidare i tabellen nedan.
Arduino |
SD-kortmodul |
+ 5V |
Vcc |
Gnd |
Gnd |
Stift 12 |
MISO (Master In Slave out) |
Stift 11 |
MOSI (Master Out Slave In) |
Stift 13 |
SCK (synkron klocka) |
Stift 4 |
CS (Chip Select) |
Nu kommer Arduino att kunna läsa musikfilen från SD-kortet och spela den på stift nummer 9. Men ljudsignalerna som produceras av Arduino på stift 9 kommer inte att höras mycket. Därför förstärker vi den med hjälp av LM386 IC-ljudförstärkaren.
Förstärkaren som visas ovan är utformad för en vinst på 200 och Vdd (stift 6) drivs av 5V-stiftet på Arduino. Om du vill öka / minska ljudet kan du öka / minska den spänning som ges till denna stift. Den tål maximalt 15V. Läs mer om denna 200 förstärkningskonfiguration för LM386 här.
Vi har också två tryckknappar anslutna till stift 2 och 3 på Arduino. Dessa omkopplare används för att spela nästa spår av låten och spela / pausa musiken respektive. Jag har använt dessa knappar bara för att visa dess förmågor; du kan spela låten när det behövs. Kontrollera demonstrationsvideon i slutet.
Du kan montera den här kretsen helt över en brödbräda enligt bilden nedan
Programmering av din Arduino:
När vi väl är redo med hårdvaran och SD-kortet är vi bara ett steg borta med att spela dessa låtar. Sätt i kortet i SD-kortmodulen och följ stegen nedan.
Steg 1: Som sagt tidigare kommer vi att använda ett bibliotek för att få detta projekt att fungera. Länken till biblioteket ges nedan. Klicka på den och välj ”Clone or download” och välj ladda ner som ZIP.
- TMRpcm-bibliotek
Steg 2: Lägg till den här zip-filen i din Arduino IDE genom att välja Skiss-> Inkludera bibliotek -> Lägg till.ZIP-bibliotek som visas nedan och välj den ZIP-fil som vi just laddade ner.
Steg 3: Det kompletta programmet för arduino-musikspelarprojektet ges i slutet av den här artikeln, helt enkelt kopiera det och klistra in det i Arduino-programmet. Klicka nu på Ladda upp och gör dig redo att spela dina ljudfiler.
Programmet är självförklarande eftersom de har kommentarraderna. Men jag har också förklarat förmågan hos TMRpcm-biblioteket nedan.
Spela upp en ljudfil:
Du kan spela upp vilket ljud som helst som lagras i Wav-format inuti SD-kortmodulen genom att använda raden nedan.
music.play ("3.wav"); // object name.play (“FileName.wav”);
Du kan använda den här raden på platser där du vill utlösa ljudet
Pausa en ljudfil:
För att pausa en ljudfil kan du helt enkelt ringa raden nedan.
music.pause (); //objektnamn.paus ();
Vidarebefordra / spola tillbaka ett ljud:
Det finns inte direkta sätt att vidarebefordra eller spola tillbaka en ljudfil, men du kan använda raden nedan för att spela en låt vid en viss tidpunkt. Detta kan användas för att spola fram / tillbaka med ytterligare programmering.
music.play ("2.wav", 33); // Spelar låten från 33: e sekund //objectname.play(“Filnamn.wav”,tid i sekund);
Ställa in ljudkvaliteten:
Biblioteket ger oss två kvaliteter för att spela musiken, den ena är att spela som normalt läge och den andra för att spela med 2X översampling.
music.quality (0); // Normalt läge musik. Kvalitet (1); // 2X över samplingsläge
Ställa in ljudvolymen:
Ja, du kan styra ljudvolymen genom programvara. Du kan helt enkelt ställa in volymen genom att använda raden nedan. Högre musikvolymer tenderar att påverka ljudkvaliteten och använd därför hårdvarukontroll när det är möjligt.
music.setVolume (5); // Spelar upp låten på volym 5 //objektnamn.setVolym (Volymnivå);
Arbetar med denna Arduino Music Player:
Efter programmering av din Arduino, tryck bara på knappen som är ansluten till stift 2 så spelar din Arduino den första låten (sparad som 1.wav) åt dig. Nu kan du trycka på knappen igen för att ändra ditt spår till nästa låt som ska spela 2.wav. På samma sätt kan du navigera till alla fyra låtar.
Du kan också spela / pausa låten genom att trycka på knappen som är ansluten till stift 3. Tryck på den en gång för att pausa låten och tryck på den igen för att spela den från där den slutade. Titta på videon nedan för fullständigt arbete (eller kanske slappna av med några låtar).
Hoppas du gillade projektet. Nu är det upp till din kreativitet att använda dem i dina projekt. Du kan skapa en talarklocka, röstassistent, talande robot, röstvarningssäkerhetssystem och mycket mer. Låt mig veta hur du planerar att använda den genom kommentarsektionen och även om du har några problem med att få den här saken att gå kan du nå mig via forumen eller kommentarsektionen nedan.