Inicio » Programacion » Facilino » Facilino Tutorial » Instrucciones para el control de flujo en Facilino

Instrucciones para el control de flujo en Facilino

En esta entrada se explican el conjunto de instrucciones disponibles para el control de flujo de un programa en Facilino.

¿Qué es el control de flujo?

En los microcontroladores como Arduino, el flujo del programa, esto es el orden de ejecución de las instrucciones, es normalmente secuencial. Es decir, las instrucciones se ejecutan en el orden en el que aparecen. En Facilino, la «secuencialidad» se obtiene al apilar las instrucciones una detrás de otra. Afortunadamente, podemos modificar el  flujo de un programa mediante las instrucciones que alteran qué instrucción se ejecutará a continuación dadas determinadas condiciones.

Arduino dispone de dos funciones que deben estar siempre en todo programa para que compile adecuadamente. La función «setup» permite ejecutar código que queremos que se ejecute una sola vez al inicio, cuando arranca el microcontrolador. La función «loop» permite ejecutar código que queremos que se repita sucesivamente.

El control de flujo se puede realizar mediante bucles que nos permitirán repetir un conjunto de instrucciones hasta o mientras se cumpla una determinada condición o mediante instrucciones de salto condicional que nos permitirán ejecutar determinadas instrucciones sí y sólo sí se cumplen determinadas condiciones, de lo contrario no se ejecutarán.

Dentro de las instrucciones de control de flujo también están incluidas instrucciones que tienen que ver con la espera. Esto es así para asegurarse que ha transcurrido un determinado tiempo o condición hasta continuar con la siguiente instrucción.

Inicio/Repetir

Todo programa de Facilino deberá incorporar esta instrucción. El código que pongamos en el contenedor «Inicio» sólo se ejecutará una vez al inicio del programa, mientras que el código que pongamos en el contenedor «Repetir» se ejecutará repetidamente.

Bucles

Las instrucciones de bucle en Facilino permiten implementar bucles «while», «for» o «do… while» de Arduino. Este tipo de instrucciones os permitirán repetir determinado conjunto de instrucciones (las que pondremos dentro del contenedor de la instrucción) un número de veces. La diferencia entre la instrucción «while» y «do…while» es que en la primera se evalúa la condición y en caso de ser cierta entonces se ejecuta el código del contenedor, mientras que en la segunda, se ejecuta primero el código y luego se evalúa la condición para determinar si se debe repetir o no. Las instrucciones del tipo «for» permiten repetir un número de veces «pre-fijado» una tarea.

Los bucles pueden ser interrumpidos mediante la siguiente instrucción:

o también podemos «saltar» a la siguiente iteración del bucle con la siguiente instrucción (en determinadas ocasiones conviene no seguir ejecutando lo que queda de iteración y preferimos continuar con la siguiente iteración):

 

Salto condicional

Las instrucciones de salto condicional en Facilino permiten ejecutar unas instrucciones «si» se cumple la condición de entrada. Existen dos tipos de instrucciones correspondientes a las instrucciones «if» y «switch» en Arduino. La primera permite ejecutar una condición binaria y pueden agregarse casos de «en cambio, si» o «de lo contrario». La segunda instrucción permite evaluar un número/variable y según el valor del mismo, se ejecutará un caso u otro.

Esperas

Podemos realizar sencillas esperas de tiempo (en milisegundos) o a que se cumpla una determinada condición:

Además, podemos medir el tiempo actual desde que arrancó el programa de Arduino en milisegundos o microsegundos:

Ejemplo 1

En este ejemplo se generan números aleatorios comprendidos entre el 1 y el 20. Si el número es menor o igual a 15 entonces se muestra un mensaje indicando que se debe pulsar un botón (conectado al pin D2) y se vuelve a generar otro número aleatorio.

Ejemplo 2

En este ejemplo se generan temperaturas ficticias comprendidas entre 5ºC y 40ºC aleatoriamente. En función del valor de temperatura, se muestra un mensaje u otro, para indicar que la temperatura es demasiado alta, demasiado baja o por el contrario está perfecta.

Ejemplo 3

En este ejemplo se muestra cómo hacer parpadear un LED 10 veces.