0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RasPi+PythonでDHT22を動かす

Last updated at Posted at 2021-01-10

アマゾンで販売している「DSD TECH DHT22 温湿度センサーモジュール AM2302チップ付き Arduino Raspberry Pi用 DHT11の進化版」というモジュールをラズベリーパイに接続して温度計測を行ってみました。

モジュールのインストール

MyPyDHTを下のWebに従ってインストールする。

Pythonのコード

下の例外が発生していましたが、「use_cache=True」を「MyPyDHT.sensor_read」へ設定することで回避できるようです。

MyPyDHT.DHTException: A timeout occurred while attempting to read the sensor!

Pythonのバージョン:

$ python3 -V
Python 3.7.3

下の例ではGPIO4番にDAT端子を接続して、VCCには5Vを与えています。
また、センサーの監視を1秒毎に行いターミナルへ出力しています。

import time
import RPi.GPIO as GPIO
import MyPyDHT


DHT_PIN = 4 

GPIO.setmode(GPIO.BCM)
GPIO.setup(DHT_PIN, GPIO.OUT)
try:
    while True:
        try:
            humidity, temperature = MyPyDHT.sensor_read(MyPyDHT.Sensor.DHT22, DHT_PIN, use_cache=True)
            if humidity is not None and temperature is not None:
                print(f"temperature={temperature} / humidity={humidity}")
        except MyPyDHT.DHTException as e:
            print(f"err: {str(e)}")
        time.sleep(1)
except KeyboardInterrupt:
        GPIO.cleanup()
        print("finish")

結果

エアコンを16度設定にした室内で測定したので、結果は合っているはずです。

temperature=16.7 / humidity=44.1
temperature=16.8 / humidity=44.8
temperature=16.8 / humidity=44.8
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?