温湿計とLEDを連携してみよう ~DHT11+LED by Python~

温湿計とLEDを連携してみよう ~DHT11+LED by Python~

はじめに

今回は、温湿度計(DHT11)で計測した値をもとにLEDを点灯させていきます。
下記2つの内容を組み合わせて行います。わからない部分は参照してください。

用意するもの
Raspberry Pi Raspberry Pi 4
DHT11DHT11
LED3mm赤色LED 70° OSR5JA3Z74A
抵抗カーボン抵抗 1/2W 5.1kΩ(100本入)
ジャンパーケーブルジャンパーケーブル
ブレッドボードブレッドボード

方針

DHT11で測定した温度が一定値を超えたときにLEDが点灯、下回った時に消灯するようにします。
温度のチェックは30秒毎に行うことにします。温度は室温を目安に設定してください。

機器の接続

機器の接続は下図のようにしました。
18番にDHT11の測定データピン、23番にLEDのプラスを接続しています。

実機だとこのようになります。
接続が増えるのでぐちゃぐちゃです。

プログラム・実行

短いので一気にいきます。

import RPi.GPIO as GPIO
import dht11
import time
import datetime

#SET GPIO
GPIO.setwarnings(True)
GPIO.setmode(GPIO.BCM)
gpio_led = 23
GPIO.setup(gpio_led,GPIO.OUT)
instance = dht11.DHT11(pin=18)

try:
    while True:
        result = instance.read()
        if result.is_valid():
            print("Temperature: %-3.1f C" % result.temperature)
            if result.temperature >=24 :
                GPIO.output(gpio_led,1)
            
            else:
                GPIO.output(gpio_led,0) 
  
        time.sleep(30)        
except:
    GPIO.cleanup()



記述時の我が家の室温が23度~24度でしたので24度を超えた場合にLEDが点灯するようにしました。
温湿度計を指で温めれば高い温度を出すことができます。
規定温度を超えるまで指で温めればLEDが点灯するはずです。指を話せばそのうち元の温度に戻りますのでLEDが消灯します。

おわりに

室温に対応してLEDを点灯することができました。
これを応用することで他の機器との連携などができると思います。
エアコンのONOFFなどやっていきたいなぁ。


タイトルとURLをコピーしました