Я пытаюсь создать термостат с помощью датчика DHT22. Я хотел бы прочитать данные с датчика и с помощью оператора if сравнить значение датчика с заданным значением температуры. В случае достижения оператор if включит реле, используя нормально выключенную розетку. Ниже приведен код, который я написал в программировании Geany, чтобы получить общее представление о том, что я хотел бы сделать.
from time import sleep
import RPi.GPIO as GPIO
import Adafruit_DHT as dht
GPIO.setmode(GPIO.BCM)
AC_1_GPIO = 17 #sets relay to GPIO pin 17 for AC unit control
DHT_1_GPIO = 3
GPIO.setup(AC_1_GPIO, GPIO.OUT) #sets up GPIO to be on or off based on condition
#GPIO.setup(DHT_1_GPIO, GPIO.OUT) #
humdtemp = dht.read_retry(dht.DHT22, DHT_1_GPIO)
Temp_Max = 32 #this is temperature maximum value for tent
#Humd_Max = 60 #this is relative humidity maximum value for
#Humd_Min = 30 #this is relative humidity mininum value for
while True: #creates continuous loop
if humdtemp > Temp_Max: #compares sensor value to maximum
# temperature value
GPIO.output(AC_1_GPIO, GPIO.LOW) #turns on AC unit using controllable relay
elif humdtemp == Temp_Max:
print ("Achieving 72 degree temperature") #we need to select a temperature setpoint value
else:
GPIO.output(AC_1_GPIO, GPIO.HIGH) #turns 'on' normally off relay