Nano 33 BLE Senseでマルチセンサ・ペリフェラルを作る (6) マイク MP34DT05
マイクMP34DT05を追加します。MEMSタイプで、出力はPDM(Pulse Density Modulation)です。
●MP34DT05のおもなスペック
- 動作電圧 1.6~3.6V
- 感度 -26dBFS
- S/N比 64dB
- クロック・レート 1.2〜3.25MHz
●ライブラリの導入
ライブラリ管理から検索しても見つかりませんでした。回路図を見ます。
- MIC_PWR GPIO51
- PDMCLK GPIO42
- PDMDIN GPIO7
- LR MIC_PWR
- GND GND
C:\Users\ユーザ名\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.4\variants\ARDUINO_NANO33BLE¥pins_arduino.h
から、Arduinoで指定できるピン番号がわかります。
// PDM Interfaces
// ---------------
#define PIN_PDM_PWR (27)
#define PIN_PDM_CLK (28)
#define PIN_PDM_DIN (29)
●中断
28番がSPIのCLKもしくはI2Sのクロックにつながっていれば、マイクへクロックを配給できるかもしれません。汎用GPIOをON/OFFすると約33kHz程度のクロックしか得られませんでした。
参考 https://learn.adafruit.com/adafruit-pdm-microphone-breakout/wiring-test
AN3998 PDM audio software decoding on STM32 microcontrollers
UM1900 Getting started with the digital MEMS microphone expansion
board based on MP34DT01-M for STM32 Nucleo
(2020/04/29)本マイコン・ボードをインストールしたとき、PDMライブラリとサンプル・スケッチPDMSerialPlotterが入っています。コンパイルしてシリアルプロッタを立ち上げると、正しく動作します。
ソース;C:\Users\ユーザ名\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.4\libraries\PDM\src
実行例です。