venerdì 8 luglio 2011

[Tutorial Arduino] Basi #2 - Accendere e spegnere un LED

Ciao a tutti e bentornati all'appuntamento con i tutorial su Arduino! Per chi si è perso le puntate precedenti eccovi i link:



Nell'ultimo tutorial abbiamo visto una brevissima introduzione alla struttura di uno sketch! Questo perché oggi cominceremo a scrivere il nostro primo sketch che ci permetterà di accendere e spegnere un LED! :-)

Obiettivo
Mostrare come scrivere e caricare uno sketch sulla tua scheda Arduino, mostrando anche un pò di interazione con quest'ultima spegnendo e accendendo un LED.

Hardware necessario
  • Scheda Arduino
  • LED (Nota che molte delle nuove schede Arduino montano già un LED integrato collegato al pin digitale 13. E' possibile utilizzare anche solo quello senza dover collegare quindi un LED esterno.)

Circuito
Per costruire il circuito, collega prima una resistenza da 220 ohm o simile al pin 13. Collega poi la gamba lunga del LED (la gamba positiva, chiamata anodo) alla resistenza. Infine collega la gamba corta del LED (la gamba negativa, chiamata catodo) a terra (GND). Il circuito è completo, ora collega tramite un cavo usb la tua scheda Arduino al tuo computer, fai partire l'editor di Arduino ed inserisci il codice che trovi qui sotto. Nota che puoi trovare il codice anche nel menù in alto dell'editor cliccando su File->Examples->Basic->Blink, io però ti consiglio di scrivere manualmente il codice così da renderti conto meglio di quello che sta accadendo! ;-)

Circuito LED

Schema
Qui di seguito viene riportato lo schema circuitale.
Schema circuitale

Codice
Nel programma, la prima cosa da fare è inzializzare il pin 13 in modalità OUTPUT attraverso la seguente riga di codice:

pinMode(13, OUTPUT);

Nel loop principale poi, si accende il led con la riga:

digitalWrite(13, HIGH);

Quest'ultimo comando fornisce 5 volt al pin 13. Questo crea una differenza di potenziale sul LED che si accende. Dopodiché lo spegniamo con la riga:

digitalWrite(13, LOW);

Questa riporta il pin 13 a 0 volt, spegnendo il LED. Tra l'istante di accensione e di spegnimento, ci deve essere un certo tempo tale che una persona possa vedere i cambiamenti. Qui entra in gioco il comando delay() che dice alla tua scheda Arduino di non fare nulla per 1000 millisecondi, altrimenti detti 1 secondo. Quando usi il comando delay() , tutto si ferma per il periodo di tempo indicato come argomento. Una volta che hai compreso come funziona questo esempio, prova a dare un occhio al tutorial su come Accendere un LED senza delay() per capire come creare un delay senza fermare tutto il resto.

Una volta che hai compreso questo esempio dai un occhio al tutorial sulla Lettura digitale seriale per capire come leggere lo stato di un pulsante collegato alla tua scheda Arduino.


/*
  Blink
  Accende e spegne un LED un secondo alla volta ripetutamente.

  Questo codice di esempio è di dominio pubblico.
 */


void setup() {              
  // inizializzo il pin digitale come output.
  // Nota: il pin 13 ha collegato di default un LED integrato sulla maggior parte delle schede Arduino.
  pinMode(13, OUTPUT);    
}

void loop() {
  digitalWrite(13, HIGH);   // accende il LED
  delay(1000);              // aspetta un secondo
  digitalWrite(13, LOW);    // spegne il LED
  delay(1000);              // aspetta un secondo
}




Per ulteriori informazioni consulta:

Conclusioni
In questo tutorial abbiamo visto quanto sia semplice programmare la nostra scheda Arduino. E' ovviamente un esempio molto semplice ma che permette di acquisire le prime basi! ;-)
Vi dò quindi appuntamento al prossimo tutorial ragazzi/e! 

Alla prossima! :-)


Nota: Il tutorial è solo una traduzione. L'originale è reperibile al seguente indirizzo web: http://arduino.cc/en/Tutorial/Blink


Continua a leggere...

[Tutorial Arduino] Basi #1 - Introduzione agli sketch

Ciao a tutti! Come avevo già accennato qui nei prossimi post ho intenzione di pubblicare i tutorial di Arduino tradotti in italiano. Per chi fosse interessato la pagina originale a cui mi riferirò sarà questa. Prima di poter cominciare a mettere le mani sul vostro Arduino però sarà meglio avere una piccola infarinatura della struttura di uno sketch cioè il programmino che andremo a caricare sulla nostra scheda. Quindi rimbocchiamoci le maniche e partiamo in questo viaggio nel fantastico mondo di Arduino! :-)


