Uso de funciones en Arduino

el uso de funciones es de gran importancia en Arduino y en cualquier lenguaje de programación. Las funciones son bloques de código que realizan operaciones específicas y brindan salidas por separado.

En un código para Arduino se pueden tener distintas funciones para por ejemplo, obtener datos de un sensor, establecer el estado de voltaje de un pin y otra para mostrar texto en una pantalla LCD.

¿Qué es una función?

Las funciones son bloques de código que tienen una entrada, ejecutan una acción y como resultado obtienen una salida:

Diagrama de función.png

Las entradas alimentan con datos la función, realiza diferentes operaciones y finalmente generan un resultado.

Consideremos la función x = y2 + 1:

Diagrama de función con formula.png

Si ingresamos y=3, la función realiza el cálculo y devuelve x=10:

Diagrama de función con fórmula y entrada Salida.png

Uso de funciones en la programación de Arduino

Cada función tiene un tipo de retorno. El tipo de retorno es el tipo de datos del valor devuelto por la función. Entonces, si la función devuelve un número entero, el tipo de retorno de la función se llama int:

int nuevaFuncion() {
}

Para las funciones que no devuelven ningún valor, el tipo de retorno se llama void:

void nuevaFuncion(){
}

El código de la función va entre llaves. Puedes usar cualquier código Arduino en una función:

void nuevaFuncion(){
// Código
}

El uso de una función en un programa se conoce como llamada de función o llamada de función. Para llamar a una función, se utiliza la siguiente sintaxis:

void loop(){
nuevaFuncion();
}

Aquí llamamos a la función nuevafuncion() en la sección de bucle, pero las funciones también se pueden llamar en la sección de configuración.

Proporcionar entrada a una función se denomina «pasarle un argumento».

Cuando pasamos argumentos a una función, le damos la entrada que necesita para realizar su tarea. por ejemplo, el lectorDigital() La función toma dos piezas de información: el número de pin y el modo:

lectorDigital(pin, mode);

pin y mode son los parámetros de la función.

Los parámetros son los tipos de datos que la función toma como entrada. Los argumentos son los valores reales que proporciona.

Por ejemplo, digamos que usamos la función lectorDigital() para establecer el pin 10 en alto:

lectorDigital(10, HIGH);

pin y mode son los parámetros, sin embargo 10 y HIGH son los argumentos de la función.

No todas las funciones toman parámetros. Algunas funciones como millis() La función devolverá un valor sin argumentos.

Ejemplo de uso de funciones en la programación de Arduino

Para que aprendas de forma más sencilla el uso de funciones en la programación de Arduino, revisa el siguiente ejemplo.

Queremos controlar el parpadeo de un LED, mediante una función que denominamos nuevaFuncion() la función tendrá como salida el parpadeo de un LED verde y un LED azul.

Diagrama del circuito:

LED parpadeante Función DIAGRAMA DE CABLEADO

Una vez conectado el circuito físico, este será el código para Arduino:

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
}

void loop() {
  blinkLED(9, 500);
  blinkLED(10, 1000);
}

void blinkLED(int pin, int duration) {
  digitalWrite(pin, HIGH);
  delay(duration);
  digitalWrite(pin, LOW);
  delay(duration);
}

En el bloque setup(), configuramos los pines 9 y 10 como salidas.

En el bloque loop() con nombre blinkLED() opera dos veces, una para cada pin LED.

Cada vez que se llama a la función, el Arduino ingresa a blinkLED()

La función se define con void blinkLED(int pin, int duration).

Se definen dos parámetros en el bloque de la función blinkLED()

La primera es una variable int llamada pin y una variable int llamada duration.

Los pin almacenarán el número de pin de Arduino ingresado como el primer argumento de la función blinkLED().

La variable duration almacenará la duración de los parpadeos del LED en milisegundos.

Este valor se establece en el segundo argumento de la función blinkLED().

Cuando la función blinkLED() es llamada en el bloque del loop(), el número 9 se almacenará en la variable pin y el número 500 se almacenará en la variable duration.

Al definir la función blinkLED(), escribimos numéricamente la variable pin como HIGH.

Luego se retrasa el tiempo almacenado en la variable duration.

A continuación se escribe en la variable pin LOW y se retrasa de nuevo durante el tiempo almacenado en la variable duration. Esto hará que el LED conectado al pin 9 parpadee cada 500 milisegundos.

Ahora que todo el código dentro del bloque de la función blinkLED() se ha ejecutado, el Arduino sale de la función y vuelve a la siguiente línea de código en el bloque del loop().

La siguiente línea de código en el bloque del loop() es la segunda función blinkLED().

Así que ahora 10 está almacenado en la variable pin y 1000 milisegundos se almacenan en la variable duration. Esto hace que el LED conectado al pin 10 parpadee cada 1000 milisegundos.

Espero que este artículo le brinde información sobre el uso de funciones en Arduino. Si tiene alguna pregunta sobre cualquier cosa, asegúrese de dejar un comentario a continuación e intentaremos responderla.

Deja un comentario

programar en arduino logo

En este sitio aprenderas a programar en Arduino de forma gratuita a través de sencillos tutoriales y distintos proyectos.