¿Cómo funciona un bucle for? ¿Cómo lo utilizas en vos programas?

El bucle for se utiliza para repetir una serie de instrucciones un número determinado de veces. La serie de instrucciones que se repite está dentro de los corchetes. La función for es muy útil para acciones repetitivas, como el parpadeo de un led, mover un servo de 0° a 180° por ejemplo.

for (inicialización; condición; incremento) {
  // Programa
}

Como puede verse, la función for toma como parámetros una inicialización, una condición para la que el bucle se ejecuta mientras la condición sea válida y un incremento. Esto se suele hacer con una variable, que se fija en un número determinado, y se incrementa en cada línea hasta que la condición deja de ser válida.

El incremento se llama paso. Este es el valor con el que tu variable se incrementará.

Point d'interrogation

¿Cómo escribir la condición?

La condición para el for puede ser difícil de escribir, especialmente con todos los operadores que existen. ¡Recomendamos nuestro curso sobre funciones matemáticas para tener una tabla completa de todos los operadores que se pueden usar en arduino!

Veremos varios ejemplos de bucles for justo a continuación:

  • Bucle for con incremento
for (int i = 0; i < 255; i++) {
    Serial.println(i);// Su código
  }

Como puede ver en nuestro ejemplo, utilizamos una variable i que se inicializa a 0 y ejecuta su código dentro de los corchetes 255 veces. Aquí el incremento, o paso, corresponde a i++. Esto significa que en cada iteración, la variable i se incrementará en 1.

Sin embargo, puedes cambiar tu paso para que llegue más rápido al final de la condición, por ejemplo escribiendo i+=2 en lugar de i++. En este caso, tu bucle sólo se ejecutará 128 veces.

¡Ten cuidado con los valores que cuentas en tu bucle!

Usando el ejemplo anterior, tendremos 0 como primer valor de i, pero el último valor será 254 y no 255 porque escribimos nuestra condición con menor que (<) y no menor o igual que (<=). Si cambias a menor que o igual, tendrás 256 iteraciones.

  • Bucle For con incrementos decrecientes

Ahora veremos cómo hacer un bucle for en el que la variable se incremente hacia abajo.

for (int i = 255; i > 0; i--) {
    Serial.println(i);// Su codigo
  }

Aquí, como puede ver, la variable i se inicializa de 255 a 1. El paso es i-1, por lo que en cada iteración la variable disminuye en 1.