- Vereiste hardware:
- Voorbereidingen treffen met uw WAV-audiobestanden:
- Circuit en hardware:
- Programmeren van uw Arduino:
- Werking van deze Arduino-muziekspeler:
Door geluiden of muziek aan ons project toe te voegen, ziet het er altijd cool uit en klinkt het veel aantrekkelijker. Zeker als je een Arduino gebruikt en veel pinnen vrij hebt, kun je eenvoudig geluidseffecten toevoegen aan je project door gewoon te investeren in een extra SD-kaartmodule en een normale speaker. In dit artikel laat ik je zien hoe gemakkelijk het is om muziek af te spelen / geluidseffecten toe te voegen met je Arduino-bord. Dank aan de Arduino-community die enkele bibliotheken hebben ontwikkeld om dit op een snelle en gemakkelijke manier op te bouwen. We hebben hier ook IC LM386 gebruikt voor versterking en ruisonderdrukking.
In dit project spelen we de.wav-muziekbestanden die zijn opgeslagen op een SD-kaart. We zullen de Arduino programmeren om deze.wav-bestanden te lezen en de audio op een luidspreker af te spelen via een LM386-audioversterker. Omdat deze code alleen.wav-bestanden kon lezen, kan dit project technisch gezien niet als een Arduino Mp3-speler worden genoemd, maar je kunt er nog steeds liedjes mee horen. Als je op zoek bent naar eenvoudige alternatieven zoals een Arduio-muziekspeler zonder SD-kaart, bekijk dan de Arduino-melodiespeler die we eerder hebben gebouwd.
Vereiste hardware:
- Arduino UNO
- SD-kaartlezermodule
- SD-kaart
- LM386 Audioversterker
- 10uf condensator (2 nrs)
- 100uf condensator (2 nrs)
- 1K, 10K weerstand
- Drukknoppen (2 nrs)
- Breadboard
- Verbindingsdraden
Voorbereidingen treffen met uw WAV-audiobestanden:
Voor het afspelen van geluiden van een SD-kaart met Arduino, hebben we audiobestanden nodig in.wav-indeling omdat Arduino Board een audiobestand kan afspelen in een specifiek formaat dat het wav-formaat is. Om een arduino mp3-speler te maken, zijn er veel mp3-schilden beschikbaar die je met arduino kunt gebruiken. Of anders om mp3-bestanden in arduino af te spelen, er zijn websites die u kunt gebruiken om elk audiobestand op uw computer om te zetten naar dat specifieke WAV-bestand.
Volg de onderstaande stappen om een audiobestand naar wav-indeling te converteren:
Stap 1: Klik op "Online Wav Converter" om naar de website te gaan.
Stap 2: Arduino kan een wav-bestand in het volgende formaat afspelen. Je kunt later met de instellingen spelen, maar deze instellingen waren experimenteel om de beste kwaliteit te hebben.
Bit resolutie |
8 bit |
Bemonsteringssnelheid |
16000 Hz |
Audiokanaal |
Mono |
PCM-indeling |
PCM niet-ondertekend 8-bit |
Stap 3: Klik op de website op “kies bestand” en selecteer het bestand dat u wilt converteren. Voer vervolgens de bovenstaande instellingen in. Als je klaar bent, zou het er ongeveer zo uit moeten zien in de onderstaande afbeelding
Stap 4: Klik nu op "Bestand converteren" en uw audiobestand wordt geconverteerd naar.Wav-bestandsformaat. Het wordt ook gedownload zodra de conversie is voltooid.
Stap 5: Formatteer tenslotte uw SD-kaart en sla uw.wav-audiobestand erin op. Zorg ervoor dat u het formatteert voordat u dit bestand toevoegt. Onthoud ook de naam van uw audiobestand. Op dezelfde manier kunt u elk van uw vier audio's selecteren en ze opslaan met de namen 1, 2, 3 en 4 (namen mogen niet worden gewijzigd). Ik heb vier nummers geconverteerd en ze opgeslagen als 1.wav, 2.wav, 3.wav en 4.wav zoals hieronder getoond.
Circuit en hardware:
Het schakelschema voor deze Arduino Audio File Player is eenvoudig. Het volledige schakelschema wordt getoond in de onderstaande afbeelding.
Zoals we weten, worden onze audiobestanden op de SD-kaart opgeslagen, daarom koppelen we een SD-kaartlezermodule met onze Arduino. De Arduino en SD-kaart communiceren via het SPI-communicatieprotocol. Daarom is de module gekoppeld aan de SPI-pinnen van de Arduino, zoals hierboven in het diagram wordt weergegeven. Het wordt verder vermeld in de onderstaande tabel.
Arduino |
SD-kaartmodule |
+ 5V |
Vcc |
GND |
GND |
Pin 12 |
MISO (Master In Slave uit) |
Speld 11 |
MOSI (Master Out Slave In) |
Pin 13 |
SCK (synchrone klok) |
Pin 4 |
CS (Chip Select) |
Nu kan de Arduino het muziekbestand van de SD-kaart lezen en afspelen op pincode 9. Maar de audiosignalen die door de Arduino op pin 9 worden geproduceerd, zullen niet veel hoorbaar zijn. Daarom versterken we het door de LM386 Low Voltage Audio versterker IC te gebruiken.
De hierboven getoonde versterker is ontworpen voor een versterking van 200 en de Vdd (pin 6) wordt gevoed door de 5V-pin van de Arduino. Als u het geluid wilt verhogen / verlagen, kunt u de spanning op deze pin verhogen / verlagen. Hij kan maximaal 15V weerstaan. Lees hier meer over deze versterkingsconfiguratie met 200 gain voor LM386.
We hebben ook twee drukknoppen aangesloten op de pin 2 en 3 van de Arduino. Deze schakelaars worden gebruikt om respectievelijk het volgende nummer van het nummer af te spelen en de muziek af te spelen / te pauzeren. Ik heb deze knoppen alleen gebruikt om de mogelijkheden ervan te demonstreren; je kunt het nummer spelen wanneer dat nodig is. Bekijk de demo-video aan het einde.
Je kunt dit circuit volledig over een Breadboard monteren zoals op de onderstaande afbeelding
Programmeren van uw Arduino:
Als we eenmaal klaar zijn met de hardware en de SD-kaart, zijn we slechts één stap verwijderd van het afspelen van die nummers. Plaats de kaart in uw SD-kaartmodule en volg de onderstaande stappen.
Stap 1: Zoals eerder gezegd, zullen we een bibliotheek gebruiken om dit project te laten werken. De link voor de bibliotheek wordt hieronder gegeven. Klik erop en selecteer "Kloon of download" en kies downloaden als ZIP.
- TMRpcm-bibliotheek
Stap 2: Voeg dit zip-bestand toe aan uw Arduino IDE door Sketch-> Inclusief bibliotheek -> Add.ZIP Library te selecteren zoals hieronder getoond en selecteer het ZIP-bestand dat we zojuist hebben gedownload.
Stap 3: Het volledige programma van het arduino-muziekspelerproject wordt aan het einde van dit artikel gegeven. Kopieer het en plak het in het Arduino-programma. Klik nu op Uploaden en maak je klaar om je audiobestanden af te spelen.
Het programma spreekt voor zich omdat ze de commentaarregels hebben. Maar ik heb ook de mogelijkheden van de TMRpcm-bibliotheek hieronder uitgelegd.
Een audiobestand afspelen:
U kunt alle audio afspelen die is opgeslagen in Wav-indeling in de SD-kaartmodule door de onderstaande regel te gebruiken.
music.play ("3.wav"); // objectnaam.play (“Bestandsnaam.wav”);
U kunt deze regel gebruiken op plaatsen waar u de audio wilt activeren
Een audiobestand pauzeren:
Om een audiobestand te pauzeren, belt u gewoon de onderstaande regel.
music.pause (); //objectnaam.pause ();
Audio doorsturen / terugspoelen:
Er zijn geen directe manieren om een audiobestand vooruit of terug te spoelen, maar u kunt de onderstaande regel gebruiken om een nummer op een bepaald tijdstip af te spelen. Dit kan worden gebruikt om vooruit / achteruit te spoelen met wat extra programmering.
music.play ("2.wav", 33); // Speelt het nummer af vanaf de 33e seconde //objectnaam.play(Filename.wav ”,tijd in seconde);
De kwaliteit van de audio instellen:
De bibliotheek geeft ons twee kwaliteiten om de muziek af te spelen, de ene is om te spelen als normale modus en de andere om te spelen met 2X oversampling.
music.quality (0); // Normal Mode music.quality (1); // 2x over bemonsteringsmodus
Het volume van de audio instellen:
Ja, u kunt het volume van de audio via software regelen. U kunt het volume eenvoudig instellen met behulp van de onderstaande regel. Hogere muziekvolumes hebben de neiging de kwaliteit van de audio te beïnvloeden, gebruik daarom waar mogelijk hardwarebesturing.
music.setVolume (5); // Speelt het nummer af op volume 5 //objectname.setVolume(Volumeniveau);
Werking van deze Arduino-muziekspeler:
Na het programmeren van uw Arduino drukt u gewoon op de knop die is aangesloten op pin 2 en uw Arduino speelt het eerste nummer (opgeslagen als 1.wav) voor u af. Nu kunt u nogmaals op de knop drukken om uw track te wijzigen naar het volgende nummer dat moet worden afgespeeld 2. wav. Op dezelfde manier kunt u naar alle vier de nummers navigeren.
Je kunt het nummer ook afspelen / pauzeren door op de knop te drukken die is verbonden met pin 3. Druk er eenmaal op om het nummer te pauzeren en druk er nogmaals op om het af te spelen vanaf het punt waar het is gestopt. Bekijk de onderstaande video voor volledig werken (of misschien om jezelf te ontspannen met wat liedjes).
Ik hoop dat je genoten hebt van het project. Nu is het aan uw creativiteit om ze in uw projecten te gebruiken. U kunt een sprekende klok, stemassistent, pratende robot, beveiligingssysteem voor spraakwaarschuwingen en nog veel meer maken. Laat me weten hoe je het wilt gebruiken via het commentaargedeelte en ook als je problemen hebt om dit ding werkend te krijgen, kun je me bereiken via de forums of het commentaargedeelte hieronder.