Come programmare Arduino tramite Visual Studio Code utilizzando PlatformIO

Pagina principale di Platformio

A volte, programmare con l’Arduino IDE non è sufficiente. Pensa a tutti gli strumenti che mancano: nessun controllo ortografico, nessuna cartella, nessun completamento automatico. Certo, puoi semplicemente programmare Arduino su un editor e poi incollarlo nell’IDE prima di caricarlo. Ma PlatformIO ti consente di farlo senza dover cambiare finestra.

Indice

  • Che cos’è PlatformIO?
  • Installazione di PlatformIO
  • Programmazione con PlatformIO
  • Caricamento su Arduino
  • Domande frequenti

Leggi anche: 10 utili one-liner Python che devi conoscere

Che cos’è PlatformIO?

PlatformIO è un’estensione per Visual Studio Code che ti consente di eseguire e debugare codice per sistemi embedded. Attualmente supporta 1.395 schede di sviluppo di tutti i tipi di produttori, permettendoti di usarlo per più di solo Arduino.

Confrontare PlatformIO con l’Arduino IDE può essere più un “usalo e lo saprai”. Secondo me, è decisamente migliore perché puoi aggiungere più funzionalità, come migliori linters C/C++, completamento automatico e persino supporto per MicroPython. Supporta anche Git, il che è utile se lavori in team.

Installazione di PlatformIO

  1. In Visual Studio Code, fai clic sul pulsante Estensioni nella barra laterale sinistra o premi Ctrl + Shift + X sulla tastiera.

  2. Nella barra di ricerca delle estensioni, digita platformio, quindi fai clic sul risultato che dice “PlatformIO IDE”.

  3. Fai clic sul pulsante “Installa” e attendi che l’installazione sia completata.

  4. Quando l’installazione ha successo, il logo di PlatformIO dovrebbe apparire nell’area della barra laterale sinistra di Visual Studio Code. Premi questo logo ogni volta che vuoi usare PlatformIO.

Programmazione con PlatformIO

Rispetto all’Arduino IDE, programmare con PlatformIO richiede alcuni passaggi extra. Per questo esempio, useremo un Arduino Uno e faremo lampeggiare il suo LED interno.

  1. Premi l’icona di PlatformIO nell’area della barra laterale sinistra.

  2. Premi Apri.

  3. La pagina principale di PIO dovrebbe apparire. Troverai una barra di accesso rapido a destra. Seleziona “Nuovo Progetto”.

Accesso rapido di Platformio

  1. Dovrebbe apparire una procedura guidata per il progetto. Puoi digitare “PlatformIO Blink” nella casella di testo Nome. Quindi digita o cerca “Arduino Uno” nel menu a discesa Scheda e seleziona Arduino nel menu a discesa Framework.

Procedura guidata del progetto di Platformio

  1. Facoltativo: PlatformIO salva automaticamente i tuoi progetti nella sua cartella predefinita (Documenti\PlatformIO\Progetti). Puoi deselezionare la casella che dice “Usa posizione predefinita” e quindi selezionare o creare la tua cartella tramite l’esploratore che appare sotto di essa.

Posizione predefinita di Platformio deselezionata

  1. Fai clic su “Fine” quando hai finito. Il processo di inizializzazione potrebbe richiedere un po’ di tempo la prima volta. Potrebbe anche chiederti se ti fidi degli autori dei file nella cartella. Se sei solo tu a lavorare al tuo progetto, fai clic su “Sì, mi fido degli autori”. Altrimenti, premi “No, non mi fido degli autori”. Puoi sempre cambiare quell’opzione in un secondo momento.

Ti fidi di questo utente di Platformio

Leggi anche: Come utilizzare Python per attività di amministrazione di sistema Linux di base e networking

Trova dove programmare

Dovresti essere pronto a programmare il tuo Arduino dopo aver premuto quel pulsante. Per iniziare a programmare, devi andare su “src -> main.cpp”. Questo apre un file con il seguente codice:

#include   
  
void setup(){  
// inserisci qui il tuo codice di configurazione, da eseguire una sola volta:  
}  
  
void loop(){  
// inserisci qui il tuo codice principale, da eseguire ripetutamente:  
}

Ti sembra familiare? È la cosa che appare sull’Arduino IDE non appena lo apri. C’è solo una differenza: dice #include alla riga 1.

La ragione è semplice. Stai programmando con puro C++ ora. PlatformIO mostra tutte le cose nascoste che non vedi mai mentre usi il linguaggio di programmazione Arduino. Ecco perché puoi vedere tutte quelle nuove cartelle a sinistra. Sono lì per permetterti di fare cose.

D’altra parte, l’Arduino IDE ti consente solo di programmare le schede Arduino con il linguaggio di programmazione Arduino, che è basato su C++.

Detto ciò, facciamo lampeggiare l’LED interno dell’Arduino!

Codice per il lampeggio

#include   
  
void setup(){  
// inserisci qui il tuo codice di configurazione, da eseguire una sola volta:  
  pinMode(LED_BUILTIN, OUTPUT);  
  Serial.begin(9600);  
}  
  
void loop(){  
// inserisci qui il tuo codice principale, da eseguire ripetutamente:  
  digitalWrite(LED_BUILTIN, HIGH);// accende l'LED.  
  delay(500);  
  digitalWrite(LED_BUILTIN, LOW);// spegne l'LED.  
  delay(500);  
  Serial.println("Un ciclo di accensione e spegnimento dell'LED");// stampa un messaggio dopo un ciclo di accensione e spegnimento dell'LED.  
}

Caricamento su Arduino

Come nell’Arduino IDE, PlatformIO ti consente di costruire o costruire e caricare il tuo programma Arduino sulla tua scheda. Nella barra blu sotto Visual Studio Code, dovresti vedere un’icona di spunta e una freccia accanto all’icona della casa.

L’icona di spunta ti consente di costruire il tuo codice e vedere se ci sono problemi durante la conversione in codice macchina. Nel frattempo, l’icona della freccia ti consente di costruire il tuo codice attuale e poi caricarlo direttamente sulla tua scheda (supponendo che sia collegata al computer).

I successivi due pulsanti ti consentono di eliminare la build salvata attuale (icona del cestino) dal computer e di eseguire un test unitario (icona della provetta) sulla tua scheda.

Prova un LED esterno

Detto ciò, l’LED integrato dell’Arduino dovrebbe iniziare a lampeggiare una volta al secondo. Se vuoi davvero vederlo funzionare su un LED esterno, allora dovresti provare a collegare un LED e una resistenza da 250 Ω tra il pin 13 e GND in serie.

Schema Ltspice Arduino LED esterno

Usa il monitor seriale

Un IDE per sistemi embedded non è un IDE se non ha un monitor seriale. Premi l’icona della spina per aprire il monitor seriale. Si aprirà un nuovo processo terminale che ti mostrerà tutto ciò che la tua scheda vuole dirti.

In questo caso, il nostro codice Blink dovrebbe far dire all’Arduino “Un ciclo di accensione e spegnimento dell’LED” sul monitor seriale dopo ogni ciclo di lampeggio.

Monitor seriale di Platformio in Visual Studio Code

Domande frequenti

Come si elimina PlatformIO da Visual Studio Code?

Come qualsiasi altra estensione, devi solo andare nella scheda Estensioni nell’area della barra laterale sinistra, fare clic su PlatformIO IDE, quindi fare clic sul pulsante di disinstallazione.

Ha senso avere pulsanti separati per Build e Upload?

Sebbene possa sembrare ridondante all’inizio, avere un pulsante Build che non carica il codice da nessuna parte aiuta molto quando stai sperimentando con determinate funzionalità C++ di cui non sei sicuro che funzionerebbero su un sistema embedded. Alla fine, dipende dal tuo caso d’uso. Questo, e il debug precoce, aiutano a eliminare molti bug indesiderati a lungo termine.

Posso usare PlatformIO per uso commerciale?

Risposta rapida: sì!

Risposta leggermente più lunga: puoi programmare Arduino e molte altre schede con PlatformIO per la tua attività. Ma offrono anche una soluzione IDE interna per le aziende in PIO Labs.