Arduino è una scheda di sviluppo molto versatile (progettata da un nostro connazionale) che permette di costruire apparecchi elettronici di vario genere. Questa è una descrizione molto riduttiva... con Arduino si può costruire tantissimi oggetti... Si tratta in sostanza di un vero e proprio microcomputer dalla potenza di calcolo molto limitata, che però ci permette di creare i più svariati dispositivi... il limite di impiego, come lo è per molti apparecchi elettronici, è la nostra fantasia, proprio perchè dovremo noi ideare e realizzare gli apparecchi di cui abbiamo bisogno.
Quella di sviluppare con Arduino è un'esperienza che consiglio a chiunque, sia per le basi che permette di buttare giù per cominciare a capire come programmare, sia come esperienza personale nel campo dell'elettronica (che di questi giorni non guasta)
Non spaventatevi: non è necessario conoscere nessun linguaggio di programmazione per iniziare, in quanto cercherò di spiegare man mano il codice che andremo ad utilizzare durante il tutorial.
PREMESSA: Per seguire questo tutorial è necessario avere già installato il software Arduino scaricabile liberamente per Windows, Linux e MacOS dal sito ufficiale della scheda: http://www.arduino.cc
Per abilitare la scrittura del programma all'interno del Microcontrollore Atmel presente sulle schede Arduino dovrete indicare al programma la porta da utilizzare. Per fare questo sarà sufficiente cliccare all'interno del programma su "Tools", "Serial Port" e selezionare quella utilizzata tra le porte disponibili.
Su linux corrisponde alla porta /dev/ttyUSB# (dove al posto di # sarà presente il numero della porta)
Su Windows corrisponde ad una delle porte COM (per identificarla potete anche andare per tentativi)
Su MacOS corrisponde alla porta /dev/tty.usbserial
Il primo esperimento è un semplicissimo Hello Blink, ovvero led lampeggiante.
Per vedere il programma in funzione è sufficiente collegare un LED tra il pin 13 e GND, come mostrato in foto. Rispettate la polarità del led, altrimenti non si illuminerà.
Una volta copiato il codice all'interno del programma sarà necessario caricarlo sull'Arduino per fare in modo che la scheda cominci ad eseguire quanto richiesto.
Per compilare il programma e scriverlo all'interno del microcontroller è necessario premere il pulsante http://images.nonsologaming.com/upload.png
Analizziamo il codice:
"void setup()" = specifica alla scheda come verrà utilizzato il pin indicato, ovvero Input o Output (Dato in ingresso o in uscita)
"pinMode(13, OUTPUT) = da utilizzare dopo "void setup()" indica il pin e l'utilizzo che la scheda ne deve fare. Nell'esempio indica che il pin 13 verrà utilizzato come Output
"void loop()" = ciclo, continua ad eseguire il codice in esso contenuto finchè non si verifica una condizione che alteri lo stato dell'esecuzione del codice
"digitalWrite(13, LOW);" = un dato digitale (che può assumere solo due valori, ovvero 1=HIGH o 0=LOW) viene inviato al pin indicato tra parentesi. In questo caso il pin 13 viene portato a livello basso (LOW) corrispondente a tensione 0V. Se fosse impostato su livello alto (HIGH) in uscita dal pin 13 avremmo una tensione di 5V.
"delay(500);" = ritardo nell'esecuzione della parte di codice successiva a questa stringa. Il valore 500 indica che il comando successivo viene eseguito con un ritardo di mezzo secondo. (1000 corrisponde ad un secondo di ritardo)
Da questa brevissima spiegazione potete immaginare cosa facciano le ultime righe del programma.
Il risultato sarà quello di ottenere un led che lampeggia ad una velocità di 1 volta al secondo, con il led che rimane acceso per mezzo secondo. Variando i valori tra parentesi è possibile cambiare la velocità con la quale il led lampeggia.
Modificando il codice e utilizzando queste stesse funzioni è possibile ottenere diversi effetti.
Hello Blink 2x, ovvero due led lampeggianti alternativamente
Questa volta dovremo collegare un secondo led tra i pin 12 e GND. Quindi i led andranno collegati entrambi con il catodo (polo negativo del diodo) nello stesso foro sulla scheda (GND) mentre gli anodi (polo positivo del diodo, è la "gamba" più lunga del led) andranno collegati uno nel pin 13 ed uno nel pin 12.
Arduino è una scheda di sviluppo molto versatile (progettata da un nostro connazionale) che permette di costruire apparecchi elettronici di vario genere. Questa è una descrizione molto riduttiva... con Arduino si può costruire tantissimi oggetti... Si tratta in sostanza di un vero e proprio microcomputer dalla potenza di calcolo molto limitata, che però ci permette di creare i più svariati dispositivi... il limite di impiego, come lo è per molti apparecchi elettronici, è la nostra fantasia, proprio perchè dovremo noi ideare e realizzare gli apparecchi di cui abbiamo bisogno.
Quella di sviluppare con Arduino è un'esperienza che consiglio a chiunque, sia per le basi che permette di buttare giù per cominciare a capire come programmare, sia come esperienza personale nel campo dell'elettronica (che di questi giorni non guasta)
Non spaventatevi: non è necessario conoscere nessun linguaggio di programmazione per iniziare, in quanto cercherò di spiegare man mano il codice che andremo ad utilizzare durante il tutorial.
PREMESSA: Per seguire questo tutorial è necessario avere già installato il software Arduino scaricabile liberamente per Windows, Linux e MacOS dal sito ufficiale della scheda: http://www.arduino.cc
Per abilitare la scrittura del programma all'interno del Microcontrollore Atmel presente sulle schede Arduino dovrete indicare al programma la porta da utilizzare. Per fare questo sarà sufficiente cliccare all'interno del programma su "Tools", "Serial Port" e selezionare quella utilizzata tra le porte disponibili.
Su linux corrisponde alla porta /dev/ttyUSB# (dove al posto di # sarà presente il numero della porta)
Su Windows corrisponde ad una delle porte COM (per identificarla potete anche andare per tentativi)
Su MacOS corrisponde alla porta /dev/tty.usbserial
Il primo esperimento è un semplicissimo Hello Blink, ovvero led lampeggiante.
Per vedere il programma in funzione è sufficiente collegare un LED tra il pin 13 e GND, come mostrato in foto. Rispettate la polarità del led, altrimenti non si illuminerà.
http://images.nonsologaming.com/LedOnPin13.jpg
Una volta copiato il codice all'interno del programma sarà necessario caricarlo sull'Arduino per fare in modo che la scheda cominci ad eseguire quanto richiesto.
Per compilare il programma e scriverlo all'interno del microcontroller è necessario premere il pulsante http://images.nonsologaming.com/upload.png
Analizziamo il codice:
"void setup()" = specifica alla scheda come verrà utilizzato il pin indicato, ovvero Input o Output (Dato in ingresso o in uscita)
"pinMode(13, OUTPUT) = da utilizzare dopo "void setup()" indica il pin e l'utilizzo che la scheda ne deve fare. Nell'esempio indica che il pin 13 verrà utilizzato come Output
"void loop()" = ciclo, continua ad eseguire il codice in esso contenuto finchè non si verifica una condizione che alteri lo stato dell'esecuzione del codice
"digitalWrite(13, LOW);" = un dato digitale (che può assumere solo due valori, ovvero 1=HIGH o 0=LOW) viene inviato al pin indicato tra parentesi. In questo caso il pin 13 viene portato a livello basso (LOW) corrispondente a tensione 0V. Se fosse impostato su livello alto (HIGH) in uscita dal pin 13 avremmo una tensione di 5V.
"delay(500);" = ritardo nell'esecuzione della parte di codice successiva a questa stringa. Il valore 500 indica che il comando successivo viene eseguito con un ritardo di mezzo secondo. (1000 corrisponde ad un secondo di ritardo)
Da questa brevissima spiegazione potete immaginare cosa facciano le ultime righe del programma.
Il risultato sarà quello di ottenere un led che lampeggia ad una velocità di 1 volta al secondo, con il led che rimane acceso per mezzo secondo. Variando i valori tra parentesi è possibile cambiare la velocità con la quale il led lampeggia.
Modificando il codice e utilizzando queste stesse funzioni è possibile ottenere diversi effetti.
Hello Blink 2x, ovvero due led lampeggianti alternativamente
Questa volta dovremo collegare un secondo led tra i pin 12 e GND. Quindi i led andranno collegati entrambi con il catodo (polo negativo del diodo) nello stesso foro sulla scheda (GND) mentre gli anodi (polo positivo del diodo, è la "gamba" più lunga del led) andranno collegati uno nel pin 13 ed uno nel pin 12.
Se avremo collegato tutto giusto il risultato sarà quello di ottenere entrambi i led lampeggianti in modo alternato.
Rimane valida la stessa regola di prima: cambiando il valore dei delay i led lampeggeranno più o meno velocemente.
GIOCO: chi riesce con questi presupposti a creare dei giochi di luce utilizzando anche più led di quelli utilizzati nella guida?