こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
ESP32開発ボードで、アナログ温度センサーLM61BIZを使う方法です。
以前、Raspberry Pi zeroでADコンバータと組み合わせて使いましたが、
ESP32ではADコンバータが2つ内蔵されているのでそのまま接続すればOKです。
アナログ温度センサーLM61BIZとADコンバータMCP3002で、温度を測定する - Opensourcetechブログ
接続
以下のようにつなぎます。 ※左がLM61BIZ、右がESP32
+Vs - 3.3V
Vout - 25pin
GND - GND
※光センサーも同居してますが、気にしないでください。
Arduino IDEでのコード記述
以下の本を真似て、実施しました。
#define LM61BIZ 25 //①温度センサーで使うピンの定義
void setup() { //②一度のみ実行される処理
Serial.begin(115200);
while (!Serial);
pinMode(LM61BIZ, INPUT);
}
void loop() { //③繰り返し実施される処理
int e = analogRead(LM61BIZ);
float Vout = e / 4095.0 * 3.3 + 0.1132;
float temp = (Vout - 0.6) / 0.01;
Serial.print("Temp: ");
Serial.println(temp);
delay(1000);
}
①では、シリアルのボーレート指定や25ピンを入力モードにしています。
②では、LM61BIZ(25ピン)からアナログ信号を読み取り、温度に数値変換やESP32のADコンバータの補正値(0.1132V)を足したり、LM61BIZのオフセット(0.6V)を考慮などしています。あとは、シリアルモニタへの出力です。
上記では25ピンを使用してますが、
ADC1では32/33/34/35/36/39、ADC2では2/4/12/13/14/15/25/26/27が使用できます。
あとは、上記コードをESP32に書き込めば、シリアルモニタで温度観測可能になります。