En la práctica anterior hemos tenido que controlar un elevado número de led, en la programación hemos visto mucho código repetitivo ya que hemos tenido que definir como variable (int) cada uno de los LEDs, también definirlos como salidas (pinMode) y después, para cada uno de ellos, mostrar el alto o bajo (digitalWrite). Es obvio que cuando hay muchos elementos repetitivos que controlar, la solución de la práctica anterior se puede mejorar para hacer un código más corto. Para conseguir esto vamos a introducir el bucle "for".
Bucle "for"
Básicamente es una estructura de control que sirve para repetir ciertas instrucciones un número determinado de veces. Las instrucciones que se repiten son las que tú decidas, y el número de veces que se repiten también lo determinas tú. La sintaxis consiste en escribir la palabra reservada «for» para indicar que empieza el bucle y dentro de los paréntesis hay que escribir tres elementos.
for (expresión de inicio, condición, incremento/decremento)
{
instrucciones;
}
El primero de ellos es la expresión de inicio. Básicamente es una variable de tipo entero que guarda cierto valor. El segundo elemento es una condición. Esta condición indica cuando termina el bucle, es decir, cuando terminan de ejecutarse las instrucciones que escribas dentro. El último elemento es un incremento o decremento de la expresión de inicio con el que aumentaremos o disminuiremos su valor cada vez que se ejecuten todas las instrucciones que hay dentro del bucle. Lo último que tienes que escribir dentro del ciclo son las instrucciones que quieres que se repitan.
El montaje será el mismo que en el caso de la práctica anterior. Puedes duplicar el fichero de la práctica anterior en TinkerCad para realizar esta práctica.
El código del programa sería:
VÍDEO DE LA PRÁCTICA
Práctica resuelta
Las subrutinas son unos "miniprogramas", unas funciones que se ejecutan al ser llamadas desde el programa principal. La declaración de funciones no va, ni el SETUP, ni en el LOOP, va de forma independiente entre los dos. Para declarar una función, se escribe VOID, el nombre de la función, se abre y cierra paréntesis, se abre llave, se escribe el código de la subrutina y se cierra la llave.
VÍDEO DE LA PRÁCTICA
En el vídeo nos detallan la teoría de uso de las subrutinas mediante el uso de un ejemplo. A continuación, ya en TinkerCad montaremos el circuito de la imagen inferior, replica del circuito usado en la práctica y realizaremos programación que nos muestra la otra imagen.
El circuito:
El programa: