Satura rādītājs:

STM32CubeMx mikrofons (STM32F407VG): 5 soļi
STM32CubeMx mikrofons (STM32F407VG): 5 soļi

Video: STM32CubeMx mikrofons (STM32F407VG): 5 soļi

Video: STM32CubeMx mikrofons (STM32F407VG): 5 soļi
Video: STM32 Микрофон и фильтр от статики 2024, Novembris
Anonim
STM32CubeMx mikrofons (STM32F407VG)
STM32CubeMx mikrofons (STM32F407VG)

Sveiki! Šajā projektā mēs centīsimies iegūt skaņu, izmantojot mikrofonu (ārējo, nevis iebūvēto mikrofonu), un atskaņot to caur skaļruni. Šī apmācība būs ļoti īsa, jo es sniegšu projekta daļu skaidrojumus, atsaucoties uz dažiem videoklipiem. Tātad, ķersimies pie projekta:)

1. darbība. Prasības programmatūrai un aparatūrai

Aparatūras prasības:

  • STM32F4 atklāšanas dēlis (vai jebkura cita STM32F4 plāksne)
  • MAX9814 elektreta mikrofons ar pastiprinātāju
  • PAM8403 audio pastiprinātāja modulis
  • 4 OHM skaļrunis

Prasības programmatūrai:

  • STM32CubeMX
  • Keil uVision5

2. solis: nosakiet projekta plānu

Tātad, vispirms sapratīsim, ko mēs vēlamies darīt. Pirmkārt, mēs vēlamies iegūt skaņu no elektreta mikrofona. Kā jūs zināt, MCU visu apstrādā digitāli. Tomēr skaņa ir analogs signāls. Tātad, mums tas jāpārvērš par ciparu signālu, un to veic ADC (analogo ciparu pārveidotājs), un šo procesu sauc par paraugu ņemšanu. Jūs varat meklēt vairāk informācijas. Šeit ir viens svarīgs punkts: lai skaļrunis iegūtu skaņu atbilstoši, paraugu ņemšanas frekvencei jābūt vismaz divas reizes augstākai par audio frekvenci pie izejas. To sauc par Nikvista-Šenona teorēmu.

Pēc tā pārveidošanas par digitālo signālu mēs varam to apstrādāt, kā vēlamies, un pēc tam vēlreiz izvadīt šo skaņu. Tomēr skaļrunim ir nepieciešams analogs signāls. Tātad, mums ir jāpārveido šis digitālais signāls uz analogo atpakaļ. Šim nolūkam mēs izmantosim DAC (digitālo analogo pārveidotāju). Beigās varam izdot šo skaņu:)

3. darbība. Kā iestatīt un ieviest ADC un DAC, izmantojot DMA

Kā jau teicu, esmu iemācījies šo procesu arī no video. Es došu saiti uz šo video. Esiet pacietīgs un uzmanīgi klausieties. Viņš lieliski izskaidro visu procesu.

Saites: 1. un 2. daļa

*Piezīme. Atzīmējiet šo rindiņu savā kodā un iespējojiet nepārtrauktu DMA pieprasījumu:

hadc1. Init. DMAContinuousRequests = ENABLE;

4. solis: izejiet pie runātāja

Iet pie runātāja
Iet pie runātāja

Pēc visu darbību veikšanas jums ir jāpievieno skaļrunis, kā parādīts iepriekš. Pēc tam atskaņojiet skaņu savā tālrunī un samaziniet skaņu līdz robežai, kuru jūs gandrīz nedzirdat. Pēc tam novietojiet tālruni pie mikrofona un skaļi dzirdēsit skaļruņa skaņu. Nerunājiet ar mikrofonu, jo būs grūti saprast, vai skaļrunis izvada skaņu vai nē:)

5. darbība. Secinājums

Tātad, mēs esam nonākuši pie projekta beigām. Ja jums ir kādi jautājumi vai problēmas, lūdzu, nevilcinieties jautāt:)

Ieteicams: