「ゼロからよくわかる!ラズベリーパイで電子工作入門ガイド」で、温湿度が難しかったこと。
Raspberry Pi Zeroを買ったので、
「ゼロからよくわかる!ラズベリーパイで電子工作入門ガイド(初版)」を見ながら、いろいろやってみている最中。
で、温湿度計でデータを取ることをやったが、
すんなりは行かなかったので、やり方をメモしておく。
〇ライブラリが本に載っているのと違う。
DHT11のライブラリをインストールするんのだが、
インストールしてもDHT11.pyがない。
他のファイルはあるがDHT11.pyない。
ネットで調べると、配布元のデータ2020年3月ころに、
アップデートされたらしくDHT11.pyが無くなっている。
〇温湿度センサーDHT11が上手く温湿度を取得しない。
ライブラリの中に有るサンプルを実行すると温度湿度を
取得できるが、本に書いてあるプログラムを入力し実行しても、
「0」としか表示されない。
何故??
と思い、ライブラリが変わったからかと思い、
DHT11.pyをネットから探して来てフォルダに置いても上手くいかず。
で、本も見てみたら、書いてあった。
DHT11の仕様で温度と湿度を取得する場合は、6秒以上空けないと、
正しく取得されないらしい。
恐らく、Raspberry Pi Zeroの貧弱なCPUだと、
いろいろ追いつかないんだろうか。
で、プログラムで正しく取得できない場合は、
もう一度取得するように書いておけばよいと分かった。
そうすると正しく取得する。
ライブラリでもサンプルプログラムをよく見てみると、
whileを使って取得できるまで実行しているようだった。
とりあえずこんな感じ。