Obiettivo
Fornire le basi della struttura di uno sketch: i metodi setup() e loop().

Hardware necessario


  • Scheda Arduino


Circuito
In questo esempio sarà necessaria solo la tua scheda Arduino



Codice
La funzione setup() è chiamata quando uno sketch viene avviato. Utilizzala per inizializzare variabili, modalità di funzionamento dei pin, librerie, etc. La funzione setup() verrà eseguita una volta sola, dopo ogni accensione o reset della scheda Arduino.

Dopo la funzione setup(), la funzione loop() fa esattamente quello che il suo nome suggerisce, cioè cicla continuamente, permettendo al tuo programma di modificarsi e di rispondere ad eventuali avvenimenti. Il codice nella sezione loop() del tuo sketch è quindi usato per controllare attivamente la tua scheda Arduino.

Quello che il codice riportato qui sotto farà è esattamente nulla! E' utile però copiare e incollare la sua struttura per usarla come punto di partenza di un qualsiasi tuo sketch. Il codice mostra inoltre come inserire dei commenti.

Qualsiasi riga che inizi con due slash (//) verrà ignorata dal compilatore, quindi puoi scrivere tutto quello che vuoi. Commentare il codice può essere molto utile nello spiegare, sia a te stesso che agli altri, come il tuo programma funziona.

void setup() {
  //qui va il codice di setup, che verrà eseguito una sola volta
}

void loop() {
  //qui va il codice principale del tuo sketch, che verrà eseguito ciclicamente
}


Per scaricare il codice clicca QUI

Per ulteriori informazioni consulta:
Conclusioni
Siamo già giunti alla fine del primo tutorial. Per ora siamo rimasti molto sul teorico però è molto importante prendere subito confidenza con la struttura base di uno sketch perché la ritroveremo sempre. Ad ogni modo dalla prossima volta cominceremo a sporcarci le mani, appuntamento dunque al tutorial #2, cioè come accendere un led!

Alla prossima :-)

Continua a leggere...

giovedì 7 luglio 2011

Arduino - L'elettronica Open Source

Ciao a tutti! E' un pò che non scrivo un post sul blog, quindi ho deciso di tornare parlando di uno degli argomenti più interessanti in cui mi sono imbattuto ultimamente e cioè, ladies and gentlemen un bell'applauso per: Mr. Arduino!

Di cosa sto parlando? Di elettronica. Arduino infatti è una piattaforma elettronica open source programmabile basata su di un hardware/software molto flessibile.
Come dicono i suoi creatori: "E' diretta ad artisti, progettisti, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi" 


Arduino si riassume essenzialmente in due componenti principali:

  • Una scheda, come quella in figura, composta da un microcontrollore programmabile che ci permette di utilizzare i vari ingressi/uscite presenti sulla scheda per le più svariate applicazioni.
Arduino Uno

  • L'ambiente di sviluppo, cioè l'editor di testo che ci permette di scrivere, compilare e caricare sulla nostra scheda i programmini che faranno fare al microcontrollore di cui parlavo prima quello che vogliamo.
L'ambiente di sviluppo per Arduino

La cosa bella di questo progetto è la mentalità open source e la sua accessibilità! Tutti gli schemi delle schede infatti sono resi pubblici, assieme al codice dell'ambiente di sviluppo e per cominciare a lavorarci basta collegare tramite un cavo usb la scheda al vostro computer e siete già pronti a caricare il vostro programma! Non è fantastico?  :-)
Questa comunque voleva essere soltanto una brevissima presentazione di ciò che sarà l'argomento principale dei miei prossimi post! Quello che farò successivamente sarà infatti proporre tutti i tutorial presenti sul sito ufficiale, in lingua italiana e proporvi alcune delle mie implementazioni. Di seguito vi posto un elenco di siti mooolto interessanti per quanto riguarda l'elettronica e arduino, vale davvero la pena darvi un occhio! ;-)
Per ora vi saluto e vi dò appuntamento al primo tutorial su come utlizzare arduino dove si parlerà dell'hello world dell'elettronica programmabile: accendere un LED!! :-)
Alla prossima!

Siti interessanti:
Arduino - Sito ufficiale di Arduino
Tutorial Arduino - I tutorial che prossimamente pubblicherò in italiano
Elettronica Open Source - Un sito interessantissimo sull'elettronica che contiene anche una sezione dedicata ad Arduino


Continua a leggere...