Llévate los mejores 📘EBOOKS📘 ➡ ENTRA AQUÍ

¿Qué son las funciones en Arduino y cómo utilizarlas al programar? Guía paso a paso

publicidad

Las funciones de Arduino son las principales herramientas que debes usar al programar una placa. Para ello, es útil conocer algunos aspectos para que este grupo de códigos funcione de forma correcta.

Si quieres saber cómo se hace, será necesario que continúes leyendo. Te explicaremos para qué sirven las funciones en la programación de hardware libre y los usos que le puedes dar a las funciones dentro de Arduino.

Pero esto no es todo lo que podrás leer. Te diremos cómo se compone este segmento del código y el paso a paso que debes hacer para usar una función de forma correcta.

publicidad

¿Qué son las funciones en Arduino y para qué sirven en la programación de hardware libre?

¿Qué son las funciones en Arduino y para qué sirven en la programación de hardware libre?

publicidad

Para que un proyecto de Arduino se complete, es necesario unir todos los componentes o hardware a la placa y luego realizar la programación. Para esto último, se utiliza el entorno IDE Arduino, el cual trabaja con algunos criterios que deben ser tenidos en cuenta para conseguir el éxito en el desarrollo del programa.

Cuando se abre el entorno de desarrollo integrado se ve lo siguiente: 

void setup() {

// ponga su código de configuración aquí, para que se ejecute una vez:

}

void loop() {

// ponga su código de configuración aquí, para que se ejecute una vez:

}

Siendo, void setup() la función en donde se escriben los ajustes principales del programa y void loop() la función que contendrá los comandos necesarios para que se ejecuten en el Arduino cuando la placa esté disponible. De lo anterior se desprende el concepto de qué es una función en Arduino. Podemos decir entonces que es un bloque de códigos que contiene el programa para llevar adelante las instrucciones que debe realizar la placa.

De esta manera es viable incluir tareas repetitivas de forma separada, en las cuales también es posible dividirlas por módulos para obtener una mejor administración y orden dentro del programa. Una función debe ir acompañada de parámetros, los cuales son variables que se utilizan para definir los límites y establecer los criterios que debe considerar la herramienta principal para aplicar la acción que realizará la función.

Recomendado para ti:
¿Cómo poner superíndices en un documento de Microsoft Word? Guía paso a paso

Por lo tanto, la sintaxis de una función es: 

  • nombreFunción(parámetros);

¿Cuáles son los beneficios y utilidades de utilizar funciones al programar en Arduino?

¿Cuáles son los beneficios y utilidades de utilizar funciones al programar en Arduino?

Cuando utilizas las funciones al programar Arduino en el IDE obtendrás los siguientes beneficios: 

  • La función puede ser creada una sola vez, por lo que no es necesario programar siempre la misma tarea dentro del software cuando se necesite que Arduino realice una determinada acción.
  • Al poder utilizar la misma función para las tareas repetitivas, el programa resulta más pequeño. Esto logra actividad y mejora la eficiencia de la placa teniendo en cuenta el microprocesador.
  • De lo anterior se desprende que, con el uso de la función, tendrás una herramienta que te ayudará a administrar mejor la programación de la placa.
  • Al permitir una mejor administración del programa, beneficia el entendimiento del desarrollo general por parte del operador del IDE.
  • Si por algún motivo necesitas modificar el código de la función, deberás editar solo un grupo de comandos y no todo el programa. Esto disminuye la probabilidad de cometer errores.
  • Cuando necesites agregar alguna ramificación o tarea extra a una función lo podrás hacer por medio del módulo. También tendrás como ventaja, que cuando quieras eliminar alguna tarea extra solo deberás mover el grupo de códigos de la función y no todo el programa.
  • Al tener funciones repetidas harás el bosquejo del IDE sea más pequeño lo cual generará una lectura mucho más fácil de los códigos de la programación.
  • Cuando conoces que los códigos dentro de las funciones están bien desarrollados, los podrás usar en otros proyectos de Arduino con solo copiar y pegar.
  • Al ser llamadas por nombres permite encontrar con facilidad los errores y los lugares que se deben editar para mejorar las acciones de la placa.

Anatomía de una Función de Arduino ¿Cuáles son todas las partes de este segmento de código?

Anatomía de una Función de Arduino ¿Cuáles son todas las partes de este segmento de código?

Como te dijimos antes, el programa hace correr las funciones void setup() y void loop(), por lo que es posible agregar más funciones. Pero hay que tener en cuenta que estas herramientas deben obedecer a un criterio a seguir, el cual debe cumplir con cada una de las partes de la función.

