前提・実現したいこと
0度を超えるとヒーターの電源が入るといったプログラムを作成しようとしています。
使用している、温度センサーは(DHT11)です。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "dht11_auto_heater.py", line 20, in <module> result = instance.read() File "/home/pi/DHT11_Python/dht11.py", line 34, in read RPi.GPIO.setup(self.__pin, RPi.GPIO.OUT) RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD) or GPIO.setmode(GPIO.BCM)
該当のソースコード
python
1import RPi.GPIO as GPIO 2import dht11 3import time 4import datetime 5import subprocess 6 7# initialize GPIO 8GPIO.setwarnings(False) 9GPIO.setmode(GPIO.BCM) 10GPIO.setup(17,GPIO.OUT) 11 12# read data using pin 14 13instance = dht11.DHT11(pin=14) 14HotTemp = 5 15ColdTemp = 0 16hubFlg = False 17sleepSecond = 6 18 19while True: 20 result = instance.read() 21 if result.is_valid(): 22 tmp = result.temperature 23 print(tmp) 24 if tmp == ColdTemp: 25 # Heater running 26 GPIO.output(17,1) 27 print("Heater ON") 28 sleepSecond = 60 29 print("missing") 30 elif tmp >= HotTemp: 31 # Heater stop 32 GPIO.output(17,0) 33 print("Heater OFF") 34 sleepSecond = 10 35 else : 36 time.sleep(sleepSecond) 37GPIO.cleanup()
試したこと
特になし
補足情報(FW/ツールのバージョンなど)
Raspberry Pi
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 05:06
2019/11/06 07:27
退会済みユーザー
2019/11/06 12:58 編集