Isi kandungan:

Mikrofon STM32CubeMx (STM32F407VG): 5 Langkah
Mikrofon STM32CubeMx (STM32F407VG): 5 Langkah

Video: Mikrofon STM32CubeMx (STM32F407VG): 5 Langkah

Video: Mikrofon STM32CubeMx (STM32F407VG): 5 Langkah
Video: Урок 75: Пример работы с микрофоном на stm32f4-discovery на SPL 2024, November
Anonim
Mikrofon STM32CubeMx (STM32F407VG)
Mikrofon STM32CubeMx (STM32F407VG)

Hai! Dalam projek ini kita akan berusaha mendapatkan suara dengan menggunakan mikrofon (luaran bukan mikrofon onboard) dan memainkannya melalui pembesar suara. Tutorial ini akan sangat pendek kerana saya akan memberikan penjelasan mengenai bahagian projek dengan merujuk kepada beberapa video. Oleh itu, mari masuk ke dalam projek:)

Langkah 1: Keperluan Perisian dan Perkakasan

Keperluan perkakasan:

  • Papan penemuan STM32F4 (atau papan STM32F4 lain)
  • Mikrofon electret MAX9814 dengan penguat
  • Modul penguat audio PAM8403
  • 4 pembesar suara OHM

Keperluan perisian:

  • STM32CubeMX
  • Keil uVision5

Langkah 2: Tentukan Pelan Projek

Oleh itu, mari kita fahami terlebih dahulu apa yang ingin kita lakukan. Pertama, kami ingin mendapatkan suara dari mikrofon electret. Seperti yang anda ketahui, MCU memproses semuanya secara digital. Walau bagaimanapun, bunyi adalah isyarat analog. Oleh itu, kita perlu menukarnya menjadi isyarat digital dan ini dilakukan oleh ADC (analog ke digital converter) dan prosesnya disebut sampling. Anda boleh mencari lebih banyak maklumat. Di sini ada satu perkara penting: Untuk mendapatkan suara dari pembesar suara dengan tepat, frekuensi pensampelan harus sekurang-kurangnya dua kali lebih tinggi daripada frekuensi audio pada output. Ini dipanggil teorem Nyquist-Shannon.

Setelah menukarnya menjadi isyarat digital, kami dapat memprosesnya seperti yang kami mahukan dan kemudian mengeluarkannya semula. Walau bagaimanapun, pembesar suara memerlukan isyarat analog. Jadi, kita perlu menukar isyarat digital ini ke analog semula. Untuk itu kami akan menggunakan DAC (digital to analog converter). Pada akhirnya kita dapat mengeluarkan bunyi itu:)

Langkah 3: Cara Menyiapkan dan Melaksanakan ADC dan DAC Dengan DMA

Seperti yang saya katakan, saya telah mempelajari proses ini juga dari sebuah video. Saya akan memberikan pautan ke video ini. Bersabar dan dengar dengan teliti. Dia menerangkan semua proses dengan sempurna.

Pautan: Bahagian1 dan Bahagian2

* Catatan: Periksa baris ini dalam kod anda dan aktifkan permintaan berterusan DMA:

hadc1. Init. DMAContinuousRequests = ENABLE;

Langkah 4: Keluar ke Speaker

Keluar kepada Speaker
Keluar kepada Speaker

Setelah melakukan semua langkah, anda perlu menyambungkan pembesar suara seperti gambar di atas. Selepas itu, mainkan suara di telefon anda dan turunkan suara hingga ke tahap yang sukar anda dengar. Kemudian, bawa telefon ke mikrofon dan anda akan mendengar suara dari pembesar suara dengan kuat. Jangan bercakap dengan mikrofon, kerana sukar untuk mengetahui sama ada terdapat output dari pembesar suara atau tidak:)

Langkah 5: Kesimpulannya

Oleh itu, kami telah sampai ke penghujung projek. Sekiranya anda mempunyai pertanyaan atau masalah, jangan ragu untuk bertanya:)

Disyorkan: