Adesso che abbiamo un’idea generale di cos’è e come è fatto arduino ed abbiamo installato correttamente il nostro IDE, possiamo avviarci ad iniziare il nostro primo progetto.
Per realizzare il nostro progetto abbiamo bisogno di:
- Una scheda Arduino Uno
- Un diodo Led di colore a scelta
- Un computer con l’IDE di Arduino installato
Quello che andremo a fare sarà collegare correttamente un led ad Arduino ed accenderlo e spegnerlo ad un intervallo da noi prestabilito.
Un led è uno speciale diodo (compenente elettronico per controllare il flusso della corrente) che, quando viene sottoposto ad un passaggio di corrente, oltre ad effettuare la sua normale funzione di diodo, ovvero far passare la corrente in una sola direzione, emette un fascio di luce di vari colori e instensità a seconda del tipo di led.
Per questa loro natura di diodi per utilizzarli bisogna saperne riconoscerne i “pin” che non sono intercambiali tra di loro: vi è infatti il Catodo che è il terminale (pin) più corto e che va normalmente collegato a massa perchè è il terminale negativo. L’altro terminale invece, quello positivo è chiamato Anodo ed ha il terminale più lungo.
Nell’immagine sotto possiamo vedere raffigurato un tipico diodo led
Prendiamo quindi il nostro led ed inseriamo il terminale più corto (il Catodo) al pin di massa (GND) di Arduino ed il terminale più lungo (Anodo) al pin 13 (mi raccomando il 13!) di Arduino ed il nostro circuito è già pronto! Una volta montato il circuito il risultato dovrebbe essere qualcosa del genere:
Il pin di massa ed il pin 13 sono vicini il collegamento è comodo. Adesso possiamo scrivere il nostro primo programma, anzi per il nostro progetto utilizzeremo un esempio già presente nell’ide di Arduino e non avremo bisogno di scrivere niente.
Andiamo quindi nel menu file e selezioniamo “Examples” poi “Basics” ed infine “Blink”, fatto questo nell’area dell’editor dovrebbe apparire il codice riportato nel riquadro sotto che sarà il codice che andremo ad inserire nella nostra scheda Arduino per il nostro primo progetto.
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Questo programma preso dagli esempi di Arduino è uno dei più semplici ma è ottimo per iniziare, il suo scopo è quello di accendere e spegnere continuamente il led che abbiamo collegato al pin 13 ad un intervallo prestabilito (nel nostro caso un secondo, ovvero 1000 millisecondi).
Questo per il microcontrollore significa fornire corrente e toglierla sul pin 13 in quanto a lui non interessa molto quello che noi ci abbiamo attaccato: si potrebbe ad esempio mettere un relè ed il nostro led potrebbe diventare una lampadina da 220 volt di quelle che usiamo in casa (ma mi raccomando non fatelo! per mettere un relè ci sono altre cose da considerare nel circuito e componenti da aggiungere di cui non abbiamo parlato e con la corrente a 220V è facile farsi del male!! ).
Adesso possiamo prendere la nostra scheda Arduino e collegarla al pc tramite il cavo USB.
Generalmente al momento della prima connessione della scheda al pc bisogna attendere qualche secondo perchè il sistema riconosca il nuovo hardware, potrebbe essere necessario dover scaricare dei driver aggiuntivi per configurare correttamente la connessione di Arduino al nostro PC.
Io fortunatamente non ho mai avuto questo problema ed ogni volta che ho collegato Arduino al pc dopo qualche secondo ho sempre avuto la periferica configurata correttamente, questo ve lo posso dire per i sistemi che ho provato: linux Ubuntu o Fedora oppure Windows 7 e persino windows XP!
Nel caso questo sfortunatamente non succedesse per voi vi rimando alle pagine dei driver del sito principale per i vari sistemi operativi:
- Windows: http://www.arduino.cc/en/Guide/Windows
- Mac OS X: http://www.arduino.cc/en/Guide/MacOSX
- Linux: http://playground.arduino.cc/Learning/Linux
Se tutto è ok possiamo procedere con la selezione della scheda e della porta seriale, queste opzioni sono le ultime configurazioni necessarie di cui dobbiamo assicurarci la correttezza per poter poi procedere alla programmazione di Arduino: andiamo quindi nel menù Tool, selezioniamo board e controlliamo che la scheda selezionata sia la nostra Arduino Uno, verifichiamo infine anche la connessione questa volta nel menù serial port.
Bene! Dalla barra dei comandi principale possiamo premere il pulsante “Compila e carica lo Sketch”, l’ide di Arduino inizierà a compilare lo sketch.
Dopo alcuni secondi, finità la compilazione, inizierà il trasferimento verso la scheda potremo infatti vedere dei led lampeggiare vicino alla porta usb che indicano che il trasferimento del nostro programma è in corso. Alcuni istanti dopo (il trasferimento dovrebbe essere abbastanza veloce) vedremo quasi magicamente iniziare a lampeggiare il nostro led e spero sarete felici di avere portato a termine il vostro primo progetto Arduino!
Prima di lasciarvi un’ultima cosa: la scelta del pin 13 non è stata casuale, per pilotare un led da un’uscita digitale di Arduino infatti normalmente si avrebbe bisogno anche di una resistenza per limitare la corrente, questo per evitare il surriscaldarsi del diodo led che potrebbe dopo un po’ anche bruciarsi.
Il pin 13 è particolare perchè ha già una resistenza inserita dal circuito di Arduino: per iniziare con i nostri progetti non abbiamo avuto bisogno nemmeno di preoccuparci di questo!
Ciao,
il PIN 13 di Arduino UNO non ha nessuna resistenza interna di limitazione. Quindi per accendere un LED usando il PIN 13 come digital output è necessario inserire una resistenza di limitazione in serie, allo stesso modo degli altri PIN, per evitare di superare la corrente massima erogabile e distruggere il microcontrollore.
Una discussione sulla confusione di informazione sul pin 13: https://forum.arduino.cc/index.php?topic=261860.0
E’ vero, c’è molta confusione sull’argomento. Ma, una volta escluso che la resistenza si trovi dentro l’ATMEGA328 (cosa verificabile dal datasheet), è sufficiente andare a vedere lo schematico di arduino UNO in tutte le versioni, per rendersi conto che tra il piedino 19 dell’ATMEGA e il pin 13 di arduino non c’è nessuna resistenza. Come del resto per tutti gli altri pin da 0 a 12..
Un resistenza collegata al piedino 19 del, ATMEGA c’è (collegata direttamente o attraverso un inseguitore di tensione) ma va a collegarsi al LED presente sulla scheda. Probabilmente è questo che ha fatto confusione.
Quindi eviterei di collegare il il LED direttamente tra GND e pin 13 senza l’interposizione di una resistenza.
Certo in un progetto definitivo non va fatto, ma per i primi esperimenti non mi ha mai dato nessun problema, non ho mai bruciato una scheda.
Se sei un estremo neofita (il nostro pubblico di riferimento) puo’ venir comodo sapere che per imparare il non mettere una resistenza le prime volte non ti fa fare danno.