Arduino IDE: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m - cat en
Corretto: "un altro"
 
(33 versioni intermedie di 13 utenti non mostrate)
Riga 1:
{{E|Un IDE come un altro, conosciuto principalmente per essere il default nell'ecosistema Arduino, senza distinguersi particolarmente dalla massa.|software|ottobre 2024}}
 
{{Software
|ScreenshotNome = Arduino IDE - Blink.png
|Logo =
|Sviluppatore = Arduino Software
|Screenshot =
|SistemaOperativo = Windows
|Didascalia =
|Genere = Integrated development environment
|Sviluppatore = Sviluppatori di [[Arduino (hardware)|Arduino]]
|SoftwareLibero =
|UltimaVersione =
|DataUltimaVersione =
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = Multipiattaforma
|Linguaggio =
|Genere = Ambiente di sviluppo integrato
|Licenza = [[LGPL]] o [[GNU General Public License|GPL]]
|SoftwareLibero = sì
|SitoWeb =
}}
|SistemaOperativo2 = Linux
|SistemaOperativo3 = macOS
|DataPrimaVersione = 7 Dicembre 2018
}}L'ambiente di sviluppo integrato di Arduino (IDE) è un'Applicazione multipiattaforma (per Windows, macOS, Linux) che è scritto nel linguaggio di programmazione Java. È usato per scrivere e caricare programmi sulla scheda Arduino.
 
