Campionare audio con mike MEMS sullo XIAO nRF52840

Xiao MEMS microphone

La board Seeed Studio XIAO nRF52840 Sense è dotato di un microfono MEMS PDM (Pulse Density Modulation) che può campionare dati audio in tempo reale.

Un MEMS (sistema microelettromeccanico) è una macchina in miniatura che ha componenti sia meccanici che elettronici. La dimensione fisica di un MEMS può variare da diversi millimetri a meno di un micrometro, una dimensione molte volte inferiore alla larghezza di un capello umano.

Con la connessione wireless e le ottime prestazioni nell’elaborazione dei dati audio grazie alla FPU, lo Xiao nRF52840 può essere utilizzato per progetti TinyML più interessanti come il controllo vocale remoto dei dispositivi.

In questo articolo impareremo come utilizzare il micfrofono MEMS presente sulla scheda Seeed Studio XIAO nRF52840 per campionare un audio di 5 secondi sulla scheda SD presente sulla board.

Nota: Il microfono PDM funzionerà meglio quando utilizzeremo la “Libreria di schede abilitate per Seeed nrf52 mbed”.

XIAO MEMS

L’articolo introdurrà le basi dell’utilizzo del microfono PDM su questa scheda, e include 2 esempi. Un esempio si concentra sulla visualizzazione dei dati grezzi dal microfono in tempo reale, mentre l’altro si focalizza sul salvataggio dell’audio registrato dal microfono su una scheda SD.

Vediamo di cosa si tratta.

Visualizzare i dati grezzi dal microfono PDM in tempo reale

In questo esempio, visualizzeremo i dati che giungono dal microfono PDM attraverso un monitor seriale e un plotter seriale, il tutto in tempo reale.

Passaggio 1. Scaricare la libreria Seeed_Arduino_Mic come file zip.

Seeed Studio nRF52840 microphone

Passaggio 2. Aprire Arduino IDE, andatre su Sketch > Includi libreria > Aggiungi libreria .ZIP… e aprire il file zip scaricato.

Campionare audio MEMS

Fatto? Bene, andiamo al

Passaggio 3. Passare alla cartella degli esempi File> Esempi> Vedi Arduino Mic> mic_serial_plotter per aprire mic_serial_plotter

Passaggio 4. Caricare il codice e aprire il monitor seriale.

Nota: una volta caricato il codice, esso non verrà eseguito automaticamente fino a quando non si farà clic su Serial Monitor nell’angolo in alto a destra della finestra di Arduino.

Campionare audio MEMS

I dati grezzi del microfono verranno visualizzati in tempo reale sul monitor seriale come appare dall’immagine qui sopra.

Passaggio 5. Andando su Strumenti > Plotter seriale e aprendo il Plotter seriale, si avrà accesso ai dati grezzi del microfono visualizzati in tempo reale su un grafico, come nell esempio qui sotto.

Usare il microfono per campionare una traccia audio sulla scheda SD

Proprio come la serie Seeed Studio XIAO, Seeed Studio XIAO nRF52840 Sense è perfettamente compatibile con la scheda di espansione Seeeduino Seeed Studio XIAO. È compatibile pin to pin sulla scheda di espansione, il che significa che è possibile utilizzare il modulo della scheda SD presente sulla scheda di espansione. Ovviamente,quanola non fosse necessaria l’intera scheda di espansione, è possibile collegare lo Xiao con un modulo scheda SD separato tramite l’interfaccia SPI.

Passaggio 1. Collegare Seeed Studio XIAO nRF52840 Sense a una scheda di espansione Seeed Studio XIAO e inserire una scheda SD nello slot per schede SD della scheda di espansione.

Campionare audio MEMS

Nota: quando la spia sulla scheda di espansione lampeggia regolarmente in verde, la connessione è avvenuta con successo.

Poiché abbiamo già installato la libreria Seeed_Arduino_Mic nell’esempio precedenza, non è necessario installarla nuovamente per questo test.

Passaggio 2. Scaricare la libreria Seeed_Arduino_FS come file zip: questa libreria è necessaria per accedere alla scheda SD e salvare i dati

Passaggio 3. Aprire Arduino IDE, e andare su Sketch > Includi libreria > Aggiungi libreria .ZIP… quindi aprire il file zip scaricato.

Passaggio 4. Precedere su File > Examples > Seeed Arduino Mic > mic_Saved_OnSDcard per aprire l’esempio mic_Saved_OnSDcard.

Passaggio 5. Caricare il codice seogente e aprire il monitor seriale.

Anche in questo caso, una volta caricati i codici, il programma nonn partirà automaticamente, ma occorrerà fare clic su Serial Monitor nell’angolo in alto a destra della finestra di Arduino.

A questo punto inizierà la campionatura dei dati audio, che verranno registrati per 5 secondi e quindi automaticamente salvati sulla scheda SD.

Campionare audio MEMS

Il file test.9568.wav è un file audio di 5 secondi salvato sulla scheda SD.

Se si desidera ricampionare i dati audio, è necessario premere il pulsante di ripristino e quindi fare nuovamente clic su “monitor seriale” per rilanciare il procedimento.

 

Gli articoli precedenti:

Link utili:

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.