Spisu treści:

Mikrofon STM32CubeMx (STM32F407VG): 5 kroków
Mikrofon STM32CubeMx (STM32F407VG): 5 kroków

Wideo: Mikrofon STM32CubeMx (STM32F407VG): 5 kroków

Wideo: Mikrofon STM32CubeMx (STM32F407VG): 5 kroków
Wideo: Kurs STM32 #10 Enkoder inkrementalny 2024, Listopad
Anonim
Mikrofon STM32CubeMx (STM32F407VG)
Mikrofon STM32CubeMx (STM32F407VG)

Cześć! W tym projekcie postaramy się uzyskać dźwięk za pomocą mikrofonu (zewnętrznego, a nie wbudowanego) i odtworzyć go przez głośnik. Ten samouczek będzie bardzo krótki, ponieważ wyjaśnię części projektu, odnosząc się do niektórych filmów. Przejdźmy więc do projektu:)

Krok 1: Wymagania dotyczące oprogramowania i sprzętu

Wymagania sprzętowe:

  • Płyta wykrywania STM32F4 (lub dowolna inna płyta STM32F4)
  • MAX9814 mikrofon elektretowy ze wzmacniaczem
  • Moduł wzmacniacza audio PAM8403
  • Głośnik 4 omów

Wymagania Systemowe:

  • STM32CubeMX
  • Keil uVision5

Krok 2: Ustal plan projektu

Więc najpierw zrozummy, co chcemy zrobić. Najpierw chcemy uzyskać dźwięk z mikrofonu elektretowego. Jak wiesz, MCU przetwarza wszystko cyfrowo. Dźwięk jest jednak sygnałem analogowym. Musimy więc przekonwertować go na sygnał cyfrowy i robi to ADC (przetwornik analogowo-cyfrowy), a proces ten nazywamy próbkowaniem. Możesz wyszukać więcej informacji. Tutaj jest jedna ważna kwestia: Aby właściwie uzyskać dźwięk z głośnika, częstotliwość próbkowania powinna być co najmniej dwa razy wyższa niż częstotliwość dźwięku na wyjściu. Nazywa się to twierdzeniem Nyquista-Shannona.

Po przetworzeniu go na sygnał cyfrowy możemy go przetworzyć tak, jak chcemy, a następnie ponownie wyprowadzić ten dźwięk. Jednak głośnik potrzebuje sygnału analogowego. Więc musimy przekonwertować ten sygnał cyfrowy na analogowy z powrotem. Do tego wykorzystamy DAC (przetwornik cyfrowo-analogowy). Na koniec możemy wypuścić ten dźwięk:)

Krok 3: Jak skonfigurować i wdrożyć ADC i DAC z DMA?

Jak powiedziałem, nauczyłem się tego procesu również z filmu. Podam link do tego filmu. Bądź cierpliwy i słuchaj uważnie. Doskonale wyjaśnia cały proces.

Linki: Część1 i Część2

*Uwaga: zaznacz ten wiersz w kodzie i włącz ciągłe żądanie DMA:

hadc1. Init. DMAContinuousRequests = WŁĄCZ;

Krok 4: Wyjdź do mówcy

Wyjście do mówcy
Wyjście do mówcy

Po wykonaniu wszystkich czynności musisz podłączyć głośnik jak na powyższym obrazku. Następnie odtwórz dźwięk w telefonie i zmniejsz dźwięk do limitu, którego prawie nie słyszysz. Następnie zbliż telefon do mikrofonu, a usłyszysz głośno dźwięk z głośnika. Nie mów do mikrofonu, bo ciężko będzie wyłapać, czy jest wyjście z głośnika, czy nie:)

Krok 5: Wniosek

Tak więc dotarliśmy do końca projektu. Jeśli masz jakieś pytanie lub problem, nie wahaj się zapytać:)

Zalecana: