Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

ESP8266モジュール(ESP-WROOM-02)を試す その42 - AD変換の値をThingSpeakへ送ってみた。 -

2C-ESP8266__SDK__Programming Guide__EN_v1.5 によれば、AD変換は uint16 system_adc_read(void) を呼べばいい。
このあたりのAPIの呼び方の話はすでに「ESP8266モジュール(ESP-WROOM-02)を試す その13 Deep-Sleep」に書いてある。
戻り値は、0~1Vを1024段階であらわした値のようだ。
2C-ESP8266__SDK__Programming Guide__EN_v1.5 の該当箇所の記述がよくわからない。

電源にニッケル水素電池を直列に3本つなぎ、半固定抵抗で分圧して1Vにしたものを測定してThingSpeakへ送ってみた。
グラフにしてみるとこんな感じだ。
esp8266_adc_thingspeak_01
設定がいけないのかそういう仕様なのか知らないが、データが100個しか取って来れないので上のようになったが、実際は下のようになっている。
esp8266_adc_thingspeak_02
これはAPPsのMATLAB Visualizationsで書かせたもの。
当然、ESP8266は電池を使い切って電圧が下がったところで動作を停止した。
計測の初めの頃に大きな測定値の乱れがあるが、原因は良く分からない。
ESP8266関連記事一覧へ

追記(2017/12/03)
ESP8266自身の電源の電圧を測るには別の方法がある。
ADC_MODE(ADC_VCC);
をvoid setup(){}の上あたりに書いておけば、
ESP.getVcc();
がint型の値として電源電圧を返す。

このエントリーをはてなブックマークに追加

Posted under: ESP8266


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.