Arduino IDE
Arduino software | |
---|---|
Genere | Integrated development environment |
Sviluppatore | Sviluppatori di Arduino |
Ultima versione | 1.8.19 (20 dicembre 2021) |
Ultima beta | 2.0.0 |
Sistema operativo | Multipiattaforma |
Linguaggio | Java |
Licenza | LGPL o GPL (licenza libera) |
Sito web | www.arduino.cc/en/Main/Software |
L'Arduino IDE, sigla che indica Integrated Development Environment di Arduino, è un'applicazione multipiattaforma in Java, ed è derivata 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 i neofiti, che siano a digiuno di pratica nello sviluppo di software.
Caratteristiche[modifica | modifica wikitesto]
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 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/C++, chiamata "Wiring" (dall'omonimo progetto Wiring): la disponibilità della libreria rende molto più semplice implementare via software le comuni operazioni di input/output. I programmi di Arduino sono scritti in linguaggio derivato dal C/C++, ma all'utilizzatore, per poter creare un file eseguibile, si richiede solo di definire due funzioni:
- – funzione invocata una sola volta all'inizio di un programma, da utilizzare per i settaggi iniziali che rimarranno invariati durante l'esecuzioni;
void setup ()
- – funzione invocata ripetutamente, la cui esecuzione si interrompe solo quando si toglie l'alimentazione alla scheda.
void loop ()
Esempi di codice[modifica | modifica wikitesto]
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[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
}
Scritto in questo modo, il codice non verrebbe riconosciuto come programma valido da un compilatore C++; per questo motivo, quando l'utilizzatore seleziona il bottone di comando "Upload to I/O board" (presente nell'IDE) per caricare il programma sulla scheda, una copia del codice viene automaticamente trascritta in un file temporaneo con l'aggiunta di un extra include header all'inizio del codice e l'implementazione di una semplicissima funzione main()
in basso:
#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;
}
"WProgram.h" è lo header file principale per la libreria Wiring. La funzione main()
effettua solo tre chiamate, init()
, setup()
e loop()
; le ultime due sono definite dall'utente, mentre la prima è scritta nella libreria stessa. La funzione loop()
, come richiesto, è automaticamente nidificata in un loop infinito.
Lo 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[modifica | modifica wikitesto]
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.[2]
L'ADK, per ora, si basa sulla scheda Arduino Mega2560.[3]
Open hardware e open source[modifica | modifica wikitesto]
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[4], 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'ambiente di sviluppo integrato e la libreria residente sono invece disponibili, e concessi in uso, secondo i termini legali contenuti nella licenza GPLv2.
Note[modifica | modifica wikitesto]
- ^ (EN) Blink Tutorial, su arduino.cc. URL consultato il 10 maggio 2011.
- ^ (EN) Accessory Development Kit 2012 Guide, su developer.android.com. URL consultato il 14 dicembre 2012.
- ^ (EN) Donald Melanson, Google announces Android Open Accessory standard, Arduino-based ADK, su engadget.com, Engadget. URL consultato l'11 maggio 2011.
- ^ (EN) Hardware, su arduino.cc. URL consultato il 10 maggio 2011.
Altri progetti[modifica | modifica wikitesto]
Wikimedia Commons contiene immagini o altri file su Arduino IDE
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Sito ufficiale, su arduino.cc.
- Arduino IDE, su packages.debian.org.
- Repository sorgenti di Arduino IDE, su github.com.
- (EN) Arduino IDE, su Free Software Directory.
- Video tutorial di Arduino in italiano, su italiantechproject.it.
- (EN) Arduino wiki, aka Playground
- (EN) Tutorial completo su Arduino, su hacknmod.com. URL consultato il 2 maggio 2009 (archiviato dall'url originale il 10 aprile 2009).
- (EN) Make: Articolo su Arduino (PDF), su downloads.oreilly.com.
- (EN) Arduino tutorial – diviso in molte lezioni con fotografie e suggerimenti e per strumenti appropriati per principianti
- (EN) Bre Pettis, Intro to the Arduino – Weekend Project Podcast, su makezine.com, Makezine, 21 settembre 2007. URL consultato il 7 settembre 2017.