En este momento estás viendo Creación y uso de funciones en Arduino

Creación y uso de funciones en Arduino

¿Cómo creamos una función en Arduino?

Una función es un conjunto de instrucciones al que se les identifica con un nombre. Usando posteriormente ese nombre, podemos llamar a la función para que ejecute las instrucciones incluidas dentro de ella, simplemente escribiendo su nombre en el lugar deseado de nuestro sketch.

Para crear una función propia, primero debemos declararla. Esto se hace en cualquier lugar fuera de setup() y loop(), antes o después. Una función puede o no retornar valores, y también puede o no recibir parámetros, esto se hace siguiendo la sintaxis marcada por la plantilla siguiente:

tipodeRetorno nombredeFuncion (tipodeparam1, tipodeparam2,...) {
// Código interno de la función
}

donde
tipodeRetorno: Indica el tipo de valor que la función devolverá al sketch principal una vez ejecutada.
nombredefuncion: Es el nombre que le damos a la función
tipodeparam: son las declaraciones de los parámetros de la función, que no son más que  variables internas cuya existencia solo perdura mientras el código de esta se esté ejecutando.

Ejemplo 1

void blinkLED() {    //Se declara la función, esta no devuelve ningún valor ni recibe parámetros
digitalWrite(13, HIGH);  //Se enciende el led en el pin 13
delay(100);  //Se espera 0,1 segundos
digitalWrite(13, LOW);  //Se apaga el led en el pin 13
delay(100);  //Se espera 0,1 segundos
}
void setup(){
pinMode(13,OUTPUT);  //Se configura el pin 13 como salida
}
void loop(){
blinkLED();  //Se llama a la función
}

Ejemplo 2

int primerNumero=2;       //Declaro e inicializo una variable global
int segundoNumero=3;      //Declaro e inicializo una variable global
int recojoResultado;      // Declaro e inicializo una variable global

int multiplicar(int x, int y){  // Se declara la función, retorna un valor y recibe dos parámetros
int resultado;                  // Se declara la variable resultado, esta es interna de la función
resultado = x*y;             //Es la operación que realiza la función
return resultado;               //retorna el valor de la variable resultado
}

void setup(){
Serial.begin(9600);                  //Inicializo el Puerto serial
recojoResultado=multiplicar(primerNumero,segundoNumero);  //Llamo la función y tomo su valor de retorno
Serial.println(recojoResultado);    //Imprimo el resultado en el puerto serial
}

void loop(){}

Ejercicios

Para realizar los ejercicios podemos usar el siguiente circuito:

 Ejercicio 1: Modificar función

Modificar la función blinkLED del ejemplo 1, para que podamos indicarle el tiempo en alto y en bajo que deseemos, como parámetros de la función.

 Ejercicio 2: Leer valor analógico

Crear una función que lea el valor del potenciómetro 5 veces y devuelva el promedio de las 5 lecturas.

 Ejercicio 3: Leer valor analógico y encender LEDs

Modificar la función del ejercicio 2 para que adicionalmente encienda un led con el valor proporcional al valor leído del potenciómetro.

Ejercicio 4: Crear una función que lea del puerto Serial

Crear una función que lea tres valores enteros del puerto serial y los sume, esta función debe retornar el valor de la suma después de leídos los tres valores.

Y con los ejercicios hemos culminado la lección, espero te allá sido de provecho.

Y si aun no te has suscrito a nuestro boletín? Suscríbete y te mantendré informado de  la ultimas publicaciones y entregas especiales. Y si tienes alguna pregunta o comentario acerca del post no dudes en hacerla.

Deja una respuesta