- Komponenter kreves
- Kretsdiagram
- Gjør deg klar med lydfiler
- Kode Forklaring
- Testing av ESP32 lydavspiller
DIY Music-spillere er morsomme å bygge, og vi bygde tidligere noen få musikkspillere ved hjelp av Arduino og en dedikert MP3-modul. Nå bruker vi ESP32 til å bygge en interessant lydavspiller, der du kan lydeffekter ved å bare koble en ekstra høyttaler til ESP32. Her vil vi bruke LM386 og en høyttaler med ESP32 til å spille av musikkfiler. Lydutgangen er kanskje ikke høy, men dette programmet viser evnen til ESP32-kortet til å spille av lydfiler.
Komponenter kreves
- ESP32
- LM386 Forsterkermodul
- 8 ohm høyttaler
- Jumper Wires
Kretsdiagram
Kretsdiagram for ESP32 Music Player er gitt nedenfor-
For å spille lyd på ESP32 trenger vi en høyttaler. Høyttaleren er koblet til via LM386 Audio Amplifier-modulen. Vcc og GND-pinner på forsterkermodulen er koblet til VIN og GND på ESP32 mens IN-pinnen på forsterkermodulen er koblet til GPIO 25-pinnen på ESP32. GPIO 25 er en av de 2 DAC-pinnene (Digital til Analog Converter).
Slik vil det komplette oppsettet for ESP32 Music Player se ut:
LM386 er en lydforsterker IC, du kan lære mer om LM386 ved å følge lenken.
Gjør deg klar med lydfiler
For å spille lydlyder på ESP32-kortet, trenger vi lydfiler i .wav- format fordi ESP32 bare kan spille av en lydfil i .wav- format.
Så det første trinnet blir å hente filen du vil spille på ESP32. Deretter laster du ned og installerer Audacity Audio Editor-appen. Denne appen vil bli brukt til å endre filtype, samplingsfrekvens og andre egenskaper.
Når installasjonen er fullført, åpner du Audacity-appen og går deretter til fil> Åpne og velg lydfilen du vil redigere.
Det første som måtte endres er samplingsfrekvensen. For å spille av en lydfil på ESP32, vil en samplingsfrekvens på 8000 til 16000 være god da ESP32 ikke har mye minne. Så endre prosjektfrekvensen til 16000.
Etter det, naviger til Fil> Eksporter> Eksporter som WAV for å lagre lydfilen i .wav- format.
Nå i neste vindu velger du WAV (Microsoft) som filtype og usignert 8-biters PCM som kodingsformat, og deretter klikker du på Lagre.
Nå trenger vi en Hex Editor-app for å generere Hex-koder for lydfilen. Så last ned og installer Hex Editor (HxD) fra den gitte lenken. Deretter åpner du appen, går deretter til Fil> åpne og åpne .wav-filen . Dette genererer Hex-koden for .wav-filen .
Bruk deretter ctrl + A for å velge hele koden, og gå deretter til Rediger> Kopier som> C for å kopiere koden i C-språkformat.
Lim deretter inn denne koden i Arduino IDE.
Kode Forklaring
Den komplette koden for Kontaktløs ESP32 lydavspiller er gitt på slutten av siden. Her forklarer vi noen viktige deler av koden. I dette programmet skal vi bruke XT DAC Audio-biblioteket fra XTronical. XT DAC Audio-biblioteket kan lastes ned herfra.
Så som vanlig, start koden med å inkludere alle nødvendige biblioteker. SoundData.h-filen inneholder Hex-koden for .Wav-filen som skal spilles.
#include "SoundData.h" #include "XT_DAC_Audio.h"
I neste linje oppretter du et objekt av typen XT_Wav_Class som brukes av DAC- lydklassen som sender .wav- data som parameter. DacAudio, hovedspillerklasseobjektet der 25 er DAC-pin-nummeret der forsterkerpinnen er koblet.
XT_Wav_Class Sound (eksempel); XT_DAC_Audio_Class DacAudio (25,0);
Inne i setup () -funksjonen, initialiser Serial Monitor med en baudrate på 115200 for feilsøkingsformål.
ugyldig oppsett () {Serial.begin (115200);
Inne i loop () -funksjonen, fyll lydbufferen med data og sjekk om lyden spiller eller ikke, hvis ikke, spill lyden i loop.
ugyldig sløyfe () {DacAudio.FillBuffer (); hvis (Sound.Playing == false) DacAudio.Play (& Sound); Serial.println (DemoCounter ++); }
Testing av ESP32 lydavspiller
Når koden er klar, kobler du høyttaleren til GPIO 25 på ESP32 gjennom LM386 eller en hvilken som helst annen forsterkermodul. Koble nå ESP32 til bærbar datamaskin og last opp koden. Når koden er lastet opp, begynner ESP32 å spille av lyden. Lydkvaliteten kan endres ved hjelp av potensiometeret til forsterkermodulen.
Håper du likte prosjektet. En fungerende video og fullstendig kode er gitt nedenfor, SoundData.h header-fil kan lastes ned herfra. Hvis du er i tvil, la dem være i kommentarseksjonen.