from machine import Pin, PWM
import dht
import time
# Definindo os pinos do ESP32
motor_in1_pin = 25
motor_in2_pin = 26
motor_en_pin = 27
dht_pin = 14
# Configurações da ponte H L298N
motor_in1 = Pin(motor_in1_pin, Pin.OUT)
motor_in2 = Pin(motor_in2_pin, Pin.OUT)
motor_en = PWM(Pin(motor_en_pin))
motor_en.freq(1000) # Frequência do PWM
# Configuração do sensor DHT11
dht_sensor = dht.DHT11(Pin(dht_pin))
# Função para controlar o motor DC
def controlar_motor(velocidade):
if velocidade > 0:
motor_in1.on()
motor_in2.off()
elif velocidade < 0:
motor_in1.off()
motor_in2.on()
else:
motor_in1.off()
motor_in2.off()
motor_en.duty(abs(velocidade))
# Função para ler a temperatura
def ler_temp():
dht_sensor.measure()
return dht_sensor.temperature()
# Loop Principal
while True:
temperatura = ler_temp()[0] # Acessando a temperatura
if temperatura <= 20: # Se estiver frio, fecha a cortina
controlar_motor(-1023)
elif temperatura > 20: # Se estiver quente, abre a cortina
controlar_motor(1023)
else:
controlar_motor(0)
time.sleep(1) # Espera um segundo para fazer a leitura novamente