Si llegaste aquí es porque tu aventura con los microcontroladores va en serio y estás considerando una interfaz más completa que nuestro querido editor de Arduino.
Si has usando PlatformIO con Visual Studio Code y te preguntas si es el único IDE soportado, de hecho hay más opciones, nuestra favorita: Qt Creator.
Si además desarrollas en distintas familias de microcontroladores: AVR, ESP, ST, etc. y quieres programarlas todas en un mismo entorno de desarrollo, este es tu post.
Al final de este post podrás compilar el mundialmente famoso Blink usando QtCreator y PlatofomIO.
QtCreator es un editor de código y creación de interfaces gráficas con el que podemos hacer aplicaciones que corren tanto en GNU/Linux como Windows o Mac, prácticamente sin hacer modificaciones al código.
Entre las funciones más útiles y que más se echan de menos en el editor básico de Arduino, está el autocompletado, la navegación a variables y funciones con Ctrl+Clic, el renombrado en masa de variables y otros símbolos, entre otras.
QtCreator tiene una licencia dual, esto es, puede comprarse para proyectos comerciales o usar la versión gratuita para proyectos Open Source.
Desde 2013 es nuestra opción predilecta para desarrollo de programas en C++, especialmente si es necesaria una interfaz gráfica, por ejemplo el monitor serial del Sistema Isiukak.
Recomendamos usar PlatformIO con Qt Creator especialmente en la siguientes situaciones:
Cómo instalar QtCreator en Ubuntu
Vale también para Linux Mint y otras distros basadas en Debian.
El primer paso es instalar PlarformIO Core, que invocaremos desde QtCreator para compilar y grabar el código en la tarjeta.
La forma más sencilla es instalarlo con un script. - Descarga este script
# Cambia al directorio donde lo descargaste
cd /directorio/donde/descargaste/get-platformio.py
# Y ejecútalo
python get-platformio.py
Para confirmar que PlatformIO se instaló correctamente, abre una terminal o símbolo del sistema y ejecuta el comando
platformio --version
O bien:
pio --version
En cualquiera de los casos debe mostrarnos un mensaje semejante a
PlatformIO Core, version 6.1.1
Una vez confirmado que PlatformIO Core está instalado y el sistema puede localizarlo correctamente, crearemos un proyecto para editarlo con Qt Creator
pio project init --ide qtcreator --board <ID>
# Por ejemplo, generar un proyecto para una Arduino UNO
pio project init --ide qtcreator --board uno
Esto generará la siguientes estructura de archivos
En la carpeta src irán nuestros archivos de código fuente (.c, .cpp, *.ino, etc.)
platformio.creator Es el archivo de un proyecto genérico en QtCreator
platformio.ini Es el archivo de configuración de PlatformIO.
El siguiente paso es importar el proyecto en Qt Creator y agregar el código fuente.
Podemos abrir Qt Creator e importar el proyecto con File > Open File or Project
y navegar al archivo platformio.creator
o sencillamente hacer Clic derecho
en platformio.creator
y Abrir con Qt Creator
En cualquier caso deberá aparecer la interfaz de Qt Creator.
En la carpeta del proyecto damos Clic derecho > Add new > C++ Source File
.
En la ventana siguiente definimos el nombre del archivo y dónde queremos colocarlo
main.cpp
/ruta/al/directorio/proyectoPIO/src
El archivo cpp debe incluirse en el directorio src.
En la ventana Summary clic en Finish.
Y tenemos nuestro proyecto con un archivo vacío, en el que agregamos el siguiente código de prueba.
#include <Arduino.h>
int pinLED = 13;
void setup()
{
pinMode(pinLED, OUTPUT);
}
void loop()
{
digitalWrite(pinLED, HIGH);
delay(1000);
digitalWrite(pinLED, LOW);
delay(1000);
}
NOTA: Es necesario incluir el archivo de encabezado Arduino.h en nuestros proyectos de PlatformIO, de otra forma al compilar nos mostrará errores del tipo: 'OUTPUT' no fue declarado en este ámbito
.
NOTA: Este paso sólo es necesario la primera vez que compilamos el proyecto.
En la sección Projects
de la barra lateral izquierda ir Build & Run > Build
platformio.ini
El resto de los campos quedan igual, pues junto con el archivo platformio.ini hay un archivo Makefile que le indica a QtCreator cómo compilar con PlatformIO.
Si todo salió bien, al dar clic en Build (el martillo debajo de los símbolos de play), en la pestaña Compile Output
nos mostrará los detalles de la compilación.
Ya tenemos nuestro código compilado, sólo falta grabarlo en el microcontrolador.
En la sección Projects
de la barra lateral izquierda ir Build & Run > Run
Donde agregaremos un proceso de "Deploy" o subida a la tarjeta.
Add Deploy Step > Custom Process Step
platformio
run --target upload
%{buildDir}
Adicionalmente podemos definir un ejecutable en la sección Run, por ejemplo, en esa sección podemos ejecutar el monitor serial de PlatformIO para revisar lo que esté enviando nuestra tarjeta por el puerto serial.
platformio
device monitor
%{buildDir}
La sección Run debería lucir así:
Y ahora al dar clic en el botón Run
después de compilar, en la sección Compile output veremos detalles de la programación en la tarjeta o Deploy.
Y nuestro Arduino UNO comenzará a hacer su mundialmente conocido blink.
Adicionalmente se abrirá una terminal con el Monitor serial de PlatformIO, en la que podrás ver los mensajes enviados con Serial.print
y println
Fin de la misión. Hemos configurado exitosamente Qt Creator para compilar nuestro código con PlatformIO.
PD: La configuración de Deploy y Run puede simplificarse si agregamos algunas reglas a nuestro Makefile, como veremos en un post futuro.
Cómo programar Arduino con VS Code y PlatformIO,