Arduino Uno R3とLM35DZで温度を計る方法

やりたいこと

Arduino Uno R3と LM35DZ (温度センサー)を使ってシリアルモニタに室温を表示したい。

使うもの

  • Arduino Uno R3(ここで実際に使用しているのはArduino Uno互換の DFRduino UNO R3)
  • LM35DZ
  • ジャンパワイヤ3本
  • ブレッドボード

配線

LM35DZからの信号はA0のアナログピンで受け取る。

LM35DZ Temprature Sensor(Firitzing)

LM35DZ Temprature Sensor(Firitzing)

LM35DZ Temprature Sensor

LM35DZ Temprature Sensor

ソースコード

温度の求め方

Voutから出力される電圧(V)を温度(℃)に換算する。

Arduinoのアナログ入力は、0から1023までの1024段階(10ビット)の信号を受け取ることができる。
この信号の強さ(信号強度)をソースコードの(1)の部分で(A0のアナログ入力として)取得する。
「5V / 1024段階」を信号強度1単位として、信号強度から電圧を求める。(ソースコードの(2)の部分)
LM35DZは温度1℃の変化を10.0mVとしてVoutから出すようになっている。(LM35DZのデータシートを参照)
ので、「10(mV) : 1(℃) = inputVoltage(V) : temperature(℃)」の比から「temperature(℃)」を求める。
1(℃) * inputVoltage(V) = 10(mV) * temperature(℃)
 ↓ 展開して
temperature(℃) = (1(℃) * inputVoltage(V)) / 10(mV)
 ↓ 10mV を V 単位に変換して
temperature(℃) = (1(℃) * inputVoltage(V)) / (10(mV) / 1000(mV))
これがソースコード(3)の式になる。

結果

LM35DZ Temprature Sensor(SerialMonitor)

LM35DZ Temprature Sensor(SerialMonitor)