En esta lección aprenderás a codificar la sentencia iterativa for para repetir instrucciones un número determinado de veces
Estructura iterativas
En la vida cotidiana, existen problemas que su solución requiere que ciertas instrucciones u operaciones se repitan una y otra vez utilizando datos diferentes. Las estructuras que repiten las instrucciones se conocen como bucles y se llama iteración al hecho de repetir. En esta sección veremos la estructura iterativa for.
for
La estructura for repite las acciones del cuerpo de un bucle un número específico de veces, controlando de modo automático el número de iteraciones.
El diagrama de flujo de la sentencia for se muestra en la figura 1.

Como puedes observar, la sentencia comienza con un valor inicial, lleva un incremento y termina con un valor final. La sintaxis de la estructura for es la siguiente:
Sintaxis
for (inicialización; condición; incremento) {
// instrucciones;
}
Parámetros
inicialización – se integra por la inicialización de una una variable tipo entero que se inicializa con un valor numérico y que funciona como un contador para llevar el número de repeticiones
condición – una expresión relacional que compara el valor de la variable contador con el valor final al que debe de llegar.
incremento – el valor que incrementa o decrementa la variable que funciona como contador.
En la siguiente imagen (Figura 2) se desglosa cada uno de los parámetros de la sintaxis de la sentencia for:

Ahora que ya conoces la sintaxis de la sentencia for, observa el siguiente video para comprender la lógica de su funcionamiento.
Después de observar en el video la lógica de la sentencia for, vamos a realizar una práctica que consiste en la construcción y programación de un circuito electrónico que encienda 5 leds con diferentes secuencias. El primer led se conectará al pin 2 y el último led al pin 6. (Figura 3).

En este circuito, la tarjeta Arduino enviará el valor HIGH (1) a cada uno de los leds que se encuentran conectados, por lo que debemos configurar como salida cada pin, desde el pin 2 al 6. La instrucción de configuración de los pines en la función setup del programa utilizando la sentencia for sería:
for (pinLed=2; pinLed<=6; pinLed++){ // pinLed = 2, hasta llegar al 6, incrementa 1
pinMode(pinLed,OUTPUT); // Configura desde el pin 2 hasta el pin 6 como salida
}
Una vez configurados los pines del 2 al 6, procedemos realizar las secuencias de encendido de los leds. Revisa la tabla siguiente que describe cada una de las secuencias y cómo codificar la sentencia for:

Cómo puedes observar, en la sintaxis de la sentencia for cambian los datos de la inicialización, de la condición y el incremento, con estos cambios se logra las diferentes secuencias de encendido.
Manos a la obra

Ahora que ya conoces cómo configurar los pines digitales de tu tarjeta Arduino con la sentencia for y cómo crear secuencias de encendido, vamos a realizar una práctica que consiste en la construcción y programación de un circuito electrónico que encienda leds con diferentes secuencias.
Materiales








Si deseas repasar las características técnicas y funcionamiento de alguno de los componentes electrónicos, puedes dar clic sobre su imagen para consultar su información.
Construcción del circuito electrónico
Realiza las conexiones del circuito electrónico que se muestra en el diagrama esquemático de la Figura 4. Recuerda que el ánodo de cada led va conectado una resistencia y el cátodo a la tierra.

Programación del circuito electrónico
Captura el código del programa en el IDE de Arduino. Recuerda realizar tu mismo la codificación para aprender la sintaxis de la sentencia for.
/* Manual de programación con Arduino
* Práctica: Uso de la sentencia for
* Objetivo: Encender 5 leds con cuatro secuencias diferentes
* 1: Enciende led x led desde el primero al último
* 2: Apaga led x led desde el último al primero
* 3: Parpadean leds pares
* 4: Parpadean leds nones
* Fecha: noviembre 2020
* Autor: Milagros Pacheco Castañeda
*/
int pinLed;
void setup()
{
Serial.begin(9600); // Activa monitor serial
for (pinLed=2; pinLed<=6; pinLed++){ // pinLed = 2, hasta llegar al 6, incrementa 1
pinMode(pinLed,OUTPUT); // Configura el desde el pin 2 hasta el 6 como salida
} // fin for
}
void loop()
{
// Primera secuencia prender led x led
for (pinLed=2; pinLed<=6; pinLed++) { // pinLed = 2, hasta llegar al 6, incrementa 1
digitalWrite(pinLed,HIGH); // Enciende cada led
delay (500);
Serial.print (pinLed);
Serial.println (" prendido");
} // fin for
// Segunda secuencia apagar led x led del último al primero
for (pinLed=6; pinLed>=2; pinLed--){ // pinLed = 6, hasta llegar a 2, decrementa 2
digitalWrite(pinLed,LOW); // Apaga cada led
Serial.print (pinLed);
Serial.println (" apagado");
delay (500);
}
// Tercera secuencia parpadean los leds pares
for (pinLed=2; pinLed<=6; pinLed+=2){ // pinLed = 2 hasta llegar a 6, incrementa 2
digitalWrite(pinLed,HIGH);
delay (250);
digitalWrite(pinLed,LOW);
delay (250);
} //fin for
// Cuarta secuencia parpadean los leds nones
for (pinLed=5; pinLed>=3; pinLed-=2){ // pinLed = 5 hasta llegar a 3, decrementa 2
digitalWrite(pinLed,HIGH);
delay (250);
digitalWrite(pinLed,LOW);
delay (250);
} //fin for
} // fin loop
Observa cómo en cada sentencia for la inicialización, condición y el incremento cambia, lo que permite que cada secuencia de encendido de los leds sea diferente.
Compila, depura y sube el sketch a la tarjeta Arduino UNO.
Funcionamiento del circuito electrónico
Prueba el funcionamiento de tu circuito electrónico. Verifica que el circuito funcione como la simulación que se muestra a continuación. Presiona el botón Iniciar simulación observa cómo se encienden los leds en cada secuencia.
Si en tu navegador no se muestra la simulación, ingresa al enlace https://www.tinkercad.com/embed/hjfRRiLiFgM?editbtn=1

Autoevaluación

Para aprender más
Prometec. (s/f). Introducción a la programación con Arduino. https://www.prometec.net/intro-programacion/
Joyanes Aguilar L. (2008) Fundamentos de programación. México: McGraw Hill. https://combomix.net/wp-content/uploads/2017/03/Fundamentos-de-programaci%C3%B3n-4ta-Edici%C3%B3n-Luis-Joyanes-Aguilar-2.pdf