from machine import Pin, ADC, PWM
from time import sleep
from dht import DHT22
# sensor de luz sendo setado
sensorLuz = ADC(Pin(32))
sensorLuz.atten(ADC.ATTN_11DB)
sensorLuz.width(ADC.WIDTH_10BIT)
#led setado
luzinha = Pin(15, Pin.OUT)
# o que é considerado como escuro (quando acender)
# valor baseado nisso: https://docs.wokwi.com/pt-BR/parts/wokwi-photoresistor-sensor
escuro = 985
#sensor de temperatura
sensorTemperatura = DHT22(Pin(23))
#setando a temperatura ideal
temperaturaMax = 40
temperaturaMin = 20
#leds de temperatura
ledQuente = Pin(13, Pin.OUT)
ledIdeal = Pin(27, Pin.OUT)
ledFrio = Pin(14, Pin.OUT)
buzzerPin = Pin(4, Pin.OUT)
buzzer = PWM(buzzerPin)
ledFrio.on()
ledIdeal.on()
ledQuente.on()
while True:
sensorTemperatura.measure()
valorTemperatura = sensorTemperatura.temperature()
valorLuz = sensorLuz.read()
print(valorTemperatura)
if valorLuz > escuro:
luzinha.off()
print("------")
print("Está escuro. Luz acesa")
print("Luminosidade: ", valorLuz)
else:
luzinha.on()
print("------")
print("Está claro. Luz apagada")
print("Luminosidade: ",valorLuz)
if valorTemperatura < temperaturaMin:
ledFrio.off()
ledIdeal.on()
ledQuente.on()
print("A temperatura está muito baixa. Iniciando aquecedor...")
buzzer.duty(1)
buzzer.freq(110)
if valorTemperatura > temperaturaMin and valorTemperatura < temperaturaMax:
ledFrio.on()
ledIdeal.off()
ledQuente.on()
print("A temperatura está ideal.")
buzzer.duty(0)
if valorTemperatura > temperaturaMax:
ledFrio.on()
ledIdeal.on()
ledQuente.off()
print("A temperatura está muito alta. Resfriando...")
buzzer.duty(1)
buzzer.freq(784)
sleep(0.5)