from machine import Pin, PWM, ADC
import dht
import time
dht_sensor = dht.DHT22(Pin(4, Pin.IN, Pin.PULL_UP))
led = Pin(2, Pin.OUT)
mq2 = ADC(Pin(27))
mq2.atten(ADC.ATTN_11DB)
buzzer = PWM(Pin(18))
buzzer.freq(1000)
buzzer.duty(0)
while True:
try:
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
print("Temperature:", temperature, "°C", "Humidity:", humidity, "%")
if temperature > 30:
led.on()
print("LED ON")
elif temperature < 25:
led.off()
print("LED OFF")
adc_value = mq2.read()
ppm = adc_value * (1000 / 4095)
if ppm < 350:
buzzer.duty(500)
print("high gas detected! Buzzer ON")
else:
buzzer.duty(0)
print("Gas level low. Buzzer OFF")
except OSError:
print("Sensor reading failed.")
time.sleep(2)