ともかつの日記

仕事や日常で扱った PIC などのマイコンや Raspberry Pi、パソコンについて書き残していきます。

ESP-WROOM-02 と MCP3204 を使って、A/D 変換を行う

ESP-WROOM-02 にもアナログ入力端子 TOUT が備えられているものの、入力できる電圧の範囲が 0 ~ 1 [V] と特殊な感じであることと、1ch しかないことから、別のアナログコンバータを接続してみました。

f:id:VEJ00675:20180117074841j:plain 

今回使用したのは、職場の引き出しの中に眠っていた MCP3204 というものです。12bit の分解能で 4ch の A/D 変換が行えます。

akizukidenshi.com

接続図

ESP-WROOM-02 との接続は下図の通りです。ESP-WROOM-02 のデータシートに書かれている標準的な SPI の割り当て(IO14 : HSPI_CLK、IO12 : HSPI_MISO、IO13 : HSPI_MOSI、IO15 : HSPICS)を使用しています。注意しなければならないのは、IO15 をプルダウンしておくことのようです。 ※わたし自身は、これまでに作っていた書込み基板が既に IO15 をプルダウンする仕様になっていたため、すんなりと動作しました。

f:id:VEJ00675:20180117082730j:plain f:id:VEJ00675:20180117082711j:plain

A/D 変換の動作確認のためだけに、回路を設計してエッチングする気になれなかったので、今回は珍しくブレットボードで配線してみました。回路図では 1ch だけになってみますが、2枚目の写真のようにアナログジョイスティックも接続して、多チャンネルの変換も実際に行ってみました。

プログラム

いくつかのページとデータシートを参考にして、以下のようにプログラムを作成しました。データシートの図6-1(FIGURE 6-1)のように SPI_MODE_0 (MODE 0,0)で動作させています。

目的が A/D 変換なだけに、4ch 分のアナログ入力をデジタル化して、表示しているだけのプログラムです。(^-^; 実行すると、写真のように 4ch 分の A/D 変換が行えました。これで、使用用途が広がるな。

f:id:VEJ00675:20180117082716j:plain