¿Vas a programar en Arduino? Todo lo que debes saber

La programación no se limita exclusivamente a crear programas de ordenador o páginas web. La programación de microcontroladores está también a la orden del día. Ya sea con microcontroladores como el ESP8266, con dispositivos como el Raspberry Pi, o como el mundialmente conocido Arduino, cualquiera en su cada puede crear sus propios proyectos electrónicos, ya sea por hobby, o para usarlos en su día a día y hacer que ciertas rutinas sean más sencillas. ¿Y necesito tener conocimientos avanzados de programación? Lo mejor de todo es que no.

¿Qué es Arduino?

Por un lado, Arduino es una compañía especializada en el desarrollo de hardware y software libre que lleva su nombre. Pero, cuando hacemos referencia a él, comúnmente nos referimos a las placas que podemos comprar, formadas por un microcontrolador (generalmente un AVR Atmel de 8 bits), una memoria y un sistema de almacenamiento con el que poder llevar a cabo cualquier proyecto. Las placas, normalmente, tienen también una serie de pines o conectores con los que podremos conectarlas a otros circuitos electrónicos más complejos para controlarlos.

Arduino UNO

Las placas más comunes que podemos encontrar en el mercado, y que cualquiera puede comprar para empezar a programar con ellas, son:

  • Galileo
  • Arduino Uno
  • Leonardo
  • Due
  • Yún
  • Tre
  • Arduino Zero
  • Arduino Micro
  • Esplora
  • Mega ADK
  • Ethernet
  • Mega 2560
  • Robot
  • Arduino Mini
  • Arduino Nano
  • LilyPad Arduino Simple/ SimpleSnap
  • LilyPad Arduino / Arduino USB
  • Arduino Pro / Pro Mini
  • Fio
  • MKR1000
  • Arduino MICRO
  • Arduino 101
  • Gemma

Además, existen distintos accesorios (shields) que podemos conectar a estas placas para dotarlas de más características y conexiones. Los más comunes son:

  • GSM Shield
  • Ethernet Shield
  • WiFi Shield
  • Wireless SD Shield
  • USB Host Shield
  • Motor Shield
  • Wireless Proto Shield
  • Proto Shield

También podemos encontrar varios kits que vienen con la placa microcontroladora y varios accesorios adicionales, comprar accesorios como una pantalla LCD o adaptadores USB, e incluso una impresora 3D controlada en su totalidad por este dispositivo.

¿Cómo se programa en Arduino?

Estas placas están basadas en un microcontrolador del tipo ATMEL, es decir, un controlador en el que podemos grabar instrucciones para que las ejecute sin necesidad de estar introduciendo los comandos a mano una y otra vez. Para escribir estas instrucciones es necesario usar un software llamado Arduino IDE, el Entorno de Desarrollo Integrado oficial que cuenta con todo lo necesario para poder dar forma a los programas que creamos para este dispositivo.

Aunque Arduino utiliza un lenguaje de programación propio, este está basado en C++. Por lo tanto, comparte las principales ventajas de este lenguaje de programación. Además, en las versiones más recientes del IDE, es posible incluso enviarle las instrucciones directamente en C++ sin tener que traducirlas a su propio lenguaje para programar esta placa.

Además de usar C++, el Arduino IDE también soporta otros lenguajes de programación alternativos, como es el caso de C (sin las extensiones de C++), Wiring (una plataforma de prototipado electrónico formada por un lenguaje de programación, un entorno de desarrollo integrado (IDE) y un microcontrolador), así como en Processing (un lenguaje de programación basado en Java, pero enfocado a placas electrónicas).

¿Cuál es el mejor de todos? Al final dependerá del usuario en cuestión. Si ya dominamos uno de los lenguajes anteriores, lo más cómodo y rápido será usarlo para mandar instrucciones a nuestra placa. Si no dominamos ninguno, y queremos empezar de cero, lo mejor es aprender el propio lenguaje de Arduino IDE.

IDE 2.0 (Arduino Pro)

En 2019, Arduino lanzó un nuevo IDE de programación bajo el nombre de «Arduino Pro IDE», el cual fue renombrado en 2021 por «IDE 2.0«. Este nuevo entorno de desarrollo sigue usando el clásico Arduino CLI, pero incluye una gran cantidad de mejoras y novedades de todo tipo para facilitar el desarrollo profesional de todo tipo de proyectos. Este nuevo IDE está basado en Eclipse Theia, y cuenta con características como, por ejemplo:

  • Es mucho más completo y moderno.
  • Tres modos de funcionamiento: Modo dual, modo clásico (idéntico al IDE clásico de Arduino) y modo profesional (vista del sistema de archivos).
  • Nuevo Board Manager.
  • Nuevo Library Manager.
  • Para placas ARM, auto-completado de Basic.
  • Integración con GIT.
  • Modo oscuro.

