ESP-WROOM-02 と MCP3204 を使って、A/D 変換を行う
ESP-WROOM-02 にもアナログ入力端子 TOUT が備えられているものの、入力できる電圧の範囲が 0 ~ 1 [V] と特殊な感じであることと、1ch しかないことから、別のアナログコンバータを接続してみました。
今回使用したのは、職場の引き出しの中に眠っていた MCP3204 というものです。12bit の分解能で 4ch の A/D 変換が行えます。
接続図
ESP-WROOM-02 との接続は下図の通りです。ESP-WROOM-02 のデータシートに書かれている標準的な SPI の割り当て(IO14 : HSPI_CLK、IO12 : HSPI_MISO、IO13 : HSPI_MOSI、IO15 : HSPICS)を使用しています。注意しなければならないのは、IO15 をプルダウンしておくことのようです。 ※わたし自身は、これまでに作っていた書込み基板が既に IO15 をプルダウンする仕様になっていたため、すんなりと動作しました。
A/D 変換の動作確認のためだけに、回路を設計してエッチングする気になれなかったので、今回は珍しくブレットボードで配線してみました。回路図では 1ch だけになってみますが、2枚目の写真のようにアナログジョイスティックも接続して、多チャンネルの変換も実際に行ってみました。
プログラム
いくつかのページとデータシートを参考にして、以下のようにプログラムを作成しました。データシートの図6-1(FIGURE 6-1)のように SPI_MODE_0 (MODE 0,0)で動作させています。
目的が A/D 変換なだけに、4ch 分のアナログ入力をデジタル化して、表示しているだけのプログラムです。(^-^; 実行すると、写真のように 4ch 分の A/D 変換が行えました。これで、使用用途が広がるな。