なんとなく思いついて、温度センサーを試してみました。
レスキューBに使う、遠くの温度を測るものではなく、普通の温度センサーです。
秋月電子で見つけたのは、ADT7410 というヤツで500円でした。
Arduino とは I2C で接続します。
プログラムは、他のI2C接続のセンサーと同じで、簡単です。
ただ、固定小数点なので、そこだけがちょっと特殊です。
unsigned int ADT7410_read( )
{
unsigned int val;
Wire.requestFrom(ADT7410_I2C_ADDRESS, 2);
val = Wire.read() << 8; // データの読み出し(上位)
val += Wire.read(); // データの読み出し(下位)
val >>= 3; // 13bit化
val = val*10>>4; // 10進数に変換(0.1度単位)
return( val );
}
とりあず、こんなプログラムで実験してみました。
取り出した数値をLCDに表示してみると・・・
「217」と表示されました。
摂氏 21.7 度ということですね。
センサーに息を吹きかけると、数値が大きくなります。
そのままにしておくと、少しづつ下がって、また「217」表示に戻ります。