La cosa più semplice che si può fare con Arduino è quella di accendere e spegnere un'uscita. In seguito potremo collegare questa uscita a qualcosa, come un led, per vederne il funzionamento reale.
Funzionamento del programma:
Faremo accendere e lasceremo acceso per un secondo il pin 13.
Dopo di che andremo a spegnere e lasciar spento per un altro secondo il pin 13.
Infine faremo riciclare tutto.
Passiamo ora al programma:
void setup(){
//istruzioni da eseguire una sola volta
pinMode (13, OUTPUT); //diciamo che il pin 13 è un pin di output
}
void loop(){
//istruzioni da eseguire continuamente
digitalWrite (13, HIGH); //accende il pin 13
delay(1000); //aspetta un secondo (mille millisecondi)
digitalWrite (13, LOW); //spegne il pin 13
delay(1000); //aspetta un secondo
//ricicla dall'inizio
}
Andiamo ora a vedere il circuito da realizzare.
Si collega il pin 13 ad una resistenza (un 220 ohm è sufficiente), dalla resistenza si va all'anodo (positivo) del LED. Si collega in GND al catodo (negativo) del LED. (Vedi i collegamenti in figura sotto).
A questo punto, dopo aver scaricato il programma sulla scheda, come andremo ad alimentarla potremo vedere lampeggiare il LED che abbiamo collegato. Inoltre, dato che abbiamo usato il pin 13, vedremo lampeggiare anche il LED on-board di Arduino.
Questo programma lo si può già trovare tra gli esempi di Arduino andando in File → Esempi → 01.Basics → Blink.
Malgrado la semplicità di questo sketch, non va sottovalutata la sua importanza. Usandolo come base si possono costruire programma più complessi e già con pochissime modifiche lo si può usare per pilotare un braccio meccanico.
Nuove istruzioni imparate e loro sintassi:
pinMode (n,type); → definisce il pin n come pin di input (se al posto di type mettiamo input) o come pin di output (se al post di type mettiamo output)
digitalWrite (n,logic_level); → pone il pin n al livello logico indicato (alto (o acceso) se logic_level = HIGH e basso (o spento) se logic_level = LOW)
delay (millisec); → aspetta tanti millisecondi quanti sono indicati fra parentesi prima di passare all'istruzione successiva
Tutte le istruzioni le saranno successivamente raccolte e spiegate in una pagina apposita.
Al prossimo programma con Arduino!