5. Coche Fantástico. (Solución 1,2 y 3)

Se trata de encender y apagar 7 leds secuencialmente. Los leds deben estar conectados a los pines 5,6,7,8,9,10 y 11.
Se deben encender y apagar los leds desde el pin 5 al 11, con un tiempo de encendido y apagado de 50 ms, más tarde se deben encender y apagar los leds desde el pin 11 al 5, con un tiempo de encendido y apagado de 50 ms. La secuencia se debe repetir indefinidamente.
El efecto del programa es el de las luces delanteras de nuestro querido "Coche fantástico".

Objetivos:
• Familiarizarse con el entorno de programación.
• Repasar declaración de variables tipo lista de valores.
• Repasar órdenes de control de programa como: for.

Solución 1:
int leds[]={5,6,7,8,9,10,11};
int n=0;
int tiempo=50;
void setup() { //comienza la configuración
 for (n=0;n<7;n++) {
 pinMode(leds[n],OUTPUT);
}
}
void loop() {
 for (n=0;n<7;n++) {
 digitalWrite (leds[n],HIGH);
 delay(tiempo);
 digitalWrite (leds[n],LOW);
 delay(tiempo);
}
for (n=6;n>=0;n--) {
 digitalWrite (leds[n],HIGH);
 delay(tiempo);
 digitalWrite (leds[n],LOW);
 delay(tiempo);
}
}

Solución 2 (sin variable de listas de valores (array)):
int n=0;
int tiempo=50;
void setup() { //comienza la configuración
for (n=5;n<12;n++) {
pinMode(n,OUTPUT);
}
}
void loop() {
for (n=5;n<12;n++) {
 digitalWrite (n,HIGH);
 delay(tiempo);
 digitalWrite (n,LOW);
 delay(tiempo);
}
for (n=11;n>=5;n--) {
 digitalWrite (n,HIGH);
 delay(tiempo);
 digitalWrite (n,LOW);
 delay(tiempo);
}
}

Solución 3 (Mejorando el efecto visual):
 int leds[]={5,6,7,8,9,10,11};
int n=0;
int tiempo=30;
void setup() { //comienza la configuración
 for (n=0;n<7;n++) {
 pinMode(leds[n],OUTPUT);
 }
}
void loop() {
 for (n=0;n<7;n++) {
 digitalWrite (leds[n],HIGH);
 delay(tiempo);
 digitalWrite(leds[n+1],HIGH);
 delay(tiempo);
 digitalWrite (leds[n],LOW);
 delay(tiempo*2);
 }
 for (n=6;n>=0;n--) {
 digitalWrite (leds[n],HIGH);
 delay(tiempo);
 digitalWrite(leds[n-1],HIGH);
 delay(tiempo);
 digitalWrite (leds[n],LOW);
 delay(tiempo*2);
 }
}



Comentarios

Entradas populares de este blog

2.12 Instrucciones lógicas.

2.9 Instrucciones aritméticas.

2.10 Manipulación de la pila.