Este IDE se puede descargar igualmente desde la web de descargas de Arduino. Y, por supuesto, es totalmente gratuito y de código abierto.

Primeros pasos en la programación

Programar para Arduino no es muy diferente a hacerlo para cualquier otro microcontrolador, e incluso para hacerlo en cualquier lenguaje de programación. Simplemente debemos tener en cuenta las características especiales del IDE y del lenguaje que vamos a utilizar.

A grandes rasgos, la sintaxis es muy similar, como ya hemos explicado, a la de C++. Si ya conocemos este lenguaje de programación, seguramente nos hagamos muy rápido a los cambios que encontraremos para dar forma a este sistema. Mientras programamos en el IDE podemos añadir comentarios que nos ayudarán a entender mejor el código y, además, ayudarán a otras personas a entenderlo en caso de que lo compartamos. Igual que en otros lenguajes, cada sentencia debe acabar en una coma (,) o en punto y coma (;), ya que, de lo contrario, el compilador tratará todo como una misma sentencia y el compilador dará error.

Dentro de la sintaxis nos encontraremos con otro elemento muy importante: las variables. Estas se utilizarán para guardar distinta información en la memoria, acceder a ella cuando lo necesitemos, y podremos modificarla en función de las necesidades del programa.

Y también debemos tener en cuenta las funciones, o métodos. Especialmente aquellas que están relacionadas con la comunicación con los pines. Por ejemplo, una de las más básicas es «digitalWrite()«, la cual nos permite, mediante parámetros, activar o desactivar la corriente en un pin concreto.

digitalwrite arduino

Otras funciones esenciales para la programación son setup(), la función que se ejecutará en primer lugar nada más cargar la placa y que nos permitirá preparar el dispositivo para el programa que vamos a ejecutar, y la función loop(), función que se ejecutará una y otra vez para actualizar, por ejemplo, la información que se muestra en pantalla. Es recomendable tener cuidado con esta última, ya que el dispositivo quedará encerrado dentro de ella y podemos dar lugar a bucles infinitos.

Cuando tengamos el programa creado, gracias al Arduino IDE podremos compilarlo, o lo que es lo mismo, traducirlo a lenguaje máquina (un lenguaje de muy bajo nivel) para que se pueda ejecutar en el microcontrolador.

Aprender a programar con Arduino

Dentro de la programación de micro-controladores, Arduino es una de las plataformas más accesibles y versátiles con la que empezar. Además, la red está repleta de una gran cantidad de cursos de gran calidad con los que, incluso si no tenemos muchos conocimientos dentro de la programación, vamos a poder empezar a crear nuestros propios proyectos de forma muy rápida y sencilla.

El primero de los cursos que recomendamos para empezar es «Curso Arduino desde cero«, que podemos encontrar en YouTube. A lo largo de sus 74 capítulos de entre 15 y 20 minutos de duración cada uno podremos aprender desde lo básico hasta lo más avanzado.

Otro curso, para los que tengan prisa, que debemos revisar es el de «10 primeros pasos para programar arduino desde cero«, un curso rápido e intensivo con el que, en tan solo 1 hora, podremos aprender desde qué es Arduino hasta cómo funcionan las principales funciones, las variables, los bucles, y hasta usar librerías.

Por último, si no tenemos miedo al inglés, otro curso al que podemos recurrir para aprender a programar este dispositivo es Arduino 101 – Learn Arduino For Beginners. De forma parecida a los anteriores, empezaremos por lo básico hasta conocer a fondo cómo funciona este dispositivo y aprender a crear programas complejos con él.

Por supuesto, también tenemos una gran cantidad de información y de recursos dentro de la propia web de Arduino. Si eres de los que les gusta más investigar y leer documentaciones antes que ver vídeos en YouTube, esta es la mejor fuente que encontrarás para aprender a programar en él.

Proyectos de Arduino

Cuando empezamos a dar los primeros con este dispositivo, lo primero que haremos será crear lo típico para irnos haciendo con el IDE, los métodos y su compilador. Por ejemplo, podremos crear sencillos contadores, un semáforo usando LEDs, y, en el caso más avanzado, incluso un reloj binario.

Una vez dominada la parte básica de la placa, entonces podemos ir a proyectos ya un poco más serios usando otros componentes adicionales. Por ejemplo, si conectamos una pantalla LCD al Arduino podremos crear nuestro propio reloj digital.

Por último, cuando ya dominemos este dispositivo, podremos crear todo tipo de proyectos, desde los más básicos y sencillos hasta proyectos de lo más interesantes como máquinas expendedoras, y hasta un robot BB8 controlado desde nuestro móvil.

Las posibilidades son infinitas. Gracias a Arduino vamos a poder automatizar nuestro hogar de forma muy sencilla y barata, o llevar a cabo cualquier trabajo o proyecto que deba ser ejecutado por una máquina. El límite lo pone tu imaginación.

¡Sé el primero en comentar!