Სარჩევი:

მიკროფონი STM32CubeMx (STM32F407VG): 5 ნაბიჯი
მიკროფონი STM32CubeMx (STM32F407VG): 5 ნაბიჯი

ვიდეო: მიკროფონი STM32CubeMx (STM32F407VG): 5 ნაბიჯი

ვიდეო: მიკროფონი STM32CubeMx (STM32F407VG): 5 ნაბიჯი
ვიდეო: რომელი მიკროფონი ვიყიდოთ? - DJI MIC 2024, ნოემბერი
Anonim
მიკროფონი STM32CubeMx (STM32F407VG)
მიკროფონი STM32CubeMx (STM32F407VG)

გამარჯობა! ამ პროექტში ჩვენ შევეცდებით ვიღოთ ხმა მიკროფონის გამოყენებით (გარე არა საბორტო მიკროფონი) და ვითამაშოთ იგი დინამიკის საშუალებით. ეს გაკვეთილი იქნება ძალიან მოკლე, რადგან მე მივცემ პროექტის ნაწილების ახსნას რამდენიმე ვიდეოს მითითებით. მოდით გადავიდეთ პროექტზე:)

ნაბიჯი 1: პროგრამული უზრუნველყოფისა და აპარატურის მოთხოვნები

ტექნიკის მოთხოვნები:

  • STM32F4 აღმოჩენის დაფა (ან ნებისმიერი სხვა STM32F4 დაფა)
  • MAX9814 ელექტრო მიკროფონი გამაძლიერებლით
  • PAM8403 აუდიო გამაძლიერებლის მოდული
  • 4 OHM სპიკერი

პროგრამული უზრუნველყოფის მოთხოვნები:

  • STM32CubeMX
  • კეილი uVision 5

ნაბიჯი 2: პროექტის გეგმის განსაზღვრა

მოდით, ჯერ გავიგოთ რისი გაკეთებაც გვინდა. პირველ რიგში, ჩვენ გვსურს ხმა მივიღოთ ელექტრო მიკროფონიდან. როგორც მოგეხსენებათ, MCU ამუშავებს ყველაფერს ციფრულად. თუმცა, ხმა არის ანალოგური სიგნალი. ასე რომ, ჩვენ უნდა გადავიყვანოთ ის ციფრულ სიგნალად და ამას ვაკეთებთ ADC (ანალოგურ ციფრულ გადამყვანად) და პროცესს ეწოდება შერჩევა. შეგიძლიათ მოიძიოთ მეტი ინფორმაცია. აქ არის ერთი მნიშვნელოვანი წერტილი: იმისათვის, რომ სპიკერიდან ხმა სათანადოდ მიიღოს, შერჩევის სიხშირე უნდა იყოს მინიმუმ ორჯერ უფრო მაღალი ვიდრე აუდიო სიხშირე გამოსასვლელში. ამას ჰქვია ნიკვისტ-შენონის თეორემა.

ციფრულ სიგნალზე გადაყვანის შემდეგ შეგვიძლია მისი დამუშავება ისე, როგორც ჩვენ გვინდა და შემდეგ კვლავ გამოვაღოთ ეს ხმა. ამასთან, სპიკერს სჭირდება ანალოგური სიგნალი. ამრიგად, ჩვენ გვჭირდება ციფრული სიგნალის ანალოგიურ უკან გადაყვანა. ამისათვის ჩვენ გამოვიყენებთ DAC- ს (ციფრულიდან ანალოგურ გადამყვანად). დასასრულს ჩვენ შეგვიძლია გამოვყოთ ეს ხმა:)

ნაბიჯი 3: როგორ დავაყენოთ და განვახორციელოთ ADC და DAC DMA– ით

როგორც ვთქვი, მე ვისწავლე ეს პროცესი ასევე ვიდეოდან. ამ ვიდეოს ბმულს მოგცემ. იყავით მომთმენი და ყურადღებით მოუსმინეთ. ის მშვენივრად ხსნის ყველა პროცესს.

ბმულები: ნაწილი 1 და ნაწილი 2

*შენიშვნა: შეამოწმეთ ეს ხაზი თქვენს კოდში და ჩართეთ DMA უწყვეტი მოთხოვნა:

hadc1. Init. DMAContinuousRequests = ჩართვა;

ნაბიჯი 4: გამომსვლელისკენ

გარეთ სპიკერი
გარეთ სპიკერი

ყველა ნაბიჯის შესრულების შემდეგ, თქვენ უნდა დაუკავშიროთ სპიკერი, როგორც ზემოთ მოცემულ სურათს. ამის შემდეგ, დაუკარით ხმა თქვენს ტელეფონზე და შეამცირეთ ხმა იმ ზღვრამდე, რომლის ძნელად მოსმენა შეგიძლიათ. შემდეგ აიღეთ ტელეფონი მიკროფონთან ახლოს და ხმამაღლა მოისმენთ დინამიკისგან ხმას. ნუ ლაპარაკობ მიკროფონზე, რადგან ძნელი იქნება იმის დადგენა, გამოსულია თუ არა დინამიკიდან:)

ნაბიჯი 5: დასკვნა

ასე რომ, ჩვენ მივაღწიეთ პროექტის დასასრულს. თუ თქვენ გაქვთ რაიმე შეკითხვა ან პრობლემა, გთხოვთ ნუ მოგერიდებათ დასვათ:)

გირჩევთ: