programar-arduino-con-atom-y-platformio-ide

Programar Arduino con Atom y PlatformIO IDE

En esta entrada vamos a ver como programar Arduino y otros muchos procesadores con el popular editor de texto Open Source Atom y el package PlaftormIO IDE, un entorno de programación especialmente diseñado para aplicaciones de IoT.

A estas alturas sabéis que somos muy fans de Arduino y todo el ecosistema que ha generado. Pero frecuentemente decimos que una de las partes más flojas es su IDE. Pese a sus múltiples actualizaciones sigue siendo muy limitado, y carece de la mayoría de funciones que podríamos esperar en un entorno de desarrollo actual.

En el blog ya hemos visto varias alternativas al IDE estándar de Arduino, como Programar Arduino con Eclipse, o El mejor IDE para Arduino, Visual Studio con Visual Micro. Esta vez le toca al turno a Atom + PlatformIO.

Atom es un editor de texto Open Source desarrollado por GitHub Inc, que recientemente ha alcanzado una gran popularidad. Esto es debido, entre otros motivos, a la enorme capacidad de personalización y ampliación a través de módulos.

Por su parte, PlatformIO es un entorno de desarrollo pensado para aplicaciones de IoT, que se ejecuta sobre el editor Atom o Microsoft Visual Studio Code. Es compatible con más de 400 placas de desarrollo, entre las que se incluye Arduino (AVR), ESP8266, STM32.

Instalar Atom

El primer paso es instalar el editor de texto Atom. La instalación es muy sencilla, simplemente entramos en la dirección https://atom.io/ y descargamos el instalador para nuestro sistema operativo.

atom-platformio-arduino-01

Ejecutamos el instalador y esperamos pacientemente a que se instale (puede ser un proceso un poco largo, tener paciencia).

atom-platformio-arduino-02

Instalar PlatformIO

Ahora vamos a instalar PlatformIO IDE en Atom. Para ello, arrancamos Atom y seleccionamos “Install a Package”, a continuación “Open Installer” y en el cuadro de texto escribimos “platformio-ide”.

atom-platformio-arduino-03

Nos saldran varios resultados en la búsqueda. Nos aseguramos de elegir correctamente el Package “platformio-ide”, y pulsamos en “Install”.

atom-platformio-arduino-04

Esperamos pacientemente a que se instale la PlatformIO IDE (tarda bastante). Durante la instalación un mensaje nos indicara que debemos instalar Clang, que permite disponer completado de código mientras escribimos.

atom-platformio-arduino-05

Dejamos el instalador de PlatformIO como está, y por otro lado descargamos Clang desde esta dirección y lo instalamos. En el proceso, nos aseguramos de seleccionar la opción”Añadir LLVM a system path”.

atom-platformio-arduino-07

Podemos continuar con la instalación de PlatformIO. Volvemos a Atom, y esperamos nuevamente el deshielo de los casquetes polares pacientemente ya que el proceso es algo largo.

atom-platformio-arduino-08

Una vez finalizado el proceso de instalación Atom nos indicará que debemos reiniciar el programa. Aceptamos, y cerramos Atom.

atom-platformio-arduino-09

¡Ya tenemos correctamente configurado Atom + PlatformIO!

Crear nuestro primer proyecto en PlatformIO

Vamos a probar nuestro nuevo entorno Atom + PlatformiIO IDE iniciando un nuevo proyecto, para asegurarnos de que está todo correctamente configurado.

Al abrir Atom, nos aparecerá una pestaña de PlatformIO. Seleccionamos “+ New Project”, para crear un nuevo proyecto de PlatformIO. Si en algún momento os pregunta si queréis registraros podéis hacerlo, o simplemente pulsar “Skip”.

atom-platformio-arduino-10

En la siguiente ventana, seleccionamos una tarjeta, y la carpeta donde queremos guardar el proyecto.

atom-platformio-arduino-11

Si todo ha salido bien, PlatformIO mostrará un mensaje indicando que la creación del proyecto se ha realizado con éxito.

atom-platformio-arduino-12

El proyecto tiene una estructura básica

  • platformio.ini, fichero que contiene la configuración del proyecto
  • src, carpeta donde ponemos nuestro código fuente
  • lib, carpeta donde añadir nuestras librerías propias

Para terminar, vamos a probar haciendo el programa “blink”, que como sabemos es el equivalente al “hola mundo” en Arduino, y que simplemente hace parpadear el LED que tienen integradas las mayorías de placas de desarrollo.

Para ello, creamos un archivo que contenga nuestro código haciendo click con el botón derecho encima de la carpeta “src”. Añadimos un nuevo archivo que llamaremos “blink.ino”

atom-platformio-arduino-13

En su interior pegamos el código del archiconocido blink, que simplemente hace parpadear el led integrado en la mayoría de placas Arduino.

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Ahora pulsamos en compilar y comprobamos que el trabajo termina correctamente. Finalmente, podemos subirlo a la placa pulsando el botón correspondiente.

atom-platformio-arduino-14

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github. github-full