Cómo programar Arduino a través de Visual Studio Code usando PlatformIO

Página de inicio de Platformio

A veces, programar en el IDE de Arduino simplemente no es suficiente. Piensa en todas las herramientas que le faltan: sin corrector ortográfico, sin carpetas, sin autocompletar. Claro, puedes programar Arduino en un editor y luego pegarlo en el IDE antes de subirlo. Pero PlatformIO te permite hacer eso sin tener que cambiar de ventana en absoluto.

Tabla de Contenidos

  • ¿Qué es PlatformIO?
  • Instalando PlatformIO
  • Programando con PlatformIO
  • Subiendo a Arduino
  • Preguntas Frecuentes

También lee: 10 útiles líneas de código en Python que debes conocer

¿Qué es PlatformIO?

PlatformIO es una extensión para Visual Studio Code que te permite ejecutar y depurar código para sistemas embebidos. Actualmente soporta 1,395 placas de desarrollo de todo tipo de fabricantes, permitiéndote usarlo para más que solo Arduino.

Comparar PlatformIO con el IDE de Arduino puede ser más como un “úsalo y lo sabrás”. En mi opinión, es definitivamente mejor porque puedes agregar más características, como mejores linters de C/C++, autocompletar e incluso soporte para MicroPython. También soporta Git, lo cual es bueno si trabajas en equipo.

Instalando PlatformIO

  1. En Visual Studio Code, haz clic en el botón de Extensiones en la bandeja izquierda o presiona Ctrl + Shift + X en el teclado.

  2. En la barra de búsqueda de extensiones, escribe platformio, luego haz clic en el resultado que dice “PlatformIO IDE”.

  3. Haz clic en el botón “Instalar” y espera hasta que termine la instalación.

  4. Cuando sea exitoso, el logo de PlatformIO debería aparecer en el área de la bandeja izquierda de Visual Studio Code. Presiona este logo cada vez que quieras usar PlatformIO.

Programando con PlatformIO

Comparado con el IDE de Arduino, programar con PlatformIO requiere algunos pasos adicionales. Para este ejemplo, usaremos un Arduino Uno y haremos que parpadee su LED interno.

  1. Presiona el ícono de PlatformIO en el área de la bandeja izquierda.

  2. Presiona Abrir.

  3. La página de inicio de PIO debería aparecer. Encontrarás una barra de acceso rápido a la derecha. Selecciona “Nuevo Proyecto”.

Acceso rápido de Platformio

  1. Debería aparecer un asistente de proyecto. Puedes escribir “PlatformIO Blink” en el cuadro de texto Nombre. Luego escribe o busca “Arduino Uno” en el menú desplegable de Placa y selecciona Arduino en el menú desplegable de Framework.

Asistente de Proyecto de Platformio

  1. Opcional: PlatformIO guarda automáticamente tus proyectos en su carpeta predeterminada (Documents\PlatformIO\Projects). Puedes desmarcar la casilla que dice “Usar ubicación predeterminada” y luego seleccionar o crear tu propia carpeta a través del explorador que aparece debajo.

Ubicación predeterminada desmarcada de Platformio

  1. Haz clic en “Finalizar” cuando hayas terminado. El proceso de inicialización puede tardar un poco la primera vez. También puede preguntarte si confías en los autores de los archivos en la carpeta. Si solo eres tú trabajando en tu propio proyecto, entonces haz clic en “Sí, confío en los autores”. De lo contrario, presiona “No, no confío en los autores”. Siempre puedes cambiar esa opción en otro momento.

¿Confías en este usuario de Platformio?

También lee: Cómo utilizar Python para tareas básicas de administración de sistemas Linux y redes

Encuentra dónde programar

Deberías estar listo para programar tu Arduino después de presionar ese botón. Para comenzar a programar, debes ir a “src -> main.cpp”. Esto abre un archivo con el siguiente código:

#include   
  
void setup(){  
// pon tu código de configuración aquí, para ejecutar una vez:  
}  
  
void loop(){  
// pon tu código principal aquí, para ejecutar repetidamente:  
}

¿Te suena familiar? Eso es lo que aparece en el IDE de Arduino tan pronto como lo abres. Solo hay una diferencia: dice #include en la línea 1.

La razón es simple. Ahora estás programando con C++ puro. PlatformIO muestra todas las cosas ocultas que nunca ves mientras usas el lenguaje de programación de Arduino. Esa es también la razón por la que puedes ver todas esas nuevas carpetas a la izquierda. Están ahí para que hagas cosas.

Por otro lado, el IDE de Arduino solo te permite programar placas Arduino con el lenguaje de programación de Arduino, que está basado en C++.

Con eso terminado, ¡hagamos que el Arduino parpadee su LED interno!

Código de Parpadeo

#include   
  
void setup(){  
// pon tu código de configuración aquí, para ejecutar una vez:  
  pinMode(LED_BUILTIN, OUTPUT);  
  Serial.begin(9600);  
}  
  
void loop(){  
// pon tu código principal aquí, para ejecutar repetidamente:  
  digitalWrite(LED_BUILTIN, HIGH);// enciende el LED.  
  delay(500);  
  digitalWrite(LED_BUILTIN, LOW);// apaga el LED.  
  delay(500);  
  Serial.println("Un ciclo de encendido y apagado del LED");// imprime un mensaje después de un ciclo de encendido y apagado del LED.  
}

Subiendo a Arduino

Al igual que en el IDE de Arduino, PlatformIO te permite construir o construir y subir tu programa de Arduino a tu placa. En la barra azul debajo de Visual Studio Code, deberías ver un ícono de verificación y una flecha junto al ícono de casa.

El ícono de verificación te permite construir tu código y ver si hay algún problema al convertirlo en código máquina. Mientras tanto, el ícono de flecha te permite construir tu código actual y luego subirlo directamente a tu placa (suponiendo que esté conectada a tu computadora).

Los siguientes dos botones te permiten eliminar la construcción guardada actual (ícono de papelera) de tu computadora y realizar una prueba unitaria (ícono de matraz) en tu placa.

Prueba un LED externo

Con eso fuera del camino, el LED incorporado de tu Arduino debería comenzar a parpadear una vez por segundo. Si realmente quieres verlo funcionar en un LED externo, entonces deberías intentar colocar un LED y una resistencia de 250 Ω entre el pin 13 y GND en serie.

Esquema de Arduino con LED externo

Usa el Monitor Serial

Un IDE para sistemas embebidos no es un IDE si no tiene un monitor serial. Presiona el ícono de enchufe para abrir el monitor serial. Se abrirá un nuevo proceso de terminal que te muestra lo que tu placa quiere decirte.

En este caso, nuestro código de Parpadeo debería hacer que el Arduino diga “Un ciclo de encendido y apagado del LED” en el monitor serial después de cada ciclo de parpadeo.

Monitor Serial de Platformio en Visual Studio Code

Preguntas Frecuentes

¿Cómo eliminas PlatformIO de Visual Code Studio?

Como cualquier otra extensión, solo tienes que ir a la pestaña de Extensiones en el área de la bandeja izquierda, hacer clic en PlatformIO IDE, y luego hacer clic en el botón de desinstalar.

¿Tiene sentido tener botones separados de Construir y Subir?

Aunque puede parecer redundante al principio, tener un botón de Construir que no sube el código a ningún lado ayuda mucho cuando estás experimentando con ciertas características de C++ que no estás seguro de que funcionen en un sistema embebido. Al final, depende de tu caso de uso. Eso, y la depuración temprana, ayuda a eliminar muchos errores no deseados a largo plazo.

¿Puedo usar PlatformIO para uso comercial?

Respuesta rápida: ¡sí!

Respuesta un poco más larga: Puedes programar Arduino y muchas otras placas con PlatformIO para tu negocio. Pero también ofrecen una solución IDE interna para empresas en PIO Labs.