Publicado el Deja un comentario

17. Mis primeras funciones Arduino

¿Qué es una función?

Una función en Wiring es un conjunto de líneas de código con un nombre que las define, se pueden invocar desde cualquier parte del bucle principal de Arduino o desde otras funciones. Además, una función puede tener una serie indefinida de argumentos de entrada y opcionalmente puede devolvernos un valor después de su ejecución.

Genéricamente, las funciones son un elemento imprescindible de cualquier lenguaje de programación, y Wiring no es una excepción. Estas nos ahorran mucho trabajo a la hora de escribir código, pues el código que escribamos en una función es “reciclable” y lo podemos emplear tantas veces como queramos en nuestros sketches. Y los argumentos de entrada los podemos modificar al invocarlas.

En nuestros primeros sketches emplearemos tres funciones del lenguaje Wiring que veremos hoy. Hasta dentro de dos días no las usaremos, pero aquí vamos a adelantar su funcionamiento.

Antes de empezar a tratarlas, hay un par de cosas que debes de saber sobre las funciones:

  • Se deben escribir exactamente como se están descritas, con sus mayúsculas y minúsculas en su sitio exacto
  • El nombre de la función no puede tener espacios, pero sí guiones medios “” o bajos “_“.
  • Todas las funciones llevan después de su nombre un paréntesis abierto y otro cerrado
  • Dentro de esos paréntesis puede no haber nada, y escribiremos los paréntesis seguidos uno de otro “()“, o una serie de argumentos con un significado diferente en cada función, ya lo veremos
  • Las funciones, así como casi todas las líneas de código, deben terminar en punto y coma “;

Veamos estas tres funciones…

delay (mseg)

  • Pone a Arduino en estado de espera sin realizar ninguna acción
  • Entradas: Tiene un solo argumento de entrada “mseg“, es un valor entero que indica los milisegundos que va a estar Arduino parado
  • Salida: No tiene ningún valor de salida

pinMode (pin, modo)

  • Pone un Pin digital de Arduino en modo entrada (para recibir un valor) o salida (para activar un dispositivo)
  • Entradas: Tiene dos solo argumentos, el primero es el pin que vamos a modificar su estado (entero entre 0 y 13) y el estado INPUT o OUTPUT que le vamos a dar:
    • OUTPUT: modo salida (usaremos la función digitalWrite)
    • INPUT: modo entrada (usaremos la función digitalRead)
  • Salida: No tiene ningún valor de salida

digitalWrite (pin, estado)

  • Pone un Pin digital de Arduino, que previamente estará en modo OUTPUT, con un valor HIGH (activado) o LOW (desactivado)
  • Entradas: Tiene sólo dos argumentos, el primero es el pin que vamos a modificar su modo, y el segundo al estado HIGH o LOW
  • Salida: No tiene ningún valor de salida

Ejercicio que no hace nada

Vamos a cargar el IDE de Arduino, y sabes que se abrirá con el sketch de 9 líneas visto ayer que no hace absolutamente nada, pero es un código correcto.

Lo único que podemos hacer con este código es compilar y comprobar que no tiene ningún error de sintaxis, para ello tenemos dos botones que puedes probar ahora, limítate a pulsar primero el botón Veríficar (observa qué sucede en la pantalla mientras compila) y pasados unos segundos el botón Subir:

· Botón Verificar: Compila el código para verificar que es correcto

· Botón Subir: Transmite el código del ordenador a la placa Arduino

Si todo ha ido bien, acabas de cargar tu Arduino con tu primer código que no hace nada, eso buscábamos.