¿Qué es un bucle de control?
Un bucle de control es una parte del programa que se repite mientras se cumpla una condición. Por ejemplo, mientras llueva no saldré a la calle y leeré un buen libro. Existen varios tipos de bloque de control que nos serán útiles en distintas ocasiones. Vamos a aprender a utilizarlos. |
![]() |
El bucle Mientras
El bucle Mientras o While repite una serie de acciones mientras una condición sea verdadera. Cuando la condición deja de ser verdadera, el programa continuará con el siguiente bloque. Encontrarás el bloque en la pestaña Control.
¿Recuerdas mi problema con los cuadros? Bueno, he de confesarte otra cosa, no es mi único problema. En realidad no me gusta mucho la luz… ¡soy un vampiro! Adoro sobrevolar noches tormentosas buscando algo a lo que hincarle el diente. Mi problema es que soy muy despistado y muchas veces me sorprende el amanecer muy lejos de casa… Por ello he decidido crear un dispositivo que me avise cuando haya demasiada luz, así podré esconderme rápidamente. Usaré un sensor de luz y un zumbador a modo de alarma.
El programa será muy sencillo. Mientras la luz sea mayor que 100, el zumbador sonará cada medio segundo. En caso de que la luz sea menor, el zumbador dejará de sonar.
Puedes modificar el programa para que la sensibilidad de la alarma sea personalizable. Vamos a controlar la sensibilidad mediante el potenciómetro y el bloque mapear.
Declaramos una variable sensibilidad donde mapeamos entre 0 y 800. Si la luz es mayor que nuestra sensibilidad, el zumbador empezará a sonar. Como estamos dentro del bucle no pasaremos por la declaración de la variable, por lo que es importante volver a almacenar el valor del potenciómetro dentro del bucle o el zumbador sonaría indefinidamente.
El bucle Contar
El bucle Contar o For repite una serie de acciones un número concreto de veces.
Para utilizar el bloque For debemos configurar una serie de opciones. En primer lugar debemos seleccionar qué variable vamos a usar para realizar la cuenta. Dicha variable deberemos crearla previamente como una variable global. No te preocupes por su valor inicial, el bloque For cambiará dicho valor para realizar su cuenta. En segundo lugar debemos decir desde qué número hasta qué número queremos contar. Por último, selecciona si quieres que la cuenta la realice sumando, o al reves, restando.
Copia el programa de arriba y cárgalo en tu placa, ¿qué esta sucediendo? Si te das cuenta el LED parpadea cada vez más lento. Hemos creado la variable contador para utilizarla con el bucle. Tal como lo hemos configurado, el bucle for repetirá el parpadeo de 0 a 5000 veces. Lo más importante es que la variable contador, que también utilizamos en los bloques esperar, irá aumentando su valor en cada repetición, consiguiendo que el LED parpadee cada vez más lento.
Aún hay más
- A continuación te proponemos algunas ideas para seguir practicando:
- Crea una alarma de todo va bien, de forma que suene un pitido de forma ininterrumpida cada diez segundos indicando que todo va bien.
- Modifica el programa del bloque contar, de forma que con el bloque del zumbador avanzado toques distintas frecuencias entre 100 y 1000.
- Conecta a tu placa todos los LED que tengas por casa y colócalos en fila. Enciéndelos de uno en uno y a continuación apágalos. Modifica lo anterior para hacer distintos juegos de luces.
¿Aún tienes dudas con los bucles? Mira estos dos vídeos para practicar aún más.
Los bucles de control son, junto a las sentencias condicionales, fundamentales para conseguir programar cualquier cosa que te propongas. ¡Enhorabuena! ¡Empiezas a ser un gran programador!