目次
DHT11
since 2022-01-22
たまたま手元にある温湿度計モジュール
https://www.amazon.co.jp/dp/B00A6QFTPY
以前 micropython で使ったと思ったが使ってなかった
https://github.com/nishimotz/micropython_demo
穴がたくさん空いている方を向けると左から 1 2 3 4 ピン
- 1 VDD 3.5-5.5
- 2 DATA
- 3 NC
- 4 GND
添付書類を読み返すと pin 2 に 5.1K でプルアップしている。
Raspberry Pi の場合は?
https://qiita.com/mininobu/items/1ba0223af84be153b850
上記の記事のように PIN 14 に DATA をつないだ。
<html> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Raspberry Pi 3 に DHT11 をつないだ <a href="https://t.co/tTReSbgL2F">pic.twitter.com/tTReSbgL2F</a></p>— にしもつ (@24motz) <a href="https://twitter.com/24motz/status/1484722822362857475?ref_src=twsrc%5Etfw">January 22, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </html>
https://github.com/szazo/DHT11_Python
この example が PIN 14 前提で作られていた。
以下 Raspberry Pi 3 に ssh して動作確認
$ git clone https://github.com/szazo/DHT11_Python.git $ cd DHT11_Python $ python3 example.py Last valid input: 2022-01-22 11:53:15.728719 Temperature: 17.0 C Humidity: 19.0 % Last valid input: 2022-01-22 11:53:21.813940 Temperature: 17.0 C Humidity: 19.0 % Last valid input: 2022-01-22 11:53:33.984013 Temperature: 17.0 C
同じ値しか返ってこないので、何かおかしい。
センサーの個体差と判断して、たぶん DHT11 であろう別のモジュール(プルアップ抵抗が入っているようにみえるやつ)と交換してみたら、まともな値になった
$ python3 example.py Last valid input: 2022-01-22 12:59:32.100861 Temperature: 22.2 C Humidity: 38.0 % Last valid input: 2022-01-22 12:59:38.186514 Temperature: 22.1 C Humidity: 34.0 % Last valid input: 2022-01-22 12:59:50.357213 Temperature: 22.3 C Humidity: 34.0 % Last valid input: 2022-01-22 13:00:08.613169 Temperature: 22.3 C Humidity: 34.0 % Last valid input: 2022-01-22 13:00:14.699527 Temperature: 22.3 C Humidity: 34.0 %
<html> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">センサーを交換したらまともに動いた。予備は必要 <a href="https://t.co/qTKwH7oUtJ">pic.twitter.com/qTKwH7oUtJ</a></p>— にしもつ (@24motz) <a href="https://twitter.com/24motz/status/1484738965764972544?ref_src=twsrc%5Etfw">January 22, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </html>