Questo progetto è un’ottima base di partenza per iniziare ad utilizzare la Multimedia Board (mmb) con un microfono INMP441 ed un amplificatore MAX98357A audio amplifier. Andremo ad utilizzare due pulsanti per registrare e riprodurre un file wav da una SD Card.

Maggiori informazioni sulla connessione della mmb con le due periferiche audio le trovi qui.

Per iniziare ad utilizzare gli esempi, è necessario clonare in locale il repository . Informazioni dettagliate su come clonare un repository remoto le trovi nell’apposito articolo.

In mancanza di una mmb, il progetto ovviamente può essere riprodotto e/o modificato su una classica breadboard.

La libreria utilizzata per la gestione dell’audio è ESP32-audioI2S , alla quale puoi fare riferimento per eventuali approfondimenti. Ho inoltre utilizzato anche qui la classe button.h per il debounce dei pulsanti inclusa nel nostro repository Simple-Classes.

Su platformio.ini includiamo quindi le due librerie esterne:

lib_deps =  https://github.com/schreibfaul1/ESP32-audioI2S
            https://github.com/ZioTester/Simple-Classes

tutte le configurazioni del progetto le ho raggruppate direttamente nel codice su src/main.cpp: in particolare, ho definito due punsanti record e play sui pin 18 e 19 che, se stai usando una mmb, corrispondono ai due pulsanti all’estrema destra della board_ btnA e btnB. Ricorda di fare sempre riferimento all’Interactive Board Pinout oppure alla pagina delle periferiche compatibili per scoprire come vengono utilizzati i pin sulla mmb.

/*

buttons

*/
Button record;
Button play;
#define BTN_REC 18
#define BTN_PLAY 19

Alla presisone del pulsante btnA si attiverà la registrazione di 20 secondi. Alla pressione del pulsante btnB si avvierà la riproduzione.

Qui devo dire la verità, non ho mai approfondito nello specifico le funzioni I2S per la registrazione e tutti i vari parametri coinvolti, anche se mi sono sempre ripromesso di farlo :innocent: Per il momento mi accontento che funzionano :sunglasses:

L’esempio è disponibile nel repository . Informazioni dettagliate su come clonare un repository remoto le trovi nell’apposito articolo.

Web installer

Per questo progetto sono disponibili anche alcuni web installers nell’area dedicata. E’ possibile installare il firmware direttamente dalla pagina web.