İçindekiler:

STM32CubeMx Mikrofon (STM32F407VG): 5 Adım
STM32CubeMx Mikrofon (STM32F407VG): 5 Adım

Video: STM32CubeMx Mikrofon (STM32F407VG): 5 Adım

Video: STM32CubeMx Mikrofon (STM32F407VG): 5 Adım
Video: STM32L4 training: 07.3 Advanced peripherals - Hands-on DFSDM 2024, Kasım
Anonim
STM32CubeMx Mikrofon (STM32F407VG)
STM32CubeMx Mikrofon (STM32F407VG)

Selam! Bu projede mikrofon kullanarak (harici değil onboard mikrofon) ses almaya ve hoparlörden çalmaya çalışacağız. Bu ders çok kısa olacak çünkü proje bölümlerinin açıklamalarını bazı videolara referansla vereceğim. Neyse projeye geçelim:)

Adım 1: Yazılım ve Donanım Gereksinimleri

Donanım Gereksinimleri:

  • STM32F4 keşif kartı (veya başka bir STM32F4 kartı)
  • Amplifikatörlü MAX9814 elektret mikrofon
  • PAM8403 ses yükseltici modülü
  • 4 OHM hoparlör

Yazılım gereksinimleri:

  • STM32CubeMX
  • Keil uVision5

Adım 2: Proje Planını Belirleyin

Öyleyse, önce ne yapmak istediğimizi anlayalım. İlk olarak elektret mikrofondan ses almak istiyoruz. Bildiğiniz gibi MCU her şeyi dijital olarak işler. Ancak ses analog sinyaldir. Bu yüzden, onu dijital sinyale dönüştürmemiz gerekiyor ve bu, ADC (analog to digital converter) tarafından yapılır ve işleme örnekleme denir. Daha fazla bilgi için arama yapabilirsiniz. Burada önemli bir nokta var: Hoparlörden uygun şekilde ses alabilmek için örnekleme frekansı çıkıştaki ses frekansından en az iki kat fazla olmalıdır. Buna Nyquist-Shannon teoremi denir.

Dijital sinyale dönüştürdükten sonra istediğimiz gibi işleyebilir ve tekrar o sesi verebiliriz. Ancak, hoparlörün analog sinyale ihtiyacı vardır. Yani, bu dijital sinyali tekrar analoga dönüştürmemiz gerekiyor. Bunun için DAC (dijitalden analoğa dönüştürücü) kullanacağız. Sonunda o sesi çıkarabiliriz:)

Adım 3: DMA ile ADC ve DAC Nasıl Kurulur ve Uygulanır

Dediğim gibi ben de bir videodan bu işlemi öğrendim. Bu videonun linkini vereceğim. Sabırlı olun ve dikkatlice dinleyin. Tüm süreci mükemmel bir şekilde açıklıyor.

Bağlantılar: Bölüm1 ve Bölüm2

*Not: Kodunuzda bu satırı kontrol edin ve DMA sürekli isteğini etkinleştirin:

hadc1. Init. DMAContinulousRequests = ETKİNLEŞTİR;

Adım 4: Hoparlöre Çıkış

Hoparlöre Çık
Hoparlöre Çık

Tüm adımları yaptıktan sonra hoparlörü yukarıdaki görüntüdeki gibi bağlamanız gerekiyor. Daha sonra telefonunuzda ses çalın ve sesi zar zor duyabileceğiniz limite kadar azaltın. Ardından, telefonu mikrofona yaklaştırın ve hoparlörden yüksek sesle ses duyacaksınız. Mikrofona konuşmayın çünkü hoparlörden çıkış olup olmadığını anlamak zor olacak:)

Adım 5: Sonuç

Böylece projenin sonuna geldik. Herhangi bir sorunuz veya sorununuz varsa lütfen sormaktan çekinmeyin:)

Önerilen: