RaspberryとDS18B20で温度測定

RaspberryPi2にDS18B20をつなげて温度測定できる状態まで作ってみました。

IMG_0518

①DS18B20をつなぐ
防水加工のDS18B20は3色のケーブルがあります。
赤:VDD(pin#1)
黄:DQ GPIO4(pin#7)
黒:GND (pin#6)
ひとまずブレッドボードにつなぎます。

②プルアップ抵抗をつなぐ
赤と黄には、raspberry本体のケーブルとの間にプルアップ抵抗を差し込みます。
抵抗値は仕様では2.2kΩらしいのですが、手元になかったので10kΩをつなぎました。
(結論から言えば、10kΩでも動きましたが、本来は仕様通りの抵抗をつなぐべきです。)

③raspberryからブレッドボードにケーブルをつなぐ。
上記①に対応したピンでケーブルをつなぎます。

ひとまず配線作業はこれで終わりですが、DS18B20は1-Wireデバイスのため
raspberryにて1-wireを認識するようにしなければなりません。

④/boot/config.txtに以下を追加
dtoverlay=w1-gpio-pullup,gpiopin=4

⑤/etc/modulesに以下を追加
w1-gpio
w1-therm

⑥raspberryの再起動

これでDS18B20で計測した温度が見えるようになります。
具体的には以下。

⑦/sys/bus/w1/devices/28-xxxxxxxxxxx/w1_slave
このファイルにDS18B20センサー出力がリアルタイムに反映されます。
イメージ
60 01 4b 46 7f ff 10 10 b5 : crc=b5 YES
60 01 4b 46 7f ff 10 10 b5 t=22000

「t=22000」が計測値です。1000で割った数値が摂氏温度になるようです。

w1_slaveは普通のファイルとして扱えるので、
適宜文字操作スクリプトを組んで、cronなどで仕込めば常時監視できそうです。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です