A05. Barra de LEDs¶
Enunciado¶
En esta actividad vamos a hacer un proyecto sencillo que haga que los LEDs se enciendan y apaguen simulando un desplazamiento del LED encendido. Jugaremos un poco con el valor de los retardos para dar sensación de aceleración.
Contenidos de electrónica básica que se aconseja repasar:
Lista de componentes¶
- - Placa pico explorer con Pi Pico
- - 1 Cable USB A a USB micro que utilizaremos para programar y alimentar la Pi Pico
- - 10 Resistencia de 220R
- - 1 barra de 10 LEDs
- - Cables dupont
Esquema del circuito¶
El circuito que vamos a montar es el siguiente:
Programa¶
Código¶
El código de la actividad es el siguiente:
from machine import Pin
import time
pines = [0, 1, 2, 3, 4, 5, 6, 7, 27, 28] #27 y 28 son ADC0 y ADC1
def mostrarBarras():
time.sleep(1) # parada entre recorridos
for pin in pines:
print(pin)
led = Pin(pin, Pin.OUT)
led.value(1)
time.sleep_ms(300)
led.value(0)
time.sleep_ms(300)
time.sleep(1) # parada entre recorridos
for pin in reversed(pines):
print(pin)
led = Pin(pin, Pin.OUT)
led.value(1)
time.sleep_ms(300)
led.value(0)
time.sleep_ms(300)
while True:
mostrarBarras()
El programa lo podemos descargar de:
Explicación¶
Veamos el funcionamiento del programa:
- Importación de módulos. Ver actividades anteriores.
- Configuración de pines. La definición se realiza mediante una matriz de 10 elementos, en correspondencia con los 10 pines que usaremos. Los pines 27 y 28 son los pines ADC0 y ADC1 usados como digitales en este caso. La configuración de los pines como salida se realiza en la función
mostrarBarras()
con la variableled
- Se realiza la definición de la función
mostrarBarras()
que incluye dos buclesfor
, uno para encender los segmentos en un sentido y el otro para hacerlo en sentido contrario (reversed). Cada bucle va precedido de un retardo de un segundo antes de iniciarse.
- Bucle infinito: Se invoca la función definida.