Es una herramienta muy útil para repetir un bloque de código al menos una vez y luego seguir repitiéndolo mientras se cumple una cierta condición.
Imaginemos que estámos programando un robot para que siga una línea en el suelo. Necesitamos decirle al robot: "Si ves la línea negra, avanza. Si no la ves, gira a la derecha". Esto es exactamente lo que hace "if...else" en Arduino.
Imaginemos que tienemos un robot al que quieremos dar una serie de instrucciones repetidas, como "enciende la luz", "apaga la luz", "espera un segundo". Si quieremos que el robot haga esto 10 veces, ¿escribiríamos las instrucciones 10 veces seguidas? ¡Qué aburrido!
Para eso existe "for". Es como un bucle que le dice al robot: "Repite estas instrucciones tantas veces".
Imaginemos que tienemos un robot al que le das órdenes. Quieremos que el robot haga algo una y otra vez, pero solo mientras se cumpla una condición. Para eso sirve"while".
"while" es una orden que le dice al robot: "Mientras esta condición sea verdadera, sigue haciendo esto".