#################################################
# UPTV Fecha: #
# Nombre Y apellido: #
# C.I.: #
# Seccion: #
#################################################
from time import sleep
from machine import Pin, ADC, PWM
from math import sin, pi
# Ajusta este valor para establecer el BPM (Beats Per Minute)
BPM = 660
# Calcula el intervalo de tiempo en segundos por beat
intervalo_beat = 60 / BPM
potentiometro = ADC(26)
led0 = Pin(2, Pin.OUT)
led1 = Pin(3, Pin.OUT)
led2 = Pin(4, Pin.OUT)
led3 = Pin(5, Pin.OUT)
led4 = Pin(6, Pin.OUT)
led5 = Pin(7, Pin.OUT)
led6 = Pin(8, Pin.OUT)
led7 = Pin(9, Pin.OUT)
leds = (led0, led1, led2, led3, led4, led5, led6, led7)
def retardo(pos):
valor = intervalo_beat * potentiometro.read_u16() / 65535
return intervalo_beat - valor
while True:
for i in range(0, 8):
leds[i].value(True)
sleep(retardo(i))
leds[i].value(False)
for i in range(7, -1, -1):
leds[i].value(True)
sleep(retardo(i))
leds[i].value(False)