from machine import Pin, ADC, PWM
import time
# Definindo os pinos
amarelo = Pin(19, Pin.OUT)
vermelho = Pin(5, Pin.OUT)
verde = Pin(16, Pin.OUT)
buzzer = Pin(2, Pin.OUT)
ldr = ADC(Pin(27))
snsom = ADC(Pin(13))
# Configurando a resolução dos ADCs (para ESP32)
ldr.width(ADC.WIDTH_12BIT)
snsom.width(ADC.WIDTH_12BIT)
# Configurando o PWM para o LED verde
pwm_verde = PWM(verde, freq=5000)
# Função de mapeamento (similar ao map do Arduino)
def map_value(x, in_min, in_max, out_min, out_max):
return int((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
while True:
# Lendo os valores do LDR e do sensor de som
luz = ldr.read()
som = snsom.read()
# Exibindo os valores no console
print('Luz:', luz)
#print('Som:', som)
# Mapeando o valor do som para o PWM do LED verde
fade = map_value(som, 0, 4095, 0, 1023)
pwm_verde.duty(fade)
# Condições para acender os LEDs e o buzzer
if som > 2000 and luz > 3700:
amarelo.value(1)
else:
amarelo.value(0)
if som > 3000 and luz > 3700:
vermelho.value(1)
buzzer.value(1)
else:
vermelho.value(0)
buzzer.value(0)
# Pequena pausa
time.sleep(0.1)