「ゼロからよくわかる!ラズベリーパイで電子工作入門ガイド」で、温湿度が難しかったこと。

「ゼロからよくわかる!ラズベリーパイで電子工作入門ガイド」で、温湿度が難しかったこと。

 

Raspberry Pi Zeroを買ったので、

「ゼロからよくわかる!ラズベリーパイで電子工作入門ガイド(初版)」を見ながら、いろいろやってみている最中。

で、温湿度計でデータを取ることをやったが、

すんなりは行かなかったので、やり方をメモしておく。

 

〇ライブラリが本に載っているのと違う。

DHT11のライブラリをインストールするんのだが、

インストールしてもDHT11.pyがない。

他のファイルはあるがDHT11.pyない。

ネットで調べると、配布元のデータ2020年3月ころに、

アップデートされたらしくDHT11.pyが無くなっている。

 

〇温湿度センサーDHT11が上手く温湿度を取得しない。

ライブラリの中に有るサンプルを実行すると温度湿度を

取得できるが、本に書いてあるプログラムを入力し実行しても、

「0」としか表示されない。

何故??

と思い、ライブラリが変わったからかと思い、

DHT11.pyをネットから探して来てフォルダに置いても上手くいかず。

 

で、本も見てみたら、書いてあった。

DHT11の仕様で温度と湿度を取得する場合は、6秒以上空けないと、

正しく取得されないらしい。

恐らく、Raspberry Pi Zeroの貧弱なCPUだと、

いろいろ追いつかないんだろうか。

で、プログラムで正しく取得できない場合は、

もう一度取得するように書いておけばよいと分かった。

そうすると正しく取得する。

ライブラリでもサンプルプログラムをよく見てみると、

whileを使って取得できるまで実行しているようだった。

 

とりあえずこんな感じ。