La anatomía de una función de Arduino es: 

  • Lo primero que hay que establecer es el tipo de dato que se necesita que regrese el valor. En este caso se puede utilizar void, string, int, double, short y más.
  • Luego hay que escribir el nombre de la función. En este punto es importante aclarar que, por lo general, el nombre debe ser escrito en minúsculas y si se necesita incluir dos o más palabras, tienen que estar separadas por un guion bajo. Por ejemplo, internet_pap. Hay que tener presente y las funciones deben estar incluidas dentro del mismo fichero con extensión Arduino (.ino) o en otro, pero en el interior de igual bosquejo o sketch. Tampoco se puede usar palabras que están reservadas para el lenguaje de programación.
  • A continuación, tendrás que escribir el parámetro. Esta herramienta sirve para indicar la tarea que debe realizar la función. En caso de no usar ningún parámetro se deja vacío este lugar.
  • Una vez aclarado el tipo de tarea y en donde realizarlo es el momento de incorporar el código del programa, lo cual es el espíritu del desarrollo y es el elemento que lo hace distinguir de otros proyectos. Los códigos se escriben entre llaves en cada línea que se termina de desarrollar debe ir separada por un punto y coma.
  • Lo último que quedaría de la anatomía de la función es el retorno. Se tiene que escribir “return” para que regrese el valor de la función.
Recomendado para ti:
¿Cuáles son los mejores Retos o Challenges más populares de TikTok hasta la fecha? Lista [year]

Un ejemplo de lo anterior es:

void setup() {

inMode(pin, OUTPUT); // Establece 'pin' como salida

}

void loop() { // Aquí comienza la función

digitalWrite(pin, HIGH); // Activa 'pin'

delay(1000); // Pausa un segundo

digitalWrite(pin, LOW); // Desactiva 'pin'

delay(1000);

} // Con esta llave termina la función

Aprende paso a paso cómo utilizar una función al programar hardware libre en Arduino desde cero

Para utilizar una función desde cero en Arduino vas a tener que seguir este paso a paso para no cometer errores:

Determina las acciones que hará el Arduino

Lo primero que tendrás que hacer es decidir qué clase de trabajo realizará la placa en tu proyecto. De esto saldrá el tipo de función que utilizarás, ya que no es lo mismo una herramienta digital (por ejemplo, pinMode y digitalWrite) o una de tiempo (digitalWrite), entre otras. Lo que tomaremos como modelo para ilustrar los pasos del uso de una función, la construcción de un sensor de estacionamiento. Para ello, vas a necesitar un sensor ultrasónico de medición que te ayudará a detectar la distancia que hay con objetos cercanos.

Establece los nombres a los pines de la placa

El siguiente paso es declarar el nombre que tendrá cada entrada que utilizarás del Arduino. Luego de esto tendrás que indicar en el grupo de comandos void setup() los pines de entrada y de salida.

Ingresa la función void loop()

Ingresa la función void loop() 

publicidad


"ACTUALIZADO ✅ ¿Quieres conoce cuáles son las funciones en Arduino y cómo utilizarlas bien? ⭐ ENTRA AQUÍ ⭐ y Aprende Todo ¡Desde Cero!"
publicidad
publicidad

Para el trabajo que estás realizando vas a declarar la función int para llamar al sensor y usarás los valores para establecer los parámetros.

Por lo tanto, el ejemplo quedará de la siguiente manera: 

// Modelo de códigos para un sensor de estacionamiento

int IPAP = 8;

int WEBSITE = 0;

void setup() {

begin(9600);

pinMode (IPAP, INPUT);

pinMode (WEBSITE, OUTPUT);

}

void loop()

{

}

int sensor(int valor) {

}

Crea la lectura del sensor

Ahora vas a tener que copiar el código dentro de la función que denominaste sensor. Luego tendrás que asignar una variable que puedes llamar distancia para que el sensor establezca la unidad de medida de longitud que será enviada desde el grupo void loop().

Recomendado para ti:
¿Cómo cerrar o apagar el PC con Windows de forma correcta? Guía paso a paso

Establece el retorno

Tendrás que incluir la variable return y asignarla como la distancia. Esto servirá para que el sensor devuelva un valor y pueda accionar los resultados de los códigos establecidos. Cuando tengas listo esta parte deberás elegir una variable para dividir la unidad (en este ejemplo se tomará el número 10, pero también se puede incluir cualquier otra métrica). A esto último le pondremos como nombre divisor (div). Por lo que, el divisor (que es igual a 100) se expresará como int dis= sensor (divisor).

Incluye los valores de lectura

Lo que te queda por hacer es armar una función que permita conocer a través de un período los valores que aparecerán en el monitor. Se puede utilizar Serial.println (dis) con un retraso de un segundo delay(1000).

Por lo tanto, el ejemplo del sensor quedará: 

