VS Code + PlatformIO

Introdução

O PlatformIO é uma plataforma para o desenvolvimento de software destinado a várias arquiteturas e várias placas nomeadamente as ChipKIT UNO32 que usaremos nas aulas.

Uma das vantagens da utilização desta plataforma é a possibilidade de se usar as funções da biblioteca Arduino que começam a ser um autêntico standard no desenvolvimento de sistema baseados em microcontroladores.

Esta plataforma é usada em conjugação com um ambiente integrado de desenvolvimento (IDE). São vários os IDEs possíveis mas neste caso iremos usar o Visual Studio Code (VS Code) que tem ganhado nos últimos anos imensa popularidade.

Nesta página vamos descrever o processo de instalação e criação dum primeiro projeto usando o VS Code + PlatformIO. Embora este exemplo seja feito no sistema operativo Windows, existe também a possibilidade de o fazermos noutros sistemas operativos como o OS X e Linux.

Instalação

O processo de instalação consiste nos seguintes passos:

  • Instalação do VS Code
  • Instalação da extensão PlatformIO

VS Code

A instalação do VS Code faz-se executando o respetivo programa de instalação que pode ser obtido aqui. No caso do sistema operativo Windows e à data de escrita desta página este ficheiro era o VSCodeUserSetup-x64-1.49.2.exe.

O processo de instalação passa por aceitar todas as opções por omissão, nomeadamente a que ativa a escrita no PATH:

No final a janela deste IDE é a seguinte:

PlatformIO

A instalação do PlatformIO faz-se como uma extensão do VC Code. Assim depois de escolher a opção Extensions no menu da esquerda, teremos que procurar pelo nome o PlatformIO e depois carregar no botão Install para instalar a extensão que neste caso tem a versão 2.1.0:

O processo pode demorar alguns minutos, sendo que no fim é sugerida o Reload Now do VS Code:

A partir deste momento a janela principal do PlatformIO pode ser atingida carregando no pequeno ícone com a forma duma casa no rodapé do VS Code:

Criação dum projeto

Para criar um projeto no VS Code com o PlatformIO, carregar no botão: New Project presente na janela principal do PlatformIO (ver imagem anterior). Isto fará surgir o Wizard de criação do projeto:

Aqui deveremos escolher:

  • um nome para o projeto (por exemplo blink)
  • a placa que iremos usar (a Digilent chipKIT UNO32)
  • a Framework a usar será a Arduino
  • Em lugar da “default location” deveremos escolher a pasta correspondente à turma, por exemplo: C:/Alunos/Turma1
  • Finalmente carregar no botão Finish

Isto fará surgir uma pasta que conterá todos os ficheiros do projeto (neste exemplo a C:/Alunos/Turma1/blink) e que surgirá aberta caso se selecione a opção Explorer no menu da esquerda.

Um dos ficheiros que aí é possível editar é o main.cpp que neste exemplo será alterado para o seguinte código fonte:

#include <Arduino.h>

#define LED 13

void setup() {
  pinMode(LED, OUTPUT);
} 

void loop() {
  digitalWrite(LED, true);
  delay(1000);
  digitalWrite(LED, false);
  delay(1000);
}

Não esquecer de gravar essas alterações, algo que pode ser feito através da barra de menu (File > Save) ou simplesmente com o atalho Ctrl+S.

Para compilar, carregar no botão PlatformIO: Build (o ícone “visto” no rodapé do VS Code), sendo possível seguir o processo na janela Terminal:

Para programar a placa carregar no botão PlatformIO: Upload (o ícone “seta” no rodapé do VS Code),:

A deteção da porta série onde a placa está ligada em princípio é feita de forma automática (neste exemplo a porta COM10). Se tal não acontecer teremos que editar o ficheiro platformio.ini com a porta COM adequada:

; 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:uno_pic32]
platform = microchippic32
board = uno_pic32
framework = arduino
upload_port = COMx

No final do processo, e face ao programa utilizado, o LED da placa ChipKIT irá piscar!