概要
前回 Arduino で温度センサを使ってみたので、ESP-WROOM-02 でも使ってみました
環境
- Arduino IDE 1.6.9
- ESP-WROOM-02 開発ボード
- 温度センサ MCP9700-E/TO
- 0.1μF セラミックコンデンサ
配線
Arduino 時と違うのはセンサの値を読み取るときに 1/3 に分圧している点です
WROOM の TOUT ピンは 1.1v 以下にする必要があるのはいつものことです
あとはコンデンサを使ったり 5v, GND に接続するのは Arduino の時と同じです
スケッチ
TOUT から読み取ったアナログ値から温度を求めるスケッチは以下の通りです
#include <ESP8266WiFi.h>
extern "C" {
#include "user_interface.h"
}
int getToutValue(){
int res = system_adc_read();
return res;
}
void setup() {
Serial.begin(115200);
}
void loop() {
int reading = getToutValue();
// Analog -> mV
float voltage = ((long)reading * 3000) / 1024;
Serial.print(voltage);
Serial.print(" mV, ");
// mV -> 摂氏
float tempC = (voltage - 500) / 10;
Serial.print(tempC);
Serial.println(" degress C, ");
delay(1000);
}
ESP-WROOM-02 でアナログ値を読み込むために system_adc_read
を使っています
内部の基準電圧は 3000 にします
( 3300 や 5000 だと値がおかしくなりました )
動作確認
スケッチを書き込んでシリアルモニタを起動してください
Arduino で温度センサを使った時と同じ環境で試したところ値がほぼ同じ値になったので問題なく取得できていると判断しました
最後に
ESP-WROOM-02 で温度センサを使ってみました
実は過去に超音波センサを使った際に温度センサも一緒に使っていたのですが、そのときは超音波センサを使うのがメインだったので温度センサの値は細かくチェックしていませんでした
とりあえず ESP-WROOM-02 でも温度センサは問題なく動作しました
0 件のコメント:
コメントを投稿