// Modelo de códigos para un sensor de estacionamiento

int IPAP = 8;

int WEBSITE = 0;

void setup() {

begin(9600);

pinMode (IPAP, INPUT);

pinMode (WEBSITE, OUTPUT);

}

void loop()

{

}

int sensor(int valor) {

}

void loop(){

int divisor= 10;

int dis = sensor(divisor);

println (dis);

delay(1000);

}

int sensor (int valor)

{

digitalWrite (IPAP, LOW);

delayMicroseconds (2);

digitalWrite (IPAP, HIGH);

delayMicroseconds (10);

digitalWrite (IPAP, LOW);

int distancia = pulseIn(IPAP, HIGH);

distancia = distancia/valor;

return distancia;

}

Conoce las funciones más útiles que puedes aplicar al trabajar la programación en Arduino

Entre las funciones más útiles que puedes usar en la programación de tu placa Arduino se encuentran las siguientes:

digitalRead()

digitalRead()

Esta función te permitirá leer el valor de un pin digital determinado, su devolución puede ser HIGH (alto) o LOW (bajo). La sintaxis de esta herramienta es digitalRead(pin), en donde pin es el número asignado en la placa de Arduino a la entrada digital.

Por ejemplo, si deseas que el pin 13 sea considerado de salida al igual que el pin de entrada 7, entonces deberás escribir:

int ledPin = 13; // LED conectado al pin digital 13

int inPin = 7; // pulsador conectado al pin digital 7

int val = 0; // variable para almacenar el valor leído

configuración vacía ()

{

pinMode (ledPin, SALIDA); // establece el pin digital 13 como salida

pinMode (inPin, INPUT); // establece el pin digital 7 como entrada

}

bucle vacío ()

{

val = digitalRead (inPin); // lee el pin de entrada

digitalWrite (ledPin, val); // establece el LED al valor del botón

}

delay()

Dentro de las funciones más útiles y usadas se encuentra delay(). Esta herramienta permite pausar el programa por un tiempo que debe establecer el programador, siempre se considera en unidad de medida de milisegundos. Es decir, 1000 milisegundos equivaldrán a un segundo. La estructura de esta función es delay(ms), en la cual ms es la cantidad de milisegundos que se desea retardar el proceso.

Recomendado para ti:
¿Cómo saber que placa base tengo instalada en mi PC Windows? Guía paso a paso

Mira este ejemplo en el cual se desea que el pin de salida 13 espere 1 segundo antes de que se produzca la acción:

int ledPin = 13; // LED conectado al pin digital 13

void setup()

{

pinMode(ledPin, OUTPUT); // Establece el pin digital como salida

}

void loop()

{

digitalWrite(ledPin, HIGH); // Enciende el LED correspondiente

delay(1000); // Espera un segundo

digitalWrite(ledPin, LOW); // Apaga el LED

delay(1000); // Espera un segundo

}

attachInterrupt()

Esta función es un poco más completa de utilizar, ya que se necesitan de parámetros para qué se interrumpan los pines digitales. De esta manera es posible conectar la placa a un interruptor para qué realice el corte del proceso durante un tiempo determinado. Hay que tener presente que de acuerdo con la versión del Arduino deberás conectar en los distintos pines. Para hacer una rutina de servicio de interruptor de forma correcta, es necesario conocer su sintaxis. Ella es attachInterrupt(digitalPinToInterrupt(pin), ISR, mode).

En donde:

  • interrupt es el número de interrupciones que se desea.
  • pin es el número de pin asignado en la placa.
  • ISR es la rutina del servicio, es el ISR a llamar por parte del programa.
  • mode se usa en la sintaxis para definir el momento en que se activará la interrupción del servicio.

Un ejemplo de esta función es:

const byte ledPin = 13;

const byte interruptPin = 2;

volatile byte state = LOW;

void setup() {

pinMode(ledPin, OUTPUT);

pinMode(interruptPin, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);

}

void loop() {

digitalWrite(ledPin, state);

}

void blink() {

state = !state;

}
Ebooks de IPAP
Ebooks IPAP

Si te quedaste con alguna duda, déjalas en los comentarios, te contestaremos lo antes posible, además seguro que será de gran ayuda para más miembros de la comunidad. Gracias! 😉

Más Trucos y Consejos cada día ¡Apúntate Aquí!


He leído y acepto los términos y condiciones

Temas

Autor: Félix Albornoz

Llevo más de 20 años trabajando en el sector tecnológico ayudando a empresas y usuarios a desarrollarse y formarse en este campo. Siempre aprendiendo cosas nuevas.

Publicidad

Relacionadas

Populares

Deja un comentario

  ◀ Acepto los términos de privacidad