from machine import Pin, PWM
from dht import DHT22
import time
dht22_pin = Pin(4)
servo_pin = PWM(Pin(15))
dht22 = DHT22(dht22_pin)
servo_pin.freq(50)
def set_servo_angle(angle):
duty = int( 2000 + (angle / 180) * 6000 )
servo_pin.duty_u16( duty )
while True:
try:
dht22.measure()
temp = dht22.temperature()
print(f'Temperature: {temp}°C')
if temp > 50:
print("Fire detected! Opening emergeny exit.")
set_servo_angle(90)
else:
print("Temperature normal. Closing emergency exit.")
set_servo_angle(0)
except Exception as e:
print("Error reading sensor:", e)
time.sleep(2)