Arduino資料一覧

温度センサー(LM61BIZ)の値を読み取る

2016/12/24更新

対応バージョン: Arduino IDE 1.8.0

Arduinoで温度センサー(LM61BIZ)の値を読み取る。

Arduino IDEを動かす母艦はUbuntu 16.04とする。

結線

センサーのピンは3つで刻印面に向かって左から+Vs(電源電圧)、Vout(出力電圧)、GND(グラウンド)。これをArduinoの5V、A0、GNDにそれぞれ接続する。

ソース

Vout(出力電圧)は0℃の時600mVで1℃あたり10mV変化するので例えば20℃の室温の場合、Voutは以下の値になる。

Vout = 600(mV) + (10(mV/℃) * 20(℃)) = 800(mV)

温度を求めるにはセンサーから取得した値、出力電圧、温度それぞれ取り得る値を相互変換すればよい。

具体的にはまずセンサー値(0〜1023)を電圧(0〜5000)に変換し、次にこのセンサーの計測範囲の電圧(300〜1600)を温度(-30〜100)に変換する。

センサー値を電圧に変換
map(センサー値, 0, 1023, 0, 5000)
電圧を温度に変換
map(電圧, 300, 1600, -30, 100)

上記をコードにすると以下のようになるのでArduino IDEでコンパイルしてArduinoに書き込む。

void setup() {
  Serial.begin(9600);
}

void loop() {
  int val = analogRead(A0);
  float volt = map(val, 0, 1023, 0, 5000);
  float temp = map(volt, 300, 1600, -30, 100);
  Serial.println("val = " + String(val) + ", volt = " + String(volt) + ", temp = " + String(temp));
  delay(1000);
}

Arduino IDEのシリアルモニターには1秒おきに以下のような内容が出力される。

このセンサーに指を触れると体温でセンサーが温まって温度が上昇する。

関連資料・記事

参考サイト