以前のArduino IDEのマイク入力グラフ表示のESP32版。
ESP32とArduinoのアナログ入力の違いで注意するポイント。
- ADC対応のGPIOピンを使う
- 読み取り値は0~4095の範囲(Arduinoは0~1023)
- 読み取り電圧は0~3.3Vの範囲(Arduinoは0~5V)
ただし、上記はデフォルトで設定により読み取り範囲や解像度を変更出来る。また、3.2Vあたりから4095の値を返す様だ(参考:ESP32 ADC)
読み取り電圧が3.3Vまでなので、マイクの電源は3.3Vを使用する。下記配線例。ESP32はバリエーションが多く、ピン配置が異なる物が多いので下記ピン配置とは限らないので注意。
簡単なスケッチ。
void setup() {
Serial.begin(9600);
}
void loop() {
int micin;
micin = analogRead(32);
Serial.println(micin);
delay(1);
}
MAX4466は入力が無い時VCCの半分の電圧を出力する。実際にESP32に接続してシリアルプロッタを見た所、静音時1800前後になっていた。