Para este ejemplo vamos a crear un proyecto de Arduino en Visual Studio Code utilizando PlatformIO es un proceso relativamente sencillo. Aquí te muestro los pasos básicos para hacerlo.
Alternativa a PlatformIO
Si no desea trabajar con PlatformIO para arduino, puede usar Usar del IDE para Arduino.
Instalar Visual Studio Code y PlatformIO
Este paso lo realizamos en el artículo Instalar y configurar platformIO, allí encontrará a detalle como instalar Visual Studio Code y PlatformIO.
Crear un nuevo proyecto
Abre Visual Studio Code y selecciona la opción "Nuevo Proyecto" desde el panel de PlatformIO en la barra lateral izquierda. Si no ves esta opción, también puedes usar el comando Ctrl+Alt+N
(o Cmd+Alt+N
en macOS) para abrir el asistente de creación de proyectos.
Esto nos abrirá la siguiente ventana donde realizamos los siguientes pasos:
-
Ingresamos el nombre del proyecto.
-
En el asistente de creación de proyectos, elige la opción "Arduino" y selecciona la placa que estás utilizando. PlatformIO admite una amplia gama de placas Arduino, así que elige la que corresponda a tu hardware.
-
Luego, elige el framework que deseas utilizar para tu proyecto Arduino. PlatformIO admite varios frameworks populares, como Arduino framework, Arduino ESP8266, Arduino ESP32, etc. Selecciona el que mejor se adapte a tus necesidades.
-
Especifica un nombre para tu proyecto y selecciona la ubicación en la que deseas que se cree. Por defecto, PlatformIO creará una carpeta con el nombre del proyecto en tu directorio de trabajo.
-
-
Una vez que hayas completado los pasos anteriores, haz clic en "Crear" o presiona Enter para que PlatformIO genere el proyecto.
Estructura de un proyecto de PlatformIO
Después de crear un proyecto con PlatformIO en Visual Studio Code, se generan varios directorios y archivos que son parte de la estructura básica del proyecto. A continuación, mencionamos cuales son esos directorios y archivos principales:
- src/: Este directorio es donde se encuentran los archivos de código fuente de tu proyecto. Por lo general, aquí es donde escribirás el código principal de tu aplicación. Por ejemplo, si estás desarrollando un proyecto de Arduino, es probable que coloques tus archivos .ino y .cpp en este directorio.
- lib/: Este directorio es donde puedes colocar tus propias bibliotecas de código fuente, si las tienes, o las bibliotecas de terceros que necesitas para tu proyecto. PlatformIO gestionará automáticamente las dependencias y las incluirá en la compilación.
- platformio.ini: Este archivo es el archivo de configuración principal de tu proyecto. Aquí es donde especificas las opciones de configuración, como la placa que estás utilizando, la velocidad de la CPU, las bibliotecas que necesitas, etc. Es un archivo de texto plano que se puede editar fácilmente con cualquier editor de texto.
- .vscode/: Este directorio contiene archivos de configuración específicos de Visual Studio Code para tu proyecto. Por lo general, no necesitas modificar estos archivos manualmente, ya que PlatformIO los gestionará automáticamente. Sin embargo, aquí es donde se almacenan las configuraciones de depuración, tareas personalizadas, ajustes de linting, etc.
- .gitignore: Este archivo es útil si estás utilizando Git para control de versiones en tu proyecto. Contiene una lista de archivos y directorios que Git debe ignorar al hacer commits y merges. Esto generalmente incluye archivos binarios generados por la compilación, archivos temporales y otros archivos que no son necesarios para el control de versiones.
El archivo platformio.ini
Es un archivo de configuración principal utilizado por PlatformIO para definir la configuración específica del proyecto. Aquí hay una descripción de las principales configuraciones que se pueden realizar en el archivo platformio.ini
:
-
[platform]: En esta sección, puedes especificar la plataforma para la que estás desarrollando. Por ejemplo, si estás trabajando con Arduino, podrías especificar
platform = atmelavr
para plataformas AVR oplatform = espressif32
para ESP32. -
[env]: Esta sección define las opciones de configuración específicas del entorno. Por ejemplo, puedes definir el tipo de tarjeta que estás utilizando (
board
), la velocidad del procesador (board_f_cpu
), el tamaño del búfer de serie (board_upload.bufsize
), entre otros. -
[env:tu_entorno]: Esta sección se utiliza para definir opciones de configuración específicas para un entorno particular. Por ejemplo, si tienes configuraciones diferentes para el desarrollo y la producción, puedes definirlas aquí.
-
[env:common]: Puedes usar esta sección para definir opciones de configuración comunes que se aplican a todos los entornos.
-
[env:tu_entorno_extra]: En esta sección, puedes definir opciones de configuración adicionales que deseas agregar para un entorno particular.
-
[env:upload]: Esta sección se utiliza para definir opciones de carga, como el puerto serial (
upload_port
), la velocidad de la serie (upload_speed
), el método de carga (upload_protocol
), entre otros. -
[env:monitor]: Aquí puedes configurar opciones para el monitor serial, como el puerto (
monitor_port
), la velocidad (monitor_speed
), el comportamiento de reinicio (monitor_rts
), etc. -
[env:test]: Esta sección se utiliza para configurar opciones relacionadas con las pruebas unitarias, como el marco de prueba (
test_ignore
), la ubicación de los archivos de prueba (test_dir
), etc.