Difference between revisions of "Arduino Tools VS Code start"
From Aino Wiki
(→none|500x282pxEs. Zip da GitHub) |
(No difference)
|
Latest revision as of 16:41, 25 December 2025
VS Code corredato da opportuna estensione, è una delle più 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.
Contents
Estensione - PlatformIO
Video di Paolo Aliverti qui
Presupponendo sia già installato Visual Studio code si installeranno le seguenti tre estensioni;
- dedicata a C++ "ms-vscode.cpptools*"
- Per usare il Serial Monitor:
- E soprattutto PlatformIO che è dedicata alla programmazione di microcontrollori come Arduino e compatibili:
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à scegliere preventivamente una cartella dedicata in cui si organizzeranno tutti i progetti dedicati.
- NOTARE che gli sketch non avrà più estensione .ino ma come un applicativo C++, ovvero .cpp
Creazione nuovo progetto
Scegliendo di inserire tutti i progetti così creati in una cartella, es VS_Code, notare che si toglie la spunta sulla checkBox accanto a "Location" al fine di averne libertà:La predisposizione sarà come segue:
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.
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; }
Upload su pispositivo
ATTENZIONE, la prima volta installa automaticamente delle librerie e fa altre cose di setup.
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 che fa uso dell'output seriale:#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++; }
Se non si avesse installata questa estensione l'output sarebbe comunque disponibile nella filestra "TERMINAL".
Dopo aver uplodato lo sketch, cliccare sul pannello "Serial Monitor", cliccare su "Start Monitoring":
Quindi l'output come consueto sarà visibile:
Gestire Librerie
A differenza di Arduino IDE qui le librerie sono segregate nel progetto corrente.
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.
Librerie Custom
Il seguente schema dalla documentazione di PlatformIO spiega l'organizzazione di esempio di due librerie incluse in un progetto tipo:
Ad esempio se si dispone di una libreria custom da aggiungere al progetto corrente non si agirà andando a ricercarla nelle librerie previste (PIO Home\"Libraries") ma sotto la cartella "lib" si creerà una nuova cartella che avrà dei nuovi files che comporranno la libreria (spesso si trovano già organizzati nel progetto scaricabile da GitHub).
Il riferimento nello sketch, #include, non deve neanche includere il percorso basta seguire quanto è indicato in un file di esempio della libreria custom che si importa.
Librerie Standard
Nel caso si debba aggiungere una libreria di quelle autorizzate e censite in PlatformIO:
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":
Si può ancora scegliere a quale progetto aggiungerla, nella DDL c'è l'elenco di opzioni già compilate basate sulla storia delle attività.
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
Percorsi
La cartella dove sono collocate queste librerie appena installate è:
Path_CartellaApplicazione\.pio\libdeps\nomeDeviceNomeLibreria
TIPS Un trucco per accedervi velocemente è quello di posizionarsi sul testo del metodo\funzione\oggetto e poi premere il tasto F12, arirà un nuovo tab con il file sorgente in cui è implementato il metodo\funzione\oggetto e così se ne può visualizzare\modificare il contenuto.
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
Le librerie principali sono lella seguente sottocartella:
C:\Users\utenteCorrente\.platformio\packages\framework-arduinorenesas-uno\libraries
Alcuni esempi fondamentatli son qui:
C:\Users\utenteCorrente\.platformio\platforms\renesas-ra\examples
Boards supportate
Sono tantissime le schede supportate alcune non trovano corrispondenza mnemonica ma è perché si chiamano in altro modo.
| Nome scheda ufficiale o compatibile | Nome Board in PlatformIO | etc |
|---|---|---|
| Arduino Uno R3 | Arduino Uno | - |
| Arduino Uno R4 WiFi | Arduino Uno R4 WiFi | - |
| Arduino Uno Mini | ||
| Arduino Mini ATmega168 | ||
| Arduino Mini ATmega328 | ||
| Arduino Micro | ||
| Arduino Nano ATmega168 | ||
| Arduino Nano ATmega328 | ||
| Arduino Mega or Mega 2560 ATmega1280 | ||
| Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) | ||
| Arduino Yun | ||
| Arduino Yun Mini |
Mappa e Link
Arduino Tools di sviluppo | Arduino indice | Arduino | Arduino C++
Domotica | Dizionario di Elettronica | IDE VS Code
Parole chiave:













