Menu Chiudi

Arduino un microcontrollore open hardware per tutti i gusti

Arduino è una “piattaforma di prototipazione elettronica open-source”.

Arduino é un progetto di hardware aperto, completamente made in Italy, messo gratuitamente a disposizione di chiunque la voglia utilizzare, modificare o vendere.

Arduino è una “piattaforma di prototipazione elettronica open-source”.

Arduino é un progetto di hardware aperto, completamente made in Italy, messo gratuitamente a disposizione di chiunque la voglia utilizzare, modificare o vendere.

L’idea fondamentale di questo microcontrollore è quella di spostare lo studio di problemi quali la robotica, Biorobotica, e altro da un utilizzo di un sistema proprietario ad un utilizzo di un sistema completamente libero.

Questo piccolo gioiello, poiché la legge sul copyright, che regola il software open source, non è applicabile all’hardware, utilizza una licenza Creative Commons chiamata Attribution Share Alike. Chiunque è autorizzato a produrre copie della scheda, a riprogettarla, o addirittura a vendere schede che ne copiano il progetto. Non è necessario pagare nessun diritto al gruppo Arduino e nemmeno chiedere il permesso. Tuttavia, se il progetto di riferimento viene ripubblicato, occorre dare il riconoscimento al gruppo Arduino originale. E se la scheda viene modificata o cambiata, il progetto deve utilizzare la stessa licenza Creative Commons o una simile, per fare in modo che le nuove versioni della scheda Arduino siano altrettanto libere e aperte. L’unico elemento di proprietà intellettuale che il gruppo si è riservato è stato il nome, che è diventato il suo marchio di fabbrica. Se qualcuno vuole vendere delle schede utilizzando questo nome, deve pagare una modesta commissione ad Arduino. In modo che il marchio non venga danneggiato da copie di scarsa qualità.

Nata dall’idea dell’italiano Massimo Banzi insegnante all’Interaction Design Institute di Ivrea, un ingegnere spagnolo specializzato in microchip David Cuartielles e David Mellis uno degli studenti di Banzi che scrisse il linguaggio di programmazione in soli due giorni, rappresenta oggi, un’iniziativa quasi priva di coordinamento, dove decine di inventori di hardware di tutto il mondo hanno cominciato a pubblicare le loro specifiche tecniche è stata utilizzata da artisti, designer, hobbisti e chiunque sia interessato a create oggetti o ambienti interattivi.

Gli appassionati la utilizzano per creare robot come nel caso del gruppo del progetto open source e open hardware HlRobotx (www.hlrobotx.net), per far ridurre i consumi al motore della loro automobile, per costruire modellini di aeroplani senza pilota,controllare le piante di casa e telefona all’utente quando hanno bisogno di essere innaffiate.

 

I geek cioè le persone più interessate alle tecnologie più innovative, lo utilizzano per l’ hackeraggio e al miglioramento dell’hardware, stimolati dall’elettronica che si può acquistare online a prezzi che continuano a calare.

Per la fase progettuale si un sistema tecnologico che utilizza arduino può essere utile utilizzare il software open source fritzing che consente la realizzazione simulata dei collegamenti circuitali oltre il PCB ”Printed Circuit Board”;

 

 

 

 

Passiamo adesso alla descrizione del dispositivo esso si compone di :

 

  • CPU;

  • Memoria;

  • Porte I/O ;

  • Timers e contatori ;

  • Porte di comunicazione seriale speciali (“Bus SPI”,”Bus I2C”);

  • Convertitori A/D ;

 

Per utilizzarlo è necessario installare sia la piattaforma di programmazione, ovvero il software Arduino, disponibile per Linux, Mac OS X e Windows, sia il driver USB.

Una volta fatto ciò basta collegare Arduino Duemilanove al computer tramite il cavo USB in dotazione, selezionare la corretta Serial Port (su Mac è quella che contiene la dicitura tty.usbserial) nel menu Tools e verificare che il led etichettato PWR è acceso.

Una volta fatto ciò l’ Arduino è correttamente installato che sarà confermato dal led etichettato L che dovrebbe lampeggiare con una luce verde.

Dal sito web di Arduino, possiamo studiare il primo programma d’esempio denominato Blink che come in quasi tutti i linguaggi di programmazione, rappresenta il classico esempio Hello World!.

Ma dal momento che Arduino non ha uno schermo, si farà lampeggiare un led in segno di saluto.

Come abbiamo notato nel precedente articolo introduttivo, sono installati su Arduino almeno due

led:

  • il primo è arancione ed è contrassegnato dall’etichetta PWR (che sta per power) e segnala se c’è alimentazione;

  • mentre il secondo è verde ed ha l’etichetta L connesso al pin 13;

 

Vediamo in dettaglio il codice la cui sintassi è la seguente :

 

int ledPin = 13;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

digitalWrite(ledPin, HIGH);

delay(1000);

digitalWrite(ledPin, LOW);

delay(1000);

}

 

Vediamo in dettaglio come si legge questo codice e cosa ordina di fare al dispositivo.

  • La riga 1 del codice non fa altro che impostare una variabile chiamata ledPin al valore 13.

  • La riga 3 apre, con il comando void setup(), una sezione entro la quale si possono settare alcuni parametri iniziali di Arduino. In particolare in:

    • Riga 5, il comando pinMode(ledPin, OUTPUT); non fa l’altro che imporre che il pin 13 non dev’essere usato per raccogliere informazioni (input) ma per mostrare informazioni

      (output).

  • Il gruppo successivo di istruzioni, introdotto dal comando void loop(), descrive la sequenza di istruzioni che Arduino deve eseguire continuamente all’infinito. Dove in particolare essendo il pin 13 un pin DIGITAL abbiamo che

    • la riga 10 assegna al pin un valore HIGH (ovvero alto) tramite il comando digitalWrite(ledPin, HIGH). Cioè la riga 10 ordina ad Arduino di applicare una

      differenza di potenziale di 5 Volt al pin 13 (corrisponde all’1 del sistema binario usato in elettronica).

    • La riga successiva 11, ordina ad Arduino di attendere per un secondo esatto tramite il comando delay(1000); il cui valore tra parentesi è espresso in millisecondi.

    • La riga 12 imposta il valore del pin 13 su LOW, lo zero digitale, zero anche in Volt.

    • L’ultima riga del blocco è identica alla riga 11, e serve ad attendere un altro secondo

      prima di ripetere l’intero ciclo.

 

Andando sul menu Sketch>Verify/Compile, possiamo adesso controllare la correttezza del codice.

Se, dopo qualche secondo, appare in basso la scritta Done compiling. vuol dire che la verifica è

andata a buon fine e non ci sono né errori di sintassi né incompatibilità con l’hardware .

Sotto a Done compiling appare anche una riga che ci dice quanta memoria occuperebbe questo

programma una volta caricato su Arduino:

 

Binary sketch size: 1124 bytes (of a 14336 byte maximum)

 

Notiamo che Arduino è dotato di una memoria flash da 16 Kbyte, di cui circa 2 KB utilizzati dal bootloader.

Andiamo infine a caricare il programma su Arduino spostandoci con il mouse su File>Upload to I/O Board e il programma, in pochi secondi, viene caricato e mandato in esecuzione.

Durante la fase di caricamento vedrete alcuni led lampeggiare velocemente.

Si tratta del led L ed anche dei due led RX e TX (si tratta di indicatori di lettura e scrittura sulla memoria di Arduino). Finito il vortice di lampeggi, il led L comincia a comportarsi esattamente come definito nel programma, alternando accensioni e spegnimenti al ritmo di una al secondo.

 

 

Per interrompere il programma bisogna spegnere Arduino staccando il cavo USB, ma ricordate che

il programma è memorizzato e, appena ricollegate Arduino (alla porta USB, ad un alimentatore per

iPod, ad un trasformatore a corrente continua tra 7 e 12 Volt o ad una batteria) il programma

ripartirà immediatamente.

Adesso non vi resta di acquistarlo e personalizzare una qualsiasi tecnologia presente nella vostra amata casa, buon hacking, buon Linuxday 2009 , insomma buon divertimento

 

Autore:

Mario Emanuele Lagadari

Hacklab Cosenza

Progetto HlRobotix

WordPress Appliance - Powered by TurnKey Linux