Sommario:

Microfono STM32CubeMx (STM32F407VG): 5 passaggi
Microfono STM32CubeMx (STM32F407VG): 5 passaggi

Video: Microfono STM32CubeMx (STM32F407VG): 5 passaggi

Video: Microfono STM32CubeMx (STM32F407VG): 5 passaggi
Video: Шаг за шагом MicroPython на Nucleo-F446RE 2024, Novembre
Anonim
Microfono STM32CubeMx (STM32F407VG)
Microfono STM32CubeMx (STM32F407VG)

Ciao! In questo progetto cercheremo di ottenere il suono utilizzando il microfono (microfono esterno non integrato) e riprodurlo tramite l'altoparlante. Questo tutorial sarà molto breve in quanto darò spiegazioni delle parti del progetto facendo riferimento ad alcuni video. Quindi, passiamo al progetto:)

Passaggio 1: requisiti software e hardware

Requisiti hardware:

  • STM32F4 discovery board (o qualsiasi altra scheda STM32F4)
  • Microfono electret MAX9814 con amplificatore
  • Modulo amplificatore audio PAM8403
  • Altoparlante da 4 OHM

Requisiti software:

  • STM32CubeMX
  • Keil uVision5

Passaggio 2: determinare il piano di progetto

Quindi, capiamo prima cosa vogliamo fare. Innanzitutto, vogliamo ottenere il suono dal microfono a elettrete. Come sai, MCU elabora tutto digitalmente. Tuttavia, il suono è un segnale analogico. Quindi, dobbiamo convertirlo in segnale digitale e questo viene fatto da ADC (convertitore da analogico a digitale) e il processo è chiamato campionamento. Puoi cercare maggiori informazioni. Qui c'è un punto importante: per ottenere il suono dall'altoparlante in modo appropriato, la frequenza di campionamento dovrebbe essere almeno due volte superiore alla frequenza audio in uscita. Questo è chiamato teorema di Nyquist-Shannon.

Dopo averlo convertito in segnale digitale, possiamo elaborarlo come vogliamo e quindi emettere nuovamente quel suono. Tuttavia, l'altoparlante necessita di un segnale analogico. Quindi, abbiamo bisogno di convertire questo segnale digitale in analogico. Per questo useremo DAC (convertitore da digitale ad analogico). Alla fine possiamo emettere quel suono:)

Passaggio 3: come configurare e implementare ADC e DAC con DMA

Come ho detto, ho imparato questo processo anche da un video. Metto il link a questo video. Sii paziente e ascolta attentamente. Spiega perfettamente tutto il processo.

Link: Parte1 e Parte2

*Nota: controlla questa riga nel codice e abilita la richiesta continua DMA:

hadc1. Init. DMAContinuousRequests = ABILITA;

Passaggio 4: all'altoparlante

Fuori all'altoparlante
Fuori all'altoparlante

Dopo aver eseguito tutti i passaggi, è necessario collegare l'altoparlante come nell'immagine sopra. Successivamente, riproduci l'audio sul telefono e riduci l'audio fino al limite che puoi sentire a malapena. Quindi, avvicina il telefono al microfono e sentirai il suono dall'altoparlante ad alta voce. Non parlare al microfono, perché sarà difficile capire se c'è uscita dall'altoparlante o meno:)

Passaggio 5: conclusione

Quindi, siamo giunti alla fine del progetto. Se hai domande o problemi non esitare a chiedere:)

Consigliato: