import time
time.sleep(0.1) # Wait for USB to become ready
print("Hello, Ismidah!")
from machine import Pin, PWM
import time
import dht
relay = Pin(2, Pin.OUT)
dht_sensor = dht.DHT22(Pin(3))
trig = Pin(4, Pin.OUT)
echo = Pin(5, Pin.IN)
servo = PWM(Pin(6))
servo.freq(50)
def read_distance():
trig.low()
time.sleep_us(2)
trig.high()
time.sleep_us(10)
trig.low()
while echo.value() == 0:
start = time.ticks_us()
while echo.value() == 1:
end = time.ticks_us()
duration = time.ticks_diff(end, start)
distance = (duration * 0.0343) / 2
return distance
while True:
try:
dht_sensor.measure()
temp = dht_sensor.temperature()
hum = dht_sensor.humidity()
print('Temp:', temp, 'C')
print('Humidity:', hum, '%')
dist = read_distance()
print('Distance:', dist, 'cm')
if temp > 50:
relay.value(1)
else:
relay.value(0)
if dist < 200:
servo.duty_u16(8000)
else:
servo.duty_u16(2000)
except Exception as e:
print('Error:', e)
time.sleep(1)