見出し画像

ギターのピックアップをESP32に接続してみる実験

前回、ギターのピックアップの電圧が確認できたので、それをESP32のアナログ入力に取り込んでみることにした。

本当は勉強してから試した方がよいと思うが、机上での勉強を捗らせるために(これ何のために学ぶの?ってなるのを避けるため)、かなり背伸びして、とりあえず動作確認できないか試してみた。

要件

  • とりあえず、ESP32でギターの弦を弾いたことを判定できればいい

    • トランジスタを用いて電圧を調整して、ESP32で扱えるようにする

  • ESP32を壊さない範囲で試す

    • 交流(負の値)に注意

    • 電圧、電流の上限に注意

    • 最悪、トランジスタが壊れるのは許容する(が事故はNG)

  • とりあえず動作確認できればいい

    • 1分、動けばいい

    • 音の品質とか、効率、増幅率(利得)とかはとりあえず無視

    • 動くところが、とりあえず見たい!

結果

ESP32のアナログ入力の値が変化するこを確認できた!(っぽい)

値の分析

  • 弦を弾いてないとき

    • オシロの値:1.45V程度、ESP32の値:1780U程度

    • (ESPのADCで取得した値の単位をUnitとし、Uと表す)

  • 弦を弾いているとき

    • オシロの最大:1.77V、オシロの最小:1.10V

    • ESP32の最小:1600U、ESP32の最大:2113U

  • オシロの値の範囲が0.6V程度、ESPの値の範囲が500U程度の範囲なので、おおよそは合致しそう

    • ESP32の実装で0.1秒毎に値を取得しているので、うまくピーク時の値を捉えていない可能性がある

今後

  • 場当たり的に「抵抗」や「キャパシタ」や「弦を弾く強さ」を変えてしまって、整理できていない

  • 動作確認して、イメージしやすくなったので、机上での勉強に戻って、接続図、回路図とかをまとめなおして記事にする

  • 欲を言うと「ジェネレーター付きで」、「2ch入力以上の」、「値を電子データ化できる」オシロスコープがほしいところだが、なんとか頑張る

その他

単純に、0V~3.3Vが、0~4096Unitで取れるわけではなさそうなので、以下の資料などを読む必要もありそう

At 11 dB attenuation the maximum voltage is limited by VDD_A, not the full scale voltage.
11 dB attenuation (ADC_ATTEN_DB_11) between 150 to 2450 mV

https://docs.espressif.com/projects/esp-idf/en/v4.1.1/api-reference/peripherals/adc.html



いいなと思ったら応援しよう!