Arduino (hardware): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Software: Un semplice programmino per invogliare i neofiti all'acquisto della scheda
Riga 31:
===Software===
 
Lo [[Integrated development environment|IDE]] di Arduino è una applicazione [[multipiattaforma]] scritta in [[Java (linguaggio)|Java]], ed è derivata dallo IDE creato per il [[linguaggio di programmazione]] [[Processing (linguaggio di programmazione)|Processing]] e per il progetto [[Wiring project|Wiring]]. È concepita per introdurre alla programmazione artisti e altri principiantineofiti, non praticiprivi di pratica nello sviluppo deldi software. Include inoltre un [[editore di testo]] per il codice dotato di particolarità come il [[syntax highlighting]], il controllo delle parentesi, e l'[[indentazione]] automatica, ed è inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con un singolo 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 project|Wiring]]), che rende molto più semplice implementare via software le comuni operazioni input/output. I programmi di Arduino sono scritti in C/C++, ma, per poter creare un file eseguibile, all'utilizzatore non è chiesto altro se non definire due [[Funzioni (informatica)|funzioni]]:
Riga 37:
* setup() – una funzione invocata una sola volta all'inizio di un programma e può essere utilizzata per i settaggi iniziali
* loop() – una funzione chiamata ripetutamente fino a che la scheda non viene spenta.
 
Un tipico programma per iniziare la pratica con un microcontroller è quello che permette semplicemente di far accendere ripetutamente un [[light-emitting diode|LED]]. Nell'ambiente di sviluppo di Arduino, l'utilizzatore potrebbe farlo con un programmino come il seguente:
 
<source lang="c">
#define LED_PIN 13
 
void setup () {
pinMode (LED_PIN, OUTPUT); // abilita il pin 13 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
}
</source>
 
Il codice precedente non sarebbe visto dal compilatore come un programma valido, così che quando l'utilizzatore clicca sul [[Command button|bottone di comando]] "Upload to I/O board" nello IDE, una copia del codice viene scritta in un file temporaneo con un extra [[Header file|include header]] all'inizio e una semplicissima funzione main() in basso:
 
<source lang="c">
#include "WProgram.h"
#define LED_PIN 13
 
void setup () {
pinMode (LED_PIN, OUTPUT); // abilita il pin 13 per l'output digitale
}
 
void loop () {
digitalWrite (LED_PIN, HIGH); // accende il LED
delay (1000); // aspetta 1 secondo (1000 milliseconds)
digitalWrite (LED_PIN, LOW); // spegne il LED
delay (1000); // aspetta 1 secondo
}
 
int main(void)
{
init();
 
setup();
for (;;)
loop();
return 0;
}
</source>
 
"WProgram.h" è lo [[header file]] principale per la [[libreria software|libreria]] Wiring, e la funzione main() effettua solo tre distinte chiamate: init(), definita nella stessa libreria, e le funzioni setup() e loop(), definite dall'utente.