L{{'}}'''Arduino IDE''' è un [[ambiente di sviluppo integrato]] per la piattaforma di open hardware [[Arduino (hardware)|Arduino]]. L'applicazione è [[multipiattaforma]] e basata su [[Electron (framework)|Electron]] (le versioni 1.x erano invece scritte in [[Java (linguaggio di programmazione)|Java]]).
Il codice sorgente per l'IDE è stato rilasciato dalla [[GNU General Public License]], versione 2. l'IDE di Arduino supporta le lingue C e C++ utilizzando regole speciali di strutturazione del codice. l'IDE inoltre fornisce una libreria software dal progetto di scrittura, che fornisce molte procedure di input e output comuni. Il codice scritto dall'utente richiede solo due funzioni di base, per l'avvio dello schizzo e il ciclo di programma principale, che vengono compilati e collegati con un programma stub '''''main()''''' in un programma eseguibile con la toolchain GNU, incluso anche con l'IDE. Quest'ultimo adopera il programma "''avrdude"'' per convertire il codice eseguibile in un file di testo in codifica esadecimale che viene infine cariggcato nella scheda Arduino grazie ad un programma di caricamento nel firmware della scheda. {{Reflist}}
 
== Storia ==
Arduino IDE è derivato dall'IDE creato per il [[linguaggio di programmazione]] [[Processing]] e per il progetto [[Wiring]]. È stata creata da [[Massimo Banzi]], David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis, per iniziare alla [[programmazione (informatica)|programmazione]] i neofiti, che siano a digiuno di pratica nello sviluppo di [[software]].
 
Nel tempo l'Arduino IDE è stato sviluppato e migliorato dalla community direttamente su [[GitHub]].
 
Nel 2020 vede la luce il progetto per la versione 2.0 dell'Arduino IDE con una serie progressiva di rilasci in beta. Diverso nell'architettura, basato su [https://theia-ide.org/ Theia IDE] e sviluppato con [[Electron (framework)|Electron]], questo nuovo IDE si presenta con una barra laterale ad icone in sostituzione del menu e si avvicina molto allo stile del [https://create.arduino.cc/editor WEB Editor], con il quale condivide numerose funzionalità.
 
== Caratteristiche ==
Per permettere la stesura del [[codice sorgente]], l'IDE include un [[editore di testo]] dotato di alcune particolarità, come il [[syntax highlighting]], il controllo delle parentesi e l'[[indentazione]] automatica. L'editor è in grado di [[Compilatore|compilare]] e caricare sulla scheda Arduino il programma eseguibile in una sola passata e con un solo click. In genere non vi è bisogno di creare dei [[Makefile]] o far girare programmi dalla [[riga di comando]].
 
L'[[ambiente di sviluppo integrato]] di Arduino è fornito di una [[libreria software]] [[C (linguaggio di programmazione)|C]]/[[C++]], chiamata "Wiring" (dall'omonimo progetto [[Wiring]]): la disponibilità della libreria rende molto più semplice implementare via software le comuni operazioni di [[input/output]]. Grazie alla [https://docs.arduino.cc/learn/contributions/arduino-creating-library-guide documentazione fornita dal Team Arduino], la scrittura di nuove librerie è alla portata di tutti coloro che hanno dimestichezza con il linguaggio C++. Il numero di librerie disponibili tramite il Library Manager integrato con l'IDE ha superato il valore di 5000 a metà del 2022 ed è anche stato creato [https://www.arduinolibraries.info/ un sito] che in modo automatico censisce le librerie.
 
I programmi di Arduino, chiamati sketch, sono scritti in linguaggio derivato dal C/C++, ma all'utilizzatore, per poter creare un [[file eseguibile]], si richiede solo di definire due [[Funzioni (informatica)|funzioni]]:
 
* <syntaxhighlight lang="c">void setup ()</syntaxhighlight> – funzione invocata una sola volta all'inizio di un programma, da utilizzare per i settaggi iniziali che rimarranno invariati durante l'esecuzioni;
* <syntaxhighlight lang="c">void loop ()</syntaxhighlight> – funzione [[Loop (informatica)|invocata ripetutamente]], la cui esecuzione si interrompe solo quando si toglie l'alimentazione alla scheda.
 
==Esempi di codice==
Un tipico esempio di programma per iniziare a far pratica con un microcontroller è quello, molto semplice, che permette l'accensione ripetuta di un [[LED]]. Nell'ambiente di sviluppo di Arduino, l'utilizzatore potrebbe farlo con un programma come il seguente<ref>{{Cita web |url=https://arduino.cc/en/Tutorial/Blink|titolo=Blink Tutorial|editore=Arduino.cc|lingua=en|accesso=10 maggio 2011}}</ref>:
 
<syntaxhighlight lang="c" line="1">
#define LED_PIN 13 //definisce la costante LED_PIN, che indicherà il pin 13
 
void setup () {
pinMode (LED_PIN, OUTPUT); // abilita il pin per l'output digitale
}
 
void loop () {
digitalWrite (LED_PIN, HIGH); // accende il LED
delay (1000); // aspetta 1 secondo (1000 millisecondi)
digitalWrite (LED_PIN, LOW); // spegne il LED
delay (1000); // aspetta un secondo
}
</syntaxhighlight>
 
Scritto in questo modo, il codice non verrebbe riconosciuto come programma valido da un [[compilatore]] C++; per questo motivo, quando l'utilizzatore seleziona il [[Command button|bottone di comando]] "Upload to I/O board" (presente nell'[[Ambiente di sviluppo integrato|IDE]]) per caricare il programma sulla scheda, una copia del codice viene automaticamente trascritta in un [[file temporaneo]] con l'aggiunta di un extra [[Header file|include header]] all'inizio del codice e l'implementazione di una semplicissima [[Funzione main|funzione <code>main()</code>]] in basso:
 
<syntaxhighlight lang="c" line="1">
#include "WProgram.h" // include la libreria WProgram
#define LED_PIN 13 //definisce la costante LED_PIN, che indicherà il pin 13
 
void setup () {
pinMode (LED_PIN, OUTPUT); // abilita il pin per l'output digitale
}
 
void loop () {
digitalWrite (LED_PIN, HIGH); // accende il LED
delay (1000); // aspetta 1 secondo (1000 millisecondi)
digitalWrite (LED_PIN, LOW); // spegne il LED
delay (1000); // aspetta 1 secondo
}
 
int main(void)
{
init();
 
setup();
for (;;)
loop();
return 0;
}
</syntaxhighlight>
 
"WProgram.h" è lo [[header file]] principale per la [[libreria software|libreria]] Wiring. La funzione <code>main()</code>effettua solo tre chiamate, <code>init()</code>, <code>setup()</code> e <code>loop()</code>; le ultime due sono definite dall'utente, mentre la prima è scritta nella libreria stessa. La funzione <code>loop()</code>, come richiesto, è automaticamente nidificata in un [[Loop (informatica)|loop infinito]].
 
L'IDE di Arduino usa la [[GNU]] [[toolchain]] e la [[AVR Libc]] per compilare i programmi, mentre usa [[avrdude]] per caricarli sulla scheda.
 
== Note ==
<references />
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{collegamenti esterni}}
* (EN) [https://www.arduino.cc/en/Main/Software Sito ufficiale dell'IDE di arduino]
* {{cita web|http://www.italiantechproject.it/arduino/|Video tutorial di Arduino in italiano}}
* {{en}} Arduino wiki, ''aka'' [https://www.arduino.cc/playground/ Playground]
* {{cita web|1=http://www.hacknmod.com/hack/arduino-tutorial-how-to-introduction-guide/|2=Tutorial completo su Arduino|lingua=en|accesso=2 maggio 2009|urlarchivio=https://web.archive.org/web/20090410011012/http://hacknmod.com/hack/arduino-tutorial-how-to-introduction-guide/|dataarchivio=10 aprile 2009|urlmorto=sì}}
* {{cita web|http://downloads.oreilly.com/make/arduinoMAKE07.pdf|Make: Articolo su Arduino|lingua=en}}
* {{en}} [http://www.ladyada.net/learn/arduino/ Arduino tutorial] – diviso in molte lezioni con fotografie e suggerimenti e per strumenti appropriati per principianti
* {{cita web|url=https://makezine.com/2007/09/21/intro-to-the-arduino-week-1/|titolo=Intro to the Arduino – Weekend Project Podcast|editore=Makezine|autore=Bre Pettis|data=21 settembre 2007|accesso=7 settembre 2017|lingua=en}}
 
{{portale|informatica|software libero}}