สารบัญ:

ไมโครโฟน STM32CubeMx (STM32F407VG): 5 ขั้นตอน
ไมโครโฟน STM32CubeMx (STM32F407VG): 5 ขั้นตอน

วีดีโอ: ไมโครโฟน STM32CubeMx (STM32F407VG): 5 ขั้นตอน

วีดีโอ: ไมโครโฟน STM32CubeMx (STM32F407VG): 5 ขั้นตอน
วีดีโอ: STM32 Microphone Audio Acquisition: Part 6, STM32 - I2S and SPI interfaces for MEMS microphones 2024, กรกฎาคม
Anonim
ไมโครโฟน STM32CubeMx (STM32F407VG)
ไมโครโฟน STM32CubeMx (STM32F407VG)

สวัสดี! ในโครงการนี้ เราจะพยายามรับเสียงโดยใช้ไมโครโฟน (ภายนอกไม่ใช่ไมโครโฟนในตัว) และเล่นผ่านลำโพง บทช่วยสอนนี้จะสั้นมาก เนื่องจากฉันจะให้คำอธิบายเกี่ยวกับส่วนต่างๆ ของโครงการโดยอ้างอิงจากวิดีโอบางรายการ งั้นก็โดดเข้าโครงการกันเลย:)

ขั้นตอนที่ 1: ข้อกำหนดซอฟต์แวร์และฮาร์ดแวร์

ข้อกำหนดด้านฮาร์ดแวร์:

  • บอร์ดค้นพบ STM32F4 (หรือบอร์ด STM32F4 อื่น ๆ)
  • MAX9814 electret ไมโครโฟนพร้อมเครื่องขยายเสียง
  • โมดูลเครื่องขยายเสียง PAM8403
  • ลำโพง 4 OHM

ข้อกำหนดของซอฟต์แวร์:

  • STM32CubeMX
  • Keil uVision5

ขั้นตอนที่ 2: กำหนดแผนโครงการ

มาทำความเข้าใจกันก่อนว่าเราต้องการทำอะไร อันดับแรก เราต้องการรับเสียงจากไมโครโฟนอิเล็กเตรต อย่างที่คุณทราบ MCU ประมวลผลทุกอย่างแบบดิจิทัล อย่างไรก็ตาม เสียงเป็นสัญญาณแอนะล็อก ดังนั้น เราจำเป็นต้องแปลงเป็นสัญญาณดิจิทัล และดำเนินการโดย ADC (ตัวแปลงแอนะล็อกเป็นดิจิทัล) และกระบวนการนี้เรียกว่าการสุ่มตัวอย่าง คุณสามารถค้นหาข้อมูลเพิ่มเติม มีประเด็นสำคัญประการหนึ่งคือ เพื่อให้ได้เสียงจากลำโพงอย่างเหมาะสม ความถี่ในการสุ่มตัวอย่างควรสูงกว่าความถี่เสียงที่เอาต์พุตอย่างน้อยสองเท่า นี่เรียกว่าทฤษฎีบทนีควิส-แชนนอน

หลังจากแปลงเป็นสัญญาณดิจิตอลแล้ว เราก็สามารถประมวลผลได้ตามต้องการแล้วจึงส่งสัญญาณเสียงนั้นออกมาอีกครั้ง อย่างไรก็ตาม ลำโพงต้องการสัญญาณแอนะล็อก ดังนั้น เราต้องแปลงสัญญาณดิจิตอลนี้เป็นแอนะล็อกกลับ เพื่อที่เราจะใช้ DAC (ตัวแปลงดิจิทัลเป็นแอนะล็อก) ในตอนท้ายเราสามารถส่งออกเสียงนั้นได้:)

ขั้นตอนที่ 3: วิธีการตั้งค่าและใช้งาน ADC และ DAC ด้วย DMA

อย่างที่ฉันพูด ฉันได้เรียนรู้กระบวนการนี้จากวิดีโอเช่นกัน ฉันจะให้ลิงค์ไปยังวิดีโอนี้ อดทนและฟังอย่างระมัดระวัง เขาอธิบายกระบวนการทั้งหมดได้อย่างสมบูรณ์แบบ

ลิงค์: Part1 และ Part2

*หมายเหตุ: ตรวจสอบบรรทัดนี้ในรหัสของคุณและเปิดใช้งานคำขอต่อเนื่อง DMA:

hadc1. Init. DMAContinuousRequests = เปิดใช้งาน;

ขั้นตอนที่ 4: ออกไปที่ Speaker

ออกไปที่ Speaker
ออกไปที่ Speaker

หลังจากทำตามขั้นตอนทั้งหมดแล้ว คุณต้องเชื่อมต่อลำโพงตามภาพด้านบน หลังจากนั้น ให้เล่นเสียงบนโทรศัพท์และลดเสียงลงจนถึงระดับที่คุณแทบไม่ได้ยิน จากนั้นนำโทรศัพท์ไปใกล้ไมโครโฟนแล้วคุณจะได้ยินเสียงจากลำโพงดัง อย่าพูดกับไมโครโฟนเพราะจะจับยากว่ามีเอาต์พุตจากลำโพงหรือไม่:)

ขั้นตอนที่ 5: บทสรุป

เรามาถึงจุดสิ้นสุดของโครงการแล้ว หากคุณมีคำถามหรือปัญหาใด ๆ โปรดอย่าลังเลที่จะถาม:)

แนะนำ: