OSOYOO(オソヨー) Raspberry Pi 学ぶ電子工作キット 初心者演習用パーツセット」には、温度センサーと湿度センサーが一体となった「DHT11」が含まれている。


これは、『カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる』で推奨されている温度センサーとは異なっているため、本の中で紹介されているプログラムでは、センサーの取得した値を読み取ることができない。


LCD同様、インターネット上で動作させるためのプログラムを探し、HDT11が使えるようになった。

スポンサーリンク

DHT11

「DHT」(digital temperature and humidity sensor)は温度センサーと湿度センサーが一体となったものだが、性能はいまいちのようだ(参考:温湿度センサDHT11をRaspberry Piに繋いでシリアル入力を学ぶ)。


なお、激安温湿度センサDHT11を使ってみたのページによれば、5V以外ではまともに動かない(精度が低い)とのこと。


(おもて面)



(うら面)



なお、『カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる』の推奨センサーとは異なり、DHT11はI2C接続ではない

DHT11の値を読み取るためのプログラム

osoyooの解説ページにある「dht11.py」と「temperature.py」の一部を利用することで、「DHT11」で取得した値を読み取ることができるようになる。

サンプルプログラム

「DHT11」で取得した値をLCDに表示させるプログラムである「temperature.py」から、「DHT11」の値を取得するのに必要な部分だけを抜き出すと次のようになる。

このプログラムのコードを一部書き換えて、「DHT11」で取得した値をコンソールに表示させるようにする。

これで、「DHT11」で取得した値をコンソールに表示させることができるようになった。

「日時」と「温・湿度」を表示させるプログラムと配線

その後、上記で紹介されているプログラムに少し手を加えて、LCDに「日時」と「温・湿度」を3秒ずつ交互に表示できるようにした(要「dht11.py」)。


(動作の様子)

配線

※ラズベリーパイへの入力が5Vになっているので自己責任で


「日時」と「温・湿度」を表示させるプログラム


スポンサーリンク

まとめ

  • DHT11の値を読み取るプログラムを探した
  • PythonのプログラムによりDHT11の値を読み取れるようになった
  • 「日時」と「温度・湿度」を交互にLCDに表示させるようにした