Skip to content

¿Qué son los métodos en Arduino y cómo se invoca un método en Arduino?

En esta lección, vamos a ver qué es un método y cómo se declara en Arduino. Y es que los métodos son un concepto que también es muy importante para que puedas comprender lo que es un sketch basado en arduino, o para poder comprender cualquier sketch que veas que forme parte de cualquier proyecto.

Video sobre métodos en Arduino

Si no te gusta leer, a continuación tienes la clase en video, si al contrario, te gusta la lectura, puedes pasar a la zona de lectura.

Proyecto de Arduino en Tinkercad

Para llevar a cabo esta lección, vamos a iniciar con un proyecto que se encuentra en esta url. Esta url, en cuanto la pegues en tu navegador, te va a desplegar una página como la que vemos aquí. Lo que vas a hacer con tu cuenta es dar clic en este botón que dice copiar y modificar.

Y esto nos va a abrir lo que es el diseñador que vemos aquí con estos componentes que hemos ya prearmado, no te preocupes ahorita por lo que están haciendo estos componentes, en lo que nos vamos a enfocar es en esta sección que dice código.

Aquí he creado previamente lo que es un código de arduino, del cual tampoco tienes que preocuparte mucho. Nos vamos a centrar principalmente en los métodos setup y loop.

Pero antes de esto vamos a analizar acierta información que he escrito anteriormente. Esta es la lección de los métodos y Fíjate lo que dice: funcionalidades disponibles.

// Lección Métodos
/*

Funcionalidades disponibles:

1) inicializar

2) escribir
	- 1 cadena
    Ó
    - 1 número entero
    
3) posicionar
	- 1 punto x 
    Y
    - 1 punto y
    
4) borrar

5) esperar
	- 1 numero entero (segundos)
    
6) tocar
    

*/

Esto lo he creado yo para darte una mayor idea de qué es lo que puedes hacer con este sketch. Bueno antes de analizar esto que te he escrito. ¿Qué es un método?

Un método es una funcionalidad que podemos ejecutar, que alguien ha escrito previamente, ya sea nosotros mismos o alguna otra persona como algún otro Maker o bien, la misma gente del equipo de Arduino.

Entonces estás funcionalidades se refieren a lo que pueda ser el dispositivo al cual estés dando ciertas instrucciones, por ejemplo, en este caso las instrucciones van a estar dirigidas al Arduino, para que haga ciertas tarea, y en este sketch en específico tenemos 6 diferentes acciones:

  1. Inicializar los componentes
  2. Escribir una cadena ó número
  3. Posicionar el cursor en un punto X y un punto Y
  4. Borrar
  5. Esperar un intervalo de tiempo antes de la siguiente escritura
  6. Tocar la bocina que está integrada en el circuito

Todas estas acciones ya están programadas, pero corresponde a nosotros escribir cómo se van a ejecutar, por ejemplo, en primer lugar, tenemos que inicializar los componentes, por lo tanto, vamos a ir a nuestro método setup y vamos a comenzar escribir el nombre del método exactamente cómo aparece en el listado: “inicializar();”.

Podrías copiar y pegar este código, pero yo te recomiendo que escribas la funcionalidad para que vayas obteniendo experiencia con tu sketch. Entonces vamos a escribir inicializar();, como te dije anteriormente, tiene que ser escrito tal cual, no puedes tener por ejemplo INICIALIZAR(); ó por ejemplo Inicializar, tiene que estar todo en minúsculas.

Y una vez que hemos escrito la funcionalidad, que vamos a ejecutar. Tenemos que escribir un par de paréntesis. Siempre que invoquemos una funcionalidad, vamos a escribir un par de paréntesis y al final un punto y coma, quedando al final:

inicializar();

Cómo puedes recordar con las variables en Arduino, escribíamos el punto y coma, pero el caso de las funcionalidades tenemos que escribir un par de paréntesis, uno que abre y uno que cierra.

Como en nuestro documento descriptivo vemos que únicamente tenemos que escribir lo que es inicializar, ya tenemos lista la funcionalidad para llevar a cabo la configuración inicial de nuestro circuito.

Otra tarea que podemos realizar, es por ejemplo, escribir en el display. Siguiendo la lógica anterior, deberíamos poner algo como lo siguiente:

escribir();

Sin embargo, al tratar de ejecutar, esto nos marca lo que es un error.

Esto sucede, porque existen métodos que necesitan información para poder trabajar. Es como un carro que necesita gasolina para trabajar. En este caso, el método escribir, necesita saber, qué va a escribir. Esto es algo lógico, ya que si a tí te dicen “Escribe en un cuaderno”, tu pregunta sería, ¿Qué quieres que escriba? Bueno, pues algo similar está pasando aquí.

¿Cómo podemos decirle a nuestro método qué va a escribir? La solución, es enviar algo que se llama un parámetro. El parámetro que espera nuestro método, es una cadena de texto. Una cadena de texto, se representa ó se encierra entre comillas, para diferenciarla de otros tipos de datos, entonces, siempre que veas las comillas, debes saber que se trata de una cadena.

Vamos a proceder a escribir la cadena deseada, entre los paréntesis del método, de la siguiente forma:

escribir("Héctor");

Si iniciamos la simulación nuevamente, y no se despliega nada, no te preocupes, lo único que tienes que hacer para resolver este problema es mover la perilla, hasta la derecha.

Ya con esto, tendremos el nombre desplegado de una forma muy sencilla. Esto que hemos hecho, se llama invocar una función. Entonces hemos invocando primero una función llamada inicializar y posteriormente una función llamada escribir, que recibe un parámetro tipo cadena con un valor Héctor.

Detengamos la simulación, y si vamos a ver qué más podemos hacer, vemos que también podemos posicionar nuestro puntero para que empiece a escribir en cierto punto de nuestra pantalla LCD.

Esta Pantalla LCD, que por cierto vamos a ver más adelante en el curso, tiene 16 posiciones a lo largo y dos posiciones a lo ancho. Es decir, tenemos 16 columnas Y tenemos 2 filas, por lo tanto, podríamos especificar según la lista de arriba, un punto x para desplazarnos hasta cierta posición en las columnas, y un punto llegue para desplazarnos en la posición de las filas.

Vamos a probar este método también. Después de escribir la primer cadena, vamos a escribir “posicionar”, qué es el nombre de nuestra funcionalidad. Este método, recibe un parámetro o un dato del número en x, y también un dato del número y. Entonces vamos a escribir “posicionar”. Recuerda colocar los paréntesis y el punto y coma, y dentro, escribimos un valor para la coordenada x y un valor para la coordenada y, estos valores deben ser valores enteros. Vamos, entonces a indicar que deseamos desplazarnos hasta la posición número cinco en las columnas y a la fila número uno.

posicionar(5,1);

Y una vez que nos hemos posicionado, vamos a escribir otro mensaje, por ejemplo, vamos a cambiar la primer cadena por “Hola”, y la segunda cadena, va a decir algo como por ejemplo: Maker, quedando al final así:

escribir("Hola!");
posicionar(5,1);
escribir("Maker");

Si iniciamos la simulación, tendremos una salida como la de la imagen:

Otra de las cosas que podemos hacer, es borrar el texto de la pantalla. Para esto, tendríamos es que escribir:

borrar();

Si en dado caso quisiéramos esperar un tiempo antes de ejecutar una tarea, podríamos escribir la cantidad de segundos que queremos esperar, por ejemplo, si quisiéramos esperar 3 segundos, sería algo como:

esperar(3);

Y por último, tenemos un último método, que nos permite tocar la bocina, a través de:

tocar();