Arduino Tutorial 4: El coche fantástico

Siguiendo con nuestras prácticas de Arduino, hoy quiero preparar una práctica bastante habitual. Este tipo de ejercicio se conoce comúnmente como el del Coche Fantástico. Básicamente consiste en iluminar una secuencia de leds rápidamente para así lograr el efecto que hacía el famoso coche “kitt”.
El coche fantástico, el protagonista de la famosa serie de televisión.
El coche fantástico, el protagonista de la famosa serie de televisión.

Este ejercicio resulta excelente para lograr un mayor manejo de las opciones de programación que presenta Arduino. Además, resulta interesante hablar de la importancia que tiene el espacio que ocupa un programa. Con este ejercicio nos acostumbraremos a manejar variables y bucles de manera habitual.  Posteriormente esto nos servirá para pasar rápidamente a trabajar con otros actuadores en próximas prácticas.

Montaje del “coche fantástico”

¿Como conseguimos nuestro objetivo?
Bueno bien, nosotros vamos a utilizar 6 leds en paralelo y les vamos a conectar una resistencia en serie de 220 ohmios(rojo-rojo-marrón segun podemos ver  Aquí.
 
El montaje físico de la placa quedaría tal que así:
Montaje del coche fantástico.
Aunque yo no lo he hecho, no os olvideis de conectar con un cable la mitad superior con la inferior.

Vemos que utilizamos una salida digital para cada led. Podemos tomar dos opciones: O asignar a cada led una variable y declararla como pin, o englobar en un vector todas las variables, haciendo el programa mucho más resumido. Veámoslo de cada una de las maneras:

1ª opción de programación

Vemos que es una simple repetición de introdución de variables, declaración de salidas y puesta en encendido-apagado. Esta sería una manera de programar simple, pero muy extensa, la propia por la que un programador se llevaría las manos a la cabeza.
 
Esta bien que a la hora de ensayar nuestras ideas hagamos este tipo de chapuzas, pero a la hora de mostrar un programa debe estar ser de una forma más estructurada.
 
He dejado indicado en la imagen lo que ocupa el programa (1364 bytes) porque quiero que luego lo comparemos con el que pienso mostrar a continuación:

2ª opción de programación.

 

Bien este programa mucho más resumido utiliza los bucles for y los vectores. Ahora quiero explicar un poco lo que son los vectores para los que no hayas tenido ocasión de verlos en programación.
 
Cuando introducimos un vector (led[]) estamos introduciendo una variable con x posiciones, que en este caso se va a interpretar como las salidas del led en el bucle for.
 
Vemos después en “setup” que introduzco un bucle for con la variable n. Esta variable n,(en este caso) es la que nos va a indicar la posición del vector en el que nos encontramos. 
 
Vease, si n=0 , la posición del vector será 0, es decir el pin 2, cuando acabe el bucle for, se ejecutará la orden n++, que como podemos deducir aumenta el valor de n en una unidad.
 
Luego al siguiente bucle, n será igual a 1, y la posición que estaremos indicando como salida será la del vector 1, (pin 3). Este proceso se repite hasta que n=6, momento en el que el bucle termina.
 
Esta es una manera muy útil de declarar todas las salidas del Arduino en una  sola línea de código. De esta manera, nuestro archivo se hace más pequeño.
 
Después en “loop” mediante un bucle similar, vamos a ir dando la orden de encender todas las luces de nuestros LED. Posteriormente deberíamos añadir otro bucle que fuera en orden descendente es decir for(n=6;n>0;n–)  que fuera apagando todas las luces del vector.
 
Vemos que el archivo al final ocupa 1338 bytes, son 26 menos que en el ejemplo anterior en unas pocas líneas de código. Cuando nos ocupemos de ejecutar códigos más largos realizar este tipo de bucles de manera sistemática se hará muy útil.

Código del coche fantástico

Guardar

Spread the love

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *