Como usar o PlatformIO IDE para programação em Arduino

Como você talvez já tenha percebido, a IDE do Arduino pode não ser a melhor IDE para programação em Arduino quando se trata de produtividade; aqui apresentamos uma opção mais amigável para desenvolvimento! Programe o Wio Terminal e o Seeeduino XIAO no seu ambiente de desenvolvimento favorito usando o PlatformIO IDE no Microsoft Visual Studio Code!
O que é o PlatformIO

PlatformIO é uma ferramenta de IDE profissional multiplataforma, multi‑arquitetura e multi‑framework para engenheiros de sistemas embarcados e de software que escrevem aplicações embarcadas. Ao fornecer uma interface de IDE universal usando o PlatformIO, você consegue programar seu hardware de uma forma muito mais amigável ao desenvolvimento!
Neste wiki, você será capaz de configurar o PlatformIO para oferecer suporte ao Wio Terminal e ao Seeeduino XIAO para começar a programar!
Para mais informações, visite o PlatformIO
Primeiros passos com o PlatformIO IDE
O PlatformIO oferece suporte a alguns dos IDEs e editores de texto mais populares como plugins. Neste wiki, PlatformIO para VSCode é usado como exemplo.
Para outros IDEs, consulte o seguinte para referência:
PlatfromIO para VSCode
- ETAPA 1. Baixar o VSCode
Baixe e instale o Microsoft Visual Studio Code
- ETAPA 2. Baixar os plugins PlatformIO IDE para VSCode
Abra o Extensions Market no VS Code clicando em Extensions no painel esquerdo ou use o atalho de teclado:
Atalho de teclado: Shift+CTRL+X no Windows ou Shift+CMD+X no macOS.
Pesquise por PlatfromIO no Extension Market e clique em Install:

- ETAPA 3. Abrir a página inicial do PlatformIO
Clique no botão “PlatformIO Home” na barra de ferramentas inferior do PlatformIO

Agora o PlatformIO está instalado no seu PC!
Configurações para Wio Terminal e Seeeduino XIAO
Wio Terminal e Seeeduino XIAO agora são oficialmente suportados pelo PlatformIO:
-
Navegue até o local raiz do PlatformIO:
-
Para Unix:
~/.platformio -
Para Windows:
C:\Users\{username}.platformio, onde{username}é o seu nome de usuário.
-
-
Navegue até a pasta
platforms. -
Baixe o
platform-atmelsamconfigurado para a pastaplatforms.

Placas suportadas
O platform-atmelsam configurado oferece suporte às seguintes placas:
- Wio Terminal
- Seeeduino XIAO
- Série Seeeduino Zero:
- Seeeduino LoRaWAN
Dica
Já foi mesclado; em breve não será mais necessário fazer isso manualmente.
Início rápido
Este tutorial apresenta a você o básico do fluxo de trabalho do PlatformIO IDE e demonstra um simples exemplo “Blink” no Wio Terminal.
-
Clique no botão PlatformIO Home.
-
Clique em New Project e selecione
Seeed Wio Terminalcomo placa.

- Abra
main.cppna pastasrce copie o seguinte:
#include <Arduino.h>
void setup() {
// initialize digital pin LED_BUILTIN as an output.
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
- Abra o arquivo de configuração
platformio.inie verifique se está correto:
[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino
- Faça o build do projeto com o botão Build na barra de ferramentas do PlatformIO ou com atalhos de teclado.
Build Projects: ctrl+alt+b no Windows ou cmd+shift+b no macOS.

- Envie o projeto para o Wio Terminal clicando no botão Upload na barra de ferramentas do PlatformIO.

- Agora você deve ver o LED do Wio Terminal piscando!
Para mais informações sobre primeiros passos com PlatformIO para VSCode, consulte também aqui .
Adicionando bibliotecas ao PlatformIO
Importando bibliotecas diretamente
Para importar bibliotecas diretamente para o PlatformIO a partir do Github, você pode configurar o platformio.ini e adicionar lib_deps com a URL da biblioteca dependente, como a seguir:
lib_deps = https://github.com/Seeed-Studio/Seeed_Arduino_LIS3DHTR
- Exemplo de uso:
#include <Arduino.h>
#include<LIS3DHTR.h>
LIS3DHTR<TwoWire> lis;
void setup() {
Serial.begin(115200);
lis.begin(Wire1);
if (!lis) {
Serial.println("ERROR");
while(1);
}
lis.setOutputDataRate(LIS3DHTR_DATARATE_25HZ); //Data output rate
lis.setFullScaleRange(LIS3DHTR_RANGE_2G); //Scale range set to 2g
}
void loop() {
float x_values, y_values, z_values;
x_values = lis.getAccelerationX();
y_values = lis.getAccelerationY();
z_values = lis.getAccelerationZ();
Serial.print("X: "); Serial.print(x_values);
Serial.print(" Y: "); Serial.print(y_values);
Serial.print(" Z: "); Serial.print(z_values);
Serial.println();
delay(50);
}
Importando a partir do Arduino
Outra maneira de importar bibliotecas é apontar para o caminho das bibliotecas do Arduino no arquivo de configuração platformio.ini. Por exemplo:
lib_extra_dirs = /Users/{username}/Documents/Arduino/libraries
Este não é um caminho direto para uma biblioteca com código‑fonte. Ele deve ser um caminho para o local que contém bibliotecas agrupadas por pastas. Por exemplo, D:\PlatformIO\extra\libraries e não D:\PlatformIO\extra\libraries\FooLibrary.
Para mais opções de bibliotecas, consulte a documentação de bibliotecas do PlatformIO.
Usando a versão mais recente da biblioteca ArduinoCore para Seeed
A ArduinoCore no PlatformIO é mantida pelo próprio PlatformIO e, às vezes, não está atualizada com a versão mais recente lançada pela Seeed. Nesse caso, você pode usar o seguinte platformio.ini, por exemplo:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino
platform_packages = framework-arduino-samd-seeed@https://github.com/Seeed-Studio/ArduinoCore-samd.git