Funciones
Una función es simplemente un conjunto de instrucciones a las que damos un nombre, para no tener que repetirlas en diferentes partes del programa y para clarificar y ordenar el código. Al crear una función, se genera automáticamente un bloque de dicha función, que ya puede ser insertado en cualquier parte del programa.
Para ello, tenemos que usar el bloque “para” que encontramos en el apartado “Funciones” de ArduinoBlocks.
Primero tenemos que darle un nombre a la función, e incluir dentro de la misma, el conjunto de instrucciones que queremos que realice el robot cada vez que la usemos.
Por ejemplo, podemos definir una función con el nombre “Luz 1” cuya finalidad sea encender el led verde y apagar el amarillo y el rojo.
Si ahora vamos a la sección “Funciones” del panel izquierdo de ArduinoBlocks, encontraremos ya la nueva función creada, disponible para ser seleccionada e insertada en cualquier parte del código.
Es importante destacar que las funciones no se definen dentro del “Bucle”. Se crean fuera y luego se insertan dentro en los momentos en los que queramos que se ejecuten.
Cuando creamos un programa pequeño (de pocos bloques), no suele merecer la pena definir funciones, ya que ahorra mucho tiempo. Pero cuando realizamos programas más extensos o con partes iguales que se repiten, es una buena práctica hacer uso de ellas, tanto por comodidad, como por claridad del programa realizado.
#01 Juegos de luces
En el siguiente programa se definen tres funciones creando juegos de luces con los tres leds del 3dBot, y a continuación se realiza una secuenciación y repetición de estas.
- Las funciones, “Luz 1”, “Luz 2” y “Luz 3”, son:
Tras crear las funciones, ya podemos encontrarlas en el apartado “Funciones”, como bloque, para ensertarlas en el “Bucle”:
Y la “Inicialización” y el “Bucle” quedan:
El programa completo queda de la siguiente forma:
Podéis probar a crear más funciones, insertarlas en diferente orden, cambiar los tiempos, etc.
#02 Juegos de luces con sonido
Siguiendo el programa anterior, vamos a añadir unos “ruiditos” en las funciones, con el bloque “Zumbador”. Para que siga a la misma velocidad, ahora quitamos los tiempos de espera en el bucle, ya que el zumbador ya inclye ese tiempo de espera.
Igual que en el caso anterior, podéis probar a cambiar los tiempos, el tono, el orden de las funciones…