Arduino IDE: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: (ri)aggiungo asterisco prima del template {{Collegamenti esterni}} (come da manuale)
Corretto: "un altro"
 
(18 versioni intermedie di 7 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
|Nome = Arduino
Riga 7 ⟶ 9:
|UltimaVersione =
|DataUltimaVersione =
|UltimaVersioneBeta = 2.0.0
|DataUltimaVersioneBeta =
|SistemaOperativo = Multipiattaforma
|Linguaggio = Java
|Genere = Ambiente di sviluppo integrato
|Licenza = [[LGPL]] o [[GNU General Public License|GPL]]
Riga 17 ⟶ 19:
}}
 
L{{'[[Integrated}}'''Arduino developmentIDE''' environment|è un [[ambiente di sviluppo integrato]] (IDE)per la piattaforma di '''open hardware [[Arduino (hardware)|Arduino]]'''. è unL'applicazione è [[multipiattaforma]] e basata su [[Electron (framework)|Electron]] (le versioni 1.x erano invece scritte in [[Java (linguaggio di programmazione)|Java]],).

== edStoria ==
Arduino IDE è derivataderivato 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 inoltre di alcune particolarità, come il [[syntax highlighting]], il controllo delle parentesi e l'[[indentazione]] automatica. L'editor è inoltre 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'[[Integrated development environment|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]]. IGrazie programmialla di[https://docs.arduino.cc/learn/contributions/arduino-creating-library-guide documentazione fornita dal Team Arduino], sonola scrittiscrittura indi linguaggionuove derivatolibrerie dalè alla portata di tutti coloro che hanno dimestichezza con il linguaggio C/C++,. maIl all'utilizzatore,numero perdi poterlibrerie crearedisponibili untramite fileil eseguibile,Library siManager richiedeintegrato solocon l'IDE ha superato il valore di definire5000 duea metà del 2022 ed è anche stato creato [[Funzionihttps://www.arduinolibraries.info/ (informatica)|funzioniun 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;
Riga 28 ⟶ 39:
 
==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 [[light-emitting diode|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">
Riga 45 ⟶ 56:
</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'[[IntegratedAmbiente developmentdi environmentsviluppo 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">
Riga 77 ⟶ 88:
"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]].
 
Lo L'IDE di Arduino usa la [[GNU]] [[toolchain]] e la [[AVR Libc]] per compilare i programmi, mentre usa [[avrdude]] per caricarli sulla scheda.
 
== Android Accessory Development Kit ==
In occasione della conferenza [[Google I/O]] di maggio 2011, [[Google]] ha presentato ADK (Android Open Accessory Development Kit), un kit di sviluppo basato su Arduino e ideato per aiutare sviluppatori e costruttori hardware a creare accessori per [[Android]]; gli accessori possono comunicare con Android via cavo USB o attraverso una connessione Bluetooth.<ref>{{Cita web |url=https://developer.android.com/tools/adk/adk2.html#adk-conn |titolo=Accessory Development Kit 2012 Guide|lingua=en |accesso=14 dicembre 2012}}</ref>
 
L'ADK, per ora, si basa sulla scheda Arduino Mega2560.<ref>{{Cita web |url=https://www.engadget.com/2011/05/10/google-announces-android-open-accessory-standard-arduino-based/ |titolo=Google announces Android Open Accessory standard, Arduino-based ADK |autore=Donald Melanson |editore=[[Engadget]] |lingua=en |accesso=11 maggio 2011}}</ref>
 
== Open hardware e open source ==
{{vedi anche|Hardware libero}}
Gli schemi hardware di Arduino sono distribuiti in modo da poter essere utilizzati nei termini legali di una licenza [[Creative Commons]] Attribution Share-Alike 2.5<ref name="Hardware Arduino">{{Cita web|url=https://arduino.cc/en/Main/Hardware|titolo=Hardware|editore=Arduino.cc|lingua=en|accesso=10 maggio 2011}}</ref>, e sono disponibili sul sito ufficiale Arduino. Per alcune versioni della scheda sono disponibili anche il layout e i file di produzione.
 
Il codice sorgente per l'[[Integrated Development Environment|ambiente di sviluppo integrato]] e la [[libreria software|libreria]] residente sono invece disponibili, e concessi in uso, secondo i termini legali contenuti nella licenza [[GNU General Public License|GPLv2]].
 
== Note ==