Descrición:
Imos ordenar que se acendan e se apaguen unha serie de LEDs un a un, de forma consecutiva.
No primeiro programa iremos sempre no mesmo sentido, e no segundo iremos primeiro cara adiante e despois cara atrás.
Programas:
1. LEDs consecutivos
1. LEDs consecutivos: Neste programa utilizamos a función for para:
- Configurar como saída os pins do 7 ao 13, evitando ter que facelo un a un.
- Ordenar que se acendan e se apaguen os LEDs un a un, de forma consecutiva.
// Declaración de variables: int tempo = 200; // Definimos a variable tempo cun valor de 200ms // Configuración: void setup() { for (int n=7;n<=13;n++) { // Repítese desde o 7 ata o 13 o seguinte: pinMode(n, OUTPUT); // Imos configurando os pins como saída } } // Programa void loop() { for (int n=7;n<=13;n++) { // Repítese desde 7 ata 13 o seguinte: digitalWrite(n, HIGH); delay(tempo); digitalWrite(n, LOW); delay(tempo); } }
2. Coche fantástico
2. Coche fantástico: Para conseguir o efecto do coche fantástico engadimos un bucle descendente ao programa anterior.
// Declaración de variables: int tempo = 150; // Definimos a variable tempo cun valor de 200ms // Configuración: void setup() { for (int n=7;n<=13;n++) { pinMode(n, OUTPUT); // Imos configurando os pins como saída desde o 7 ata o 13 } } // Programa: void loop() { for (int n=7;n<=13;n++) { // Repítese desde 7 ata 13 o seguinte: digitalWrite(n,HIGH); delay(tempo); digitalWrite(n,LOW); delay(tempo); } for (int n=12;n>=8;n--) { // Repítese desde 12 ata 8 o seguinte: digitalWrite(n,HIGH); delay(tempo); digitalWrite(n,LOW); delay(tempo); } }
Propostas:
- Sen apagarse: Fai que os LEDs se vaian acendendo consecutivamente sen apagarse, e despois se vaian apagando un a un, no mesmo sentido ou en sentido contrario.
- De dento a fóra. A ver se es quen de facer que os LEDs se vaian acendendo desde o centro ata o exterior e despois se vaian apagando en sentido contrario.
- Control de velocidade con potenciómetro: Conecta un potenciómetro a unha entrada analóxica e fai que ao variar a posición do cursor vaia aumentando ou diminuíndo a velocidade das luces do coche fantástico.
Utiliza a función map: tempo=map(pot, 0, 1023, tempo1, tempo2); - Visualizador de LEDs: Conecta un potenciómetro e fai que a medida que imos xirando se vaian acendendo cada vez máis LEDs facendo unha visualización do nivel.
Utiliza a función map. Para 7 LEDs sería: nivel = map(pot, 0, 1023, 0, 7)
Extras:
- Con barras de LEDs: Para que os efectos de xogos de luces queden ben xeitosos podemos utilizar unha ou dúas barras de leds como as da imaxe da dereita. Só hai que conectar a cada pin unha resistencia de protección. Proba facer un coche fantástico con 10 Leds!
- Como queiras: Fai un xogo de luces diferente a estes e que quede chulo.