Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

Arduino Tools VS Code start

From Aino Wiki

Jump to: navigation, search

VS Code corredato da opportuna estensione, è una delle valide alternative che si prestano a sostituire l'IDE di Sviluppo di Arduino fondamentalmente per i seguenti motivi:

  • Gestione separata delle librerie da integrare negli sketch;
  • Disponibilità dell'intellisense direttamente nell'ide;
  • Possbilità di usufruire dell'IA Copilot per lo sviluppo e aiuto alla programmazione.

Estensione - PlatformIO

Video di Paolo Aliverti qui
Presupponendo sia già installato Visual Studio code e le seguenti estensioni;

  • dedicata a C++ "ms-vscode.cpptools*"
Arduino VSCode Extension 01.jpg
  • Per usare il Serial Monitor:
Arduino VSCode Extension 02 Serial Monitor.jpg
  • Ecco PlatformIO:
Arduino VSCode Extension 03 PlatformIO.jpg

Si installeranno diverse componenti ed al termine chiederà di far ripartire VS Code e dopodiché si avrà una nuova icona di un alieno sulla colonna sinistra dell'IDE VS Code.

Configurazione

  • Converrà che tutti i progetti siano collocati in una cartella dedicata.
  • NOTARE che gli skatch non avranno più più *.ino ma come un applicativo C++, ovvero .

Creazione nuovo progetto

Arduino VSCode PlatformIO 05.jpg

Scegliendo di inserire tutti i progetti così creati in una cartella, es VS_Code:

Arduino VSCode PlatformIO 06.jpg

La predisposizione sarà come segue:

Arduino VSCode PlatformIO 07.jpg

NOTA:

  • la prima volta impiega un po' di tempo perché scarica l'ambiente di sviluppo, compilatore.
  • le impostazioni quali ad esempio la scheda Arduino da utilizzare per il progetto, sono nel file "platformIO.ini"

Il codice si trova nella cartella src, notare che non si ha più il file principale con estensione *.ino ma abbiamo main.cpp che avrà la stessa funzione.
Il file main.cpp avrà definito in chiaro il riferimento al file di header/libreria Arduino.h che nell'IDE di Arduino era un default non visualizzato, l'inclusione avviene con la direttiva #include.
Segue il codice di default, noteremo con piacere l'intellisense su ogni funzione.

#include <Arduino.h>
 
// put function declarations here:
int myFunction(int, int);
 
void setup() {
  // put your setup code here, to run once:
  int result = myFunction(2, 3);
}
 
void loop() {
  // put your main code here, to run repeatedly:
}
 
// put function definitions here:
int myFunction(int x, int y) {
  return x + y;
}

Compilazione\Build

Arduino VSCode PlatformIO 08 compilazione.jpg

Upload su pispositivo
ATTENZIONE, la prima volta installa automaticamente delle librerie e fa altre cose di setup.

Arduino VSCode PlatformIO 09 Upload.jpg

Notare che l'uso del Serial Monitor è garantito dalla finestra in basso "Terminal" o, per chi ha installato l'estensione per VS Code "Serial Monitor" disporrà anche della finestra dedicata.

Serial Monitor

Quindi supponendo di aver installato l'estensione Serial Monitor, disponendo del seguente codice:

#include <Arduino.h>
 
int counter = 0;
 
void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}
 
void loop() {
  Serial.print("Counter: ");
  Serial.println(counter);
 
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
  counter++;
}

Dopo aver uplodato lo sketch, cliccare sul pannello "Serial Monitor", cliccare su "Start Monitoring":

Arduino VSCode PlatformIO 10 SerialMonitor 01.jpg

Quindi l'output come consueto sarà visibile:

Arduino VSCode PlatformIO 10 SerialMonitor 02.jpg

Gestire Librerie

A differenza di Arduino IDE qui le librerie sono segregate nel progetto aperto. Il seguente schema dalla documentazione di PlatformIO spiega l'organizzazione di esempio di due libreria incluse in un progetto tipo:

Arduino VSCode PlatformIO 11 Librerie 01.jpg

Ogni progetto sarà legato alle sue librerie e non si corre il rischio di avere improvvisamente un aggiornamento che non fa funzionare più i vecchi progetti, è un sistema più razionele.
Tenere in conto che poi il codice si potrà conservare con Git ed avere sempre una fotografia dello stato del codice sorgente coerente.

Arduino VSCode PlatformIO 11 Librerie 02.jpg

La pagina che si apre ha persino un codice di esempio per dare una idea della libreria che si fa ad installare, selezionarla e cliccare su "Add to project":

Arduino VSCode PlatformIO 11 Librerie 03.jpg

Si può ancora scegliere a quale progetto aggiungerla, nella DDL c'è l'elenco di opzioni già compilate basate sulla storia delle attività.

Arduino VSCode PlatformIO 11 Librerie 04.jpg

Si apre di default sul file platformIO.ini perché questo ha la configurazione delle librerie necessarie per il progetto.

; 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_r4_wifi]
platform = renesas-ra
board = uno_r4_wifi
framework = arduino
lib_deps = marcoschwartz/LiquidCrystal_I2C@^1.1.4
 

Avanzate

PlatformIO ha le risorse principali di Arduino installate qui:
C:\Users\utenteCorrente\.platformio\packages\framework-arduinorenesas-uno
Molti degli #include principali sono nella seguente cartella:
C:\Users\utenteCorrente\.platformio\packages\framework-arduinorenesas-uno\cores\arduino

Arduino VSCode PlatformIO 11 Librerie 06.jpg

Le librerie principali sono lella seguente sottocartella:
C:\Users\utenteCorrente\.platformio\packages\framework-arduinorenesas-uno\libraries

Arduino VSCode PlatformIO 11 Librerie 05.jpg

Alcuni esempi fondamentatli son qui:
C:\Users\utenteCorrente\.platformio\platforms\renesas-ra\examples

Arduino VSCode PlatformIO 11 Librerie 07.jpg


Mappa e Link


Arduino Tools di sviluppo | Arduino indice


Arduino | Arduino C++
Domotica | Dizionario di Elettronica


Parole chiave:

Author