jueves, 9 de abril de 2015

Arduino Shield. Programa 2

Continuamos haciendo pruebas en nuestro Shield. Esta vez vamos a terminar de probar el Display. Para ello vamos a crear un programa que encienda y apague en secuencia cada uno de los segmentos que forman el Display. Y además, que esté todo el tiempo haciendo lo mismo.


Para  hacer esto más sencillo vamos a emplear una estructura de control como es el bucle FOR. Esta estructura nos permite ejecutar una tarea o varias mientras se cumpla la condición que nosotros hemos programado en el bucle. Para ello nos valemos de una variable, la iniciamos con un valor y hacemos que dicho valor cambie (se incremente o decremente) mientras este valor que toma la variable cumpla una determinada condición. En el momento que la condición programada no se cumpla, se termina de ejecutar la tarea o tareas programadas en el bucle FOR. Cada vez que la variable cambie se ejecutarán las tareas programadas.

La construcción de la estructura FOR es la siguiente:
              for (inicialización de la variable; condición ; incremento o decremento)

Esta estructura de control nos va a permitir encender y apagar los segmentos del display con unas pocas líneas de código. Si no la utilizáramos la cantidad de líneas de código sería mayor.

Así es como queda entonces nuestro programa:

/*
PROGRAMA 2
*/

void setup()
    {
       
        for (int n=3;n < 10;n++) pinMode(n, OUTPUT);
    }
   
void loop()
    {
        for (int pin=3;pin < 10;pin++)
        {
            digitalWrite(pin, HIGH);
            delay(200);
            digitalWrite(pin, LOW);
            delay(400);
        }
       
    }

   
Podemos observar que la estructura FOR la utilizamos 2 veces. La primera a la hora de configurar los pines del Arduino donde tenemos conectado el Display y la segunda dentro de la función LOOP ( ).

Como ambas estructuras de control son iguales, la única diferencia es la cantidad de tareas que ejecutan, podemos comprobar como en la inicialización también aprovechamos para declarar la variable. Así iniciamos la variable con el valor 3 (que se corresponde con el pin donde tenemos conectado el segmento "a"), la condición que debe cumplirse para que se siga en el bucle FOR es que la variable sea menor que 10, y el cambio en el valor de la variable será el incremento en una unidad. Por tanto las tareas programadas se realizarán mientras la variable sea menor que 10, y esta variable, cada vez que se ejecuten las tareas, se incrementará en una unidad comenzando por el valor 3 y terminando en el 9.


No hay comentarios:

Publicar un comentario