from machine import Pin,ADC,Timer
#INTERRUCPCION
def llamatimer(x):
ledmorado.on()
t1.init(period=1000,mode=Timer.ONE_SHOT,callback=apagaled)
#TIMER
def mostravolt(y):
global v
global vreal
v=adc.read()
vreal=((v*3.3)/511)
print(vreal," volts")
def apagaled(z):
ledmorado.off()
#CONFIGURACION DE LA INTERRUPCION
push=Pin(14,Pin.IN,Pin.PULL_UP)
push.irq(trigger=Pin.IRQ_FALLING,handler=llamatimer)
#CONFIGURACION DE LOS TIMERS
t0=Timer(0)
t0.init(period=3000,mode=Timer.PERIODIC,callback=mostravolt)
t1=Timer(1)
#CONFIGURACION DEL ADC
adc=ADC(Pin(32))
adc.width(ADC.WIDTH_9BIT)
adc.atten(ADC.ATTN_11DB)
#CONFIGURACION DE LOS LEDS
ledrojo=Pin(23,Pin.OUT)
ledamarillo=Pin(22,Pin.OUT)
ledverde=Pin(21,Pin.OUT)
ledmorado=Pin(19,Pin.OUT)
#VARIABLES
v=0
vreal=0
while(1):
v=adc.read()
if(v<=170):
ledverde.on()
ledamarillo.off()
ledrojo.off()
elif(v>=170 and v<=340):
ledamarillo.on()
ledverde.off()
ledrojo.off()
elif(v>=340 and v<=511):
ledrojo.on()
ledverde.off()
ledamarillo.off()