日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Adafruit PDM Microphone Breakout:電子工程師的新寵

chencui ? 2026-05-11 12:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Adafruit PDM Microphone Breakout:電子工程師的新寵

在電子設計領域,一款優(yōu)秀的麥克風對于音頻相關項目至關重要。今天,我們要介紹的是 Adafruit PDM Microphone Breakout,這是一款獨特的麥克風,為電子工程師帶來了新的選擇。

文件下載:3492.pdf

一、概述

PDM(脈沖密度調制)MEMS 麥克風是一種相對較新的麥克風類型,它不同于常見的模擬或 I2S 麥克風。在眾多產(chǎn)品中,PDM 麥克風被廣泛使用,但在創(chuàng)客項目中卻較少見到。Adafruit 推出這款 PDM Microphone Breakout,旨在讓更多人能體驗到它的優(yōu)勢。

特點

  1. 無模擬輸出:與許多駐極體麥克風組件不同,這款傳感器不提供“模擬”輸出,這對于沒有模擬輸入的芯片來說是一個很好的選擇。
  2. 數(shù)字接口簡單:其數(shù)字接口采用脈沖密度調制輸出,既不是 PWM 也不是 I2S。不過,使用時需要確保芯片具有 PDM 接口,現(xiàn)在大多數(shù) 32 位處理器都具備這一特性。
  3. 類似 1 - 比特 PWM:PDM 有點像 1 - 比特 PWM,需要以 1 MHz - 3 MHz 的時鐘速率對麥克風進行時鐘控制,在數(shù)據(jù)線上會輸出與時鐘同步的方波。數(shù)據(jù)線輸出 0 或 1 的邏輯值,方波的密度經(jīng)過平均后可得到模擬值。

管理方式

管理這些麥克風有幾種方式:

  1. 硬件外設和庫支持:芯片自帶硬件外設和庫,能高速管理數(shù)據(jù)、收集樣本、應用濾波器并給出模擬值,這是最理想的情況。
  2. 硬件外設但需自行處理:芯片有硬件外設提供值,但需要自己進行抽取/濾波操作。例如在 ATSAMD21 芯片組上就有相關示例代碼。
  3. 無硬件外設但自行實現(xiàn):芯片沒有硬件外設,但可以通過自己的方法使其工作,如 ATtiny85 的示例。
  4. 手動生成時鐘并添加濾波:手動生成高速時鐘,然后在數(shù)據(jù)線上添加模擬濾波器,讀取模擬值,這是一種可行但稍顯“hack”的方法。

產(chǎn)品版本

每個 PDM 麥克風訂單都包含一個完全組裝和測試好的麥克風。有兩種版本可供選擇:

  1. 帶引腳版本:帶有一個小引腳,可用于面包板兼容性。
  2. 帶 JST SH 連接器版本:配備 4 - JST SH 連接器,通過 3V、GND、DAT、CLK 連接,可使用 JST - SH 電纜實現(xiàn)靈活的麥克風布置。板上的焊接跳線可將麥克風從左聲道切換到右聲道。

二、引腳說明

這款麥克風的引腳非常簡單:

  1. 3V電源輸入引腳,直接為芯片供電。如果有安靜的電源引腳,建議使用。芯片支持 1.8 - 3.3V,但未在 1.8V 下進行測試。
  2. GND:電源和數(shù)據(jù)的接地參考。
  3. SEL:左右聲道選擇。該引腳為高電平時,輸出在 CLK 的下降沿被視為“右”聲道;為低電平時,輸出在上升沿,即“左”聲道。
  4. CLK:PDM 時鐘輸入,需要 1 - 3 MHz 的方波。
  5. DAT:PDM 數(shù)據(jù)輸出。

三、Arduino 接線與測試

目前,僅針對 SAMD21 芯片組提供了使用 I2S 外設的示例代碼。不過,使用 SAMD21 時,引腳選擇有限,且數(shù)字濾波必須在軟件中完成。實際上,對于 SAMD21 來說,模擬麥克風可能會更省心。

可用的 I2S 引腳

對于 Feather M0 / Metro M0 / Arduino Zero 系列,可用的 I2S 引腳如下:

  • 時鐘引腳:PA10(D1 或 TX)、PB11(SCK)、PA20(D6)
  • 數(shù)據(jù)引腳:PA07(D9)、PA08(D4)、PA19(D12)

安裝庫

需要從 github 下載最新版本的 ZeroPDM 庫并進行常規(guī)安裝。有兩個示例可供選擇,一個使用 DMA 功能獲取數(shù)據(jù),這種方式需要更多的設置,并且需要 ZeroDMA 庫;建議從基本示例開始,它會將音頻數(shù)據(jù)回顯到 A0(模擬輸出),可以連接耳機或示波器到 A0 來聽取或查看音頻。在上傳代碼之前,要確保修改實例化器以匹配引腳。

四、CircuitPython 使用

使用 CircuitPython 可以很方便地使用 Adafruit PDM 麥克風擴展板,借助內(nèi)置的 audiobusio 模塊和 PDMIn 類,可以通過 PDM 記錄來自麥克風的輸入音頻信號。

接線

以 Feather M4 Express 為例,不同版本的接線方式如下:

  • 引腳版本:Mic 3V 連接到 Feather 3V,Mic GND 連接到 Feather Gnd,Mic CLK 連接到 Feather TX,Mic DAT 連接到 Feather D12。
  • JST 版本:Mic 3V(紅色線)連接到 Feather 3V,Mic GND(黑色線)連接到 Feather Gnd,Mic DAT(藍色線)連接到 Feather D12,Mic CLK(黃色線)連接到 Feather TX。

如果使用 Circuit Playground Express,它內(nèi)置了 PDM 麥克風,有專門的指南頁面介紹如何使用。

代碼示例

將以下代碼保存為 code.py 到微控制器板上:

import time
import array
import math
import board
import audiobusio

# Remove DC bias before computing RMS.
def mean(values):
    return sum(values) / len(values)

def normalized_rms(values):
    minbuf = int(mean(values))
    samples_sum = sum(
        float(sample - minbuf) * (sample - minbuf)
        for sample in values
    )
    return math.sqrt(samples_sum / len(values))

# Main program
mic = audiobusio.PDMIn(board.TX, board.D12, sample_rate=16000, bit_depth=16)
samples = array.array('H', [0] * 160)

while True:
    mic.record(samples, len(samples))
    magnitude = normalized_rms(samples)
    print((magnitude,))
    time.sleep(0.1)

代碼中首先導入所需的庫,然后定義了兩個輔助函數(shù),用于計算平均值和歸一化的 RMS 平均值。接著設置麥克風對象和樣本變量,開始采集聲音樣本,計算樣本的平均值(即幅度),并將其打印到串行控制臺。需要注意的是,Mu 繪圖儀需要元組值進行打印,所以打印時要使用正確的格式。

查找有效引腳組合

如果想知道哪些引腳組合支持 PDMIn,可以將以下代碼保存為 code.py 到板上,連接到串行控制臺查看:

import board
import audiobusio
from microcontroller import Pin

def is_hardware_PDM(clock, data):
    try:
        p = audiobusio.PDMIn(clock, data)
        p.deinit()
        return True
    except ValueError:
        return False
    except RuntimeError:
        return True

def get_unique_pins():
    exclude = ['NEOPIXEL', 'APA102_MOSI', 'APA102_SCK']
    pins = [pin for pin in [getattr(board, p) for p in dir(board) if p not in exclude] if isinstance(pin, Pin)]
    unique = []
    for p in pins:
        if p not in unique:
            unique.append(p)
    return unique

for clock_pin in get_unique_pins():
    for data_pin in get_unique_pins():
        if clock_pin is data_pin:
            continue
        if is_hardware_PDM(clock_pin, data_pin):
            print("Clock pin:", clock_pin, "t Data pin:", data_pin)

五、下載資源

可以下載以下文件:

  1. MP34DT01 - M 數(shù)據(jù)表
  2. GitHub 上的 Fritzing 文件
  3. GitHub 上的 3D 模型

Adafruit PDM Microphone Breakout 為電子工程師提供了一個新的音頻解決方案。你在使用這款麥克風時遇到過什么問題嗎?或者你有什么獨特的應用案例,歡迎在評論區(qū)分享。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電子設計
    +關注

    關注

    42

    文章

    3050

    瀏覽量

    49943
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Adafruit TPL5110 Power Timer Breakout:低功耗電子設計的利器

    Adafruit TPL5110 Power Timer Breakout:低功耗電子設計的利器 在電子設計領域,低功耗設計一直是一個重要的課題。尤其是當我們的項目需要依靠電池或太陽能
    的頭像 發(fā)表于 05-11 11:40 ?206次閱讀

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模塊

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模塊 在電子設計領域,GPS模塊是實現(xiàn)
    的頭像 發(fā)表于 05-11 10:50 ?193次閱讀

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 電子工程師的實用之選

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 電子工程師的實用之選 在電子
    的頭像 發(fā)表于 05-11 10:15 ?252次閱讀

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而強大的音頻利器

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而強大的音頻利器 在電子設計領域,音頻采集是一個常見且重要的應用場景。今天要
    的頭像 發(fā)表于 05-11 09:40 ?287次閱讀

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器 在物聯(lián)網(wǎng)應用日益廣泛的今天,集成多種功能的設備變得越來越重要。Adafruit FONA
    的頭像 發(fā)表于 05-11 09:20 ?305次閱讀

    Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南

    Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南 在電子工程領域,電機驅動是一個常見且重要的應用場景。今天
    的頭像 發(fā)表于 05-11 09:20 ?296次閱讀

    探索Adafruit FT232H Breakout:多功能串口協(xié)議擴展板的使用指南

    探索Adafruit FT232H Breakout:多功能串口協(xié)議擴展板的使用指南 在電子設計領域,我們常常希望計算機能夠直接與各種設備和傳感器進行通信,而Adafruit FT23
    的頭像 發(fā)表于 05-11 09:10 ?291次閱讀

    Adafruit AGC Electret Microphone Amplifier - MAX9814 評測與使用指南

    Adafruit AGC Electret Microphone Amplifier - MAX9814 評測與使用指南 一、概述 在音頻領域,自動增益控制(AGC)是極為重要的特性,它能顯著提升
    的頭像 發(fā)表于 05-10 16:15 ?644次閱讀

    深入解析DLC0430BCP10RF - 2:電子工程師新寵

    深入解析DLC0430BCP10RF - 2:電子工程師新寵電子設計領域,一款優(yōu)秀的產(chǎn)品往往能為工程師的設計工作帶來極大的便利和創(chuàng)新的
    的頭像 發(fā)表于 05-09 11:50 ?221次閱讀

    電子工程師的雙標瞬間 #電子 #電子愛好者 #電子工程師 #揚興科技 #雙標

    電子工程師
    揚興科技
    發(fā)布于 :2026年03月02日 18:04:13

    做了電子工程師之后,最好拍的視頻出現(xiàn)了#硬件設計 #電子DIY #電子工程師

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年06月24日 17:45:57
    海门市| 清水河县| 江北区| 兴国县| 若尔盖县| 左权县| 清新县| 吴桥县| 兴山县| 班玛县| 且末县| 六枝特区| 安顺市| 荔波县| 乐安县| 大连市| 宜丰县| 合水县| 松潘县| 科尔| 三都| 延安市| 邯郸市| 泰来县| 铜川市| 铁岭市| 上杭县| 常宁市| 安泽县| 民勤县| 衡南县| 西安市| 闽清县| 碌曲县| 聂拉木县| 常宁市| 曲麻莱县| 渑池县| 娄底市| 贡山| 祁连县|