import machine
import dht
import time
dht_sensor = dht.DHT22(machine.Pin(2))
servo_pin = machine.Pin(18)
pwm = machine.PWM(servo_pin)
def set_servo_angle(angle):
duty_cycle = int(1023 * angle / 180)
pwm.duty(duty_cycle)
while True:
try:
dht_sensor.measure()
temperature = dht_sensor.temperature()
servo_angle = int((temperature - 20) * 2)
servo_angle = max(0, min(180, servo_angle))
if temperature > 20:
set_servo_angle(servo_angle)
else:
set_servo_angle(0)
print("Temperature:", temperature, "°C")
print("Servo Angle:", servo_angle)
time.sleep(5)
except KeyboardInterrupt:
break