Tabla de contenido

Publicidad

Bucles

Los condicionales servían para tomar decisiones, pero cuando es necesario repetir varias veces las
mismas operaciones existen los bucles que consisten en estar ejecutando el código que tengan
dentro hasta que se cumpla una condición.
while
En este caso estará ejecutándose el código hasta que la condición se vuelva "FALSE" son muy
útiles cuando queremos esperar a que "ocurra" algo antes de seguir ejecutando más programa,
típicamente esperar a que un botón sea pulsado para empezar a funcionar, por ejemplo:
byte estadoBoton
while(estadoBoton
ParpadeoLED();
estadoBoton
}
Un error común con los bucles "while" es no actualizar el estado de la variable usada en la
condición dentro del propio "while" dando lugar a bucles infinitos (es decir un bucle que nunca
termina y por lo tanto bloqueando el resto del código).
for
Pese a que el funcionamiento es similar al "while", el "for" se usa habitualmente cuando
queremos repetir 'n' veces una porción de código, ya que este tipo de bucle tiene 3 "parámetros" de
inicialización: inicialización, comparación e incremento:
Variable/s: Aquí se inicializa la variable que cambia en cada iteración.
Comparación: Cada vez que sea "FALSE" volverá a ejecutarse el bucle, si la comparación
se volviese "TRUE" se terminaría la ejecución del bucle.
Incremento: Cuando la comparación fue "FALSE" se cambiará el valor de la variable inicial
(de esta forma, en algún momento la comparación se volverá verdadera).
En este ejemplo se mostrará por puerto serie 10 veces un texto:
Serial.print("Sé contar:
for (i=0; i<10; i++){
Serial.print(i);
if (i!=9) {
}
Serial.print(".");
Viéndose por consola: "Sé contar: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9." Nótese que la comparación se ha
hecho con el número 10, pero en realidad sólo se muestra hasta el número 9. Es un error muy
común con el bucle "for": cuando se cumpla la condición el código no se ejecuta. Para solucionar
la duda de si hay que poner 11 para que muestre el número 10 es más sencillo utilizar "<=" en lugar
del "<", de esta forma está contemplado el valor escrito.
Diableco.com
= digitalRead(pinBOTON);
!= 1){
= digitalRead(pinBOTON);
");
Serial.print(",
- 10 -
//Actualizar estado, importante
"); }
//Evita la última coma
Placa de desarrollo ArduPRENDE

Publicidad

Tabla de contenido
loading

Tabla de contenido