Pular para o conteúdo principal

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:

nota

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:

  1. Navegue até o local raiz do PlatformIO:

    • Para Unix: ~/.platformio

    • Para Windows: C:\Users\{username}.platformio, onde {username} é o seu nome de usuário.

  2. Navegue até a pasta platforms.

  3. Baixe o platform-atmelsam configurado para a pasta platforms.

Placas suportadas

O platform-atmelsam configurado oferece suporte às seguintes placas:

attention icon

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 Terminal como placa.

  • Abra main.cpp na pasta src e 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.ini e 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.
nota

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
cuidado

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

Outros recursos úteis do PlatformIO

Loading Comments...