from machine import Pin, time_pulse_us
import time, dht
trig=Pin(5,Pin.OUT)
echo=Pin(18,Pin.IN)
led=Pin(2,Pin.OUT)
buzzer=Pin(4,Pin.OUT)
button=Pin(12,Pin.IN,Pin.PULL_UP)
sensor=dht.DHT22(Pin(15))
def get_distance():
trig.value(0)
time.sleep_us(2)
trig.value(1)
time.sleep_us(10)
trig.value(0)
duration=time_pulse_us(echo,1,30000)
return duration/58
last_dht=time.ticks_ms()
while True:
if button.value()==0:
distance=get_distance()
if time.ticks_diff(time.ticks_ms(),last_dht)>5000:
sensor.measure()
temperature=sensor.temperature()
humidity=sensor.humidity()
print("Distance:",distance,"cm","Temp:",temperature,"C","Hum:",humidity,"%")
last_dht=time.ticks_ms()
else:
print("Distance:",distance,"cm")
if distance<100 or (sensor.temperature()>40) or (sensor.humidity()>40):
led.value(1)
buzzer.value(1)
else:
led.value(0)
buzzer.value(0)
else:
led.value(0)
buzzer.value(0)
time.sleep(0.2)
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4