Reference Language (extended) | Libraries | Comparison | Changes
La declaración for es usada para repetir un bloque encerrado entre llaves. Un incremento de un contador es usado, normalmente, para aumentar y terminar con el bucle. La estructura for es muy útil para la mayoría de las operaciones repetitivas, y habitualmente se usa para operaciones con vectores, para operar sobre conjuntos de datos/pines
El bucle for tiene tres partes o argumentos en su inicialización:
for (initialization; condition; increment) {
//función(es);
}

La initialization, o inicialización, se produce sólo la primera vez. Cada vez que se va a repetir el bucle, se revisa la condition, o condición: si es cierta, el bloque de funciones (y el incremento del contador) se ejecutan, y la condición vuelve a ser comprobada de nuevo. Si la condición es falsa, el bucle termina.
// Variar la intensidad de un LED usando un salida PWM
int PWMpin = 10; // En el pin 10 hay un LED en serie con una resistencia de 470 ohmios
void setup()
{
// no es necesario nada aquí
}
void loop()
{
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
}
El bucle for, en C, es mucho más flexible que otros bucles for en otros lenguajes, incluyendo BASIC. Cualquiera (o todos) los parámetros pueden ser omitidos, sin embargo los puntos y coma (;) son obligatorios. También las inicialización, condición e incremento pueden ser cualquier declaración en C válida, con variables independientes, y podemos usar cualquier tipo de variable, incluídos los float. Estos tipos de declaración for poco usuales pueden proporcionar una solución válida a algunos problemas de programación raros.
Por ejemplo, usando la multiplicación en el parámetro de incremento, podemos generar una progresión logarítmica.
for(int x = 2; x < 100; x = x * 1.5){
println(x);
}
Este código generará: 2,3,4,6,9,13,19,28,42,63,94
Otro ejemplo es hacer apagarse/encenderse un LED poco a poco, Another example, fade an LED up and down with one for loop:
void loop()
{
int x = 1;
for (int i = 0; i > -1; i = i + x){
analogWrite(PWMpin, i);
if (i = 255) x = -1; // cambia de signo para apagarlo
delay(10);
}
}
Correcciones, sugerencias, y nueva documentación deberán ser publicadas en el Foro (castellano) o en el Foro (inglés).
El texto de la referencia de Arduino está publicado bajo la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0. Los ejemplos de código de la referencia están liberados al dominio público.