Comandi vocali: microfono INMP441
Un microfono e un modello di AI sulla scheda che riconosce alcune parole, senza internet: oggi go, left, right e stop.
Il programma di prova
Prova questo pezzo da solo, prima di montare il resto: se funziona da solo, il resto si costruisce su qualcosa che sai che va.
10 IF VOICE() = "go" THEN LED green, on
20 IF VOICE() = "stop" THEN LED green, off
30 WAIT 100
40 GOTO 10Cosa devi vedere: Di'"go" vicino al microfono: la luce verde si accende; "stop": si spegne.
▶ Provalo nell'IDECosa comprare
- Microfono INMP441 (I2S)Alimentalo a 3.3V (VDDIO), mai a 5V. Su un robot che si muove, salda i pin (il contatto a pressione si stacca).
Come si collega a una ESP32-S3
- SCK → ESP32-S3: GPIO15SCK è il clock (la scheda detta il ritmo con cui il mic manda i bit).
- WS → ESP32-S3: GPIO16WS sceglie il canale sinistro/destro per ogni campione.
- SD → ESP32-S3: GPIO17SD è l'uscita dati del mic: i bit del suono entrano nella scheda da qui.
- VDD → ESP32-S3: 3V3Alimentazione. Usa il 3.3V, mai il 5V (il 5V può rovinare il mic).
- GND → ESP32-S3: GNDMassa comune: questo collegamento è obbligatorio.
- L/R → ESP32-S3: GNDL/R a GND seleziona il canale sinistro.
Se non funziona
- Il programma gira ma non succede niente
- Il microfono non è alimentato a 3,3 V, o i fili SCK, WS e SD sono scambiati. VDD a 3,3 V (mai a 5 V), GND e L/R a GND, poi SCK, WS e SD come nello schema.
Cosa puoi regolare
- Le parole che capisce: oggi solo in inglese, go, left, right e stop (anche up e down sulla scheda Nordic).
Su quali schede funziona
- ESP32-S3 Freenove: sì
- Nordic nRF54LM20 DK: sì
- Arduino UNO R4 WiFi: no, senza AI