Raspberry Pi Zero WHで温度センサーの値を取得してみます。以前に電子工作で使えるパーツがセットになったキットがありまして、それで簡単に実現可能です。今回は一応、ブレッドボードを使用していますが、直にGPIOへ繋げてもOKです。
注意 こういった電子工作は苦手です。特にブレッドボードがよく分からない・・・。抵抗はなんとなく・・・、配線はあやふやです。
間違いはきっとあると思いますので、信じないでくださいw
使用したキット
私が購入した電子パーツのキットではなくてもおよそ同じような中身です。

この中にあるブレッドボード、「温度・湿度センサー(DHT11)」、抵抗、ジャンパワイヤーを使います。
この商品だけでなく、いくつか同じようなセット品が3000円以下で手に入ります。どれでも構いません。

3本接続できるピンが付いています。その根元にVCC(電源)、DAT(データ通信)、GND(アース)と記載があるようにそれぞれをブレッドボードを介してRaspberry Pi Zero WHのGPIOへ繋いでいきます。
追記 写真のDHT11は抵抗を配置しなくても恐らくOKだそうです。(黒のチップに載っている場合)>フォロワーさん、サンキュ。
青い部分だけの物は4本ピンが出ていて、それは4.7Ωの抵抗が必要と記載がありました。
配線
配線の前にraspi-configコマンドにて1-Wireというインターフェイスを利用できるように有効にしておいてください。

配線図はfritzingというアプリケーションを使いました。簡単に配線図が描けますね。
丁度良いジャンパワイヤーは無かったので、実際は長い配線になってしまいました。
また、抵抗は4.7Ωが必要らしいのですが、これも丁度良いのが無くて、10Ωで賄いました。数値の取得時間や値が微妙に異なるかも知れません。

GPIOピンのレイアウトはこちらで確認できます。

Pythonプログラム
プログラムはgithubに「Pure Python library for reading DHT11 sensor on Raspberry Pi」がありますので、それをクローンコピーします。
https://github.com/szazo/DHT11_Python
gitを入れる
sudo apt-get install git
クローンコピーします。(ダウンロード)
git clone https://github.com/szazo/DHT11_Python.git
フォルダの中にサンプルプログラムがあります。
cd DHT11_Python/
- dht11_example.py
- dht11.py
- init.py
- LICENSE.md
- README.md
何も修正しなくてもdht11_example.pyで動きました。その代わり、サンプルプログラムではBCM 14にデータ通信、今回は黄色の配線を繋げる必要があります。
# read data using pin 14 instance = dht11.DHT11(pin=14)
これを配線後に実行します。
python dht11_example.py

結果は以下のように表示されればOKです。
Last valid input: 2019-07-24 02:54:27.198653 Temperature: 27.0 C Humidity: 50.0 %
放っておけば何度も表示されますから、Ctrl + Cで中断させます。
これで一応は値が取得できました。
最後に
これを基本にしてPythonプログラムを書き換えて利用したいと思います。
ある一定間隔で取得しておいて、ある温度以上になった場合に知らせる。例えばTwitterで呟く、LEDを光らせる。そういう条件判断させながら値を取得し続けるように変えていきます。
Tweetさせる
https://raspida.com/rpi-tweet-pip
今回は簡単に時間も掛からずにテストできました。
部品単位で購入出来ればDHT11は安価です。仮に今回のようなキットでも基本はだいたい揃っていますのでオススメです。(どれもチープではありますが・・・。)
Lチカ同様に簡単な配線でした。
温度だけならGPIOピンと直接DHT11を繋いでもOKです。ブレッドボードを介せば他のセンサーも増設できます。
どうしてもブレッドボード含め電子工作は全く理解が進みません・・・。慣れていくことで実現させていきたいと思います。
電子工作で使う部品は他の商品でも大概は同じような構成です。田舎にいる場合は部品単位で買いにいけませんから、ネットが便利ですね。
キットに入っているLCDを利用した記事
SONY非接触型カードリーダーRC-S380とraspberry pi(実装編)NFCを読み込んでLCDにID表示まで