Arduino. La prima prova pratica: accendiamo un led

E' ora del primo esperimento. In informatica quando s'impara un linguaggio di programmazione si scrive un programma che si chiama “Hello world” e consiste nel far scrivere sullo schermo la frase. Con Arduino l'”hello world” consiste nel far lampeggiare un led. Perciò procuriamoci un led

Il LED

Possiamo immaginare un LED (Light Emitting Diod) come una lampadina. In realtà un LED è, come il suo nome inglese dice, un diodo che emette luce. Cosa sia un diodo, come e perché emetta luce lo vedremo in un altro momento, per ora consideriamolo un aggeggio che si può accendere e spegnere.

Esistono led diversi per misura e colore. Comunemente, ed io ho dei led da 5mm rossi e questo useremo.

 

 

 

 

 

 

 

La differenza con una lampadina è che il led ha una polarità, ovvero un positivo (anodo) ed un negativo (catodo). E' facile distinguerli perché il positivo ha il gambo più lungo, inoltre il bordo della “campanella” è appiattito dal lato del polo negativo e guardando dentro si vede che l'elettrodo positivo è sottile, a forma di lancia, mentre il negativo ha l'aspetto di una bandierina.

Di seguito un immagine con il simbolo del led

 

 

 

 

 

 

 

 

 

 

 

 

http://scale11.altervista.org/forum/showthread.php?t=58852

Ogni led ha bisogno di una tensione ed un intensità per accendersi. Tali tensioni ed intensità sono presenti nel datasheet del vemditore, in generale per quelli comuni, come i miei rossi da 5mm, le tensioni sono queste



Tipologia LED

tensione di giunzione Vf (volt)

Colore infrarosso

1,3

Colore rosso

1,8

Colore giallo

1,9

Colore verde

2,0

Colore arancione

2,0

Flash blu/bianco

3,0

Colore Blu

3,5

Colore Ultravioletto

4 ÷ 4,5

Come si può vedere ci sono anche led che emettono infrarossi ed ultravioletti, un altro giorno useremo quello ad infrarossi.

Comunque per il rosso 1,8 volt e circa 20mA.

Montiamo il circuito

Qui però c'è un problema. Arduino eroga 5 Volt di tensione ed al max 40 mA, per l'intensità va bene, ma la tensione è troppa, il led ne ha bisogno di 1,8, max 2 volt, se lo colleghiamo lo bruciamo.

Dobbiamo ridurre la tensione, per farlo abbiamo un oggetto: la resistenza

La resistenza

Possiamo immaginare il circuito, il filo elettrico, come un tubo di un certo diametro in cui scorre dell'acqua con una certa pressione e la resistenza come una strozzatura che riduce il diametro. Oppure la differenza di potenziale (tensione) come una cascata di cinque metri e la resistenza come una pedata interposta che la divide in due, riducendo il tratto finale.

Ecco delle resistenze tipo

 

 

 

 

 

 

 

 

http://vivalascuola.studenti.it/appunti-di-elettronica-le-resistenze-178...

 

Normalmente le resistenze hanno 4 righe colorate, ce ne sono anche con 5 o 6 righe vedremo perchè.

I colori indicano gli Ohm della resistenza. Si leggono da destra verso sinistra ed i colori vanno tradotti con questa tabella

 

 

 

 

 

 

 

 

 

 

 

 

 

http://programmifree.myblog.it/2010/02/20/i-codici-colori-e-le-serie-delle-resistenze-elettriche/

Vediamo questa resistenza e calcoliamo il suo valore

 

 

 

 

 

 

 

 

 

 

I colori da (destra verso sinistra) sono: rosso,nero, rosso, poi c'è la riga gialla che indica che la tolleranza di questa resistenza è del 5%, ovvero che il valore può variare per un 5% in più o in meno.

Il primo colore è rosso, leggiamo la tabella e scriviamo 2, poi nero, dalla tabella troviamo e scriviamo 0, infine la terza striscia (moltiplicatore) rossa che indica 2, che scriveremo come 00.

Per cui 2000 Ω, ovvero 2K Ω

Semplice vero? Su internet troviamo dei tool che decifrano automaticamente, convertendo colori in valori e viceversa (http://www.associazionemarconi.com/calcolo/codice_resistenze_elettriche_4.html)

Bisogna dire anche che le resistenze si diversificano anch eper la potenza che possono sopportare, le più comuni sono da ¼ di W, ovvero sopportano sino a 0,25 Watt, oltre si bruciano. Se abbimo un circuito con più potenza dobbiamo acquistare altre resistenze, da ½ W o da 1W

Ora dobbiamo decidere che resistenza mettere nel nostro circuito. Qualche piccolo calcolo.

Arduino alimenta a 5 V, il nostro led è rosso ed ha, dalla tabella sopra, bisogno di 1,8 V e ca.20 mA per accendersi.

Se lo accendessimo senza resistenza si brucerebbe. Dalla legge di Ohm sappiamo, almeno lo sappiamo se abbiamo letto un po' di teoria che

R=V/I

V è la tensione che la resistenza deve “prendere” per portare i 5 V a 1,8, per cui V=5-1,8=3,2

I=0,20 mA=0,002A

Da ciò

R=3,2/0,02=160 Ω

In commercio non ci sono resistenza da 160 Ω, ma ci sono quelle da 180 Ω e poiché gli 1,8 V sono la tensione massima, meglio mettere una resistenza da 220 Ω. Su internet ho trovato schemi con resistenze da 330 Ω, non capisco che calcolo facciano, ma se volete potete anche mettere questo valore, funziona, ma fa un po' meno luce.

Per calcolare la potenza e vedere se va bene una resistenza da ¼ di W la formula è:

P=(I*I)*R=(0,20*0,20)*220=0,088 una resistenza da 0,25 va benissimo

Vediamo il circuito

 

 

 

 

 

 

 

 

 

 

Notate che nello schema la resistenza è collegata al negativo del led, ma se la collegassimo al positivo non cambierebbe nulla. E' comodo immaginare l'elettricità come acqua che scorre nei tubi, ma in realtà si comporta differentemente, la presenza della resistenza opera indifferentemente sia messa prima del negativo che prima del positivo, il perché di questo “strano” comportamento esula da questo articolo, ma è affascinante.

Ed ora vediamo l'immagine

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

potevamo disporre diversamente i fili, ne avremmo risparmiati due.

Come vedete il led è collegato con il polo positivo al pin 11 e con il negativo alla resistenza, l'altro capo della resistenza è collegato a GND.

Lo schema e l'immagine è stata realizzata con un software che si chiama Fritzing, forse ne parleremo.

Ora apriamo l'IDE di Arduino, sul nostro computer e scriviamo:

/* Questo

è un commento

*/

//Anche questo è un commento

 

#define LED=11

 

void setup()

{

pinMode(11, OUTPUT);

}

 

void loop()

{

digitalWrite(LED,HIGH);

delay(1000);

digitalWrite(LED,LOW);

delay(1000);

}

Commentiamo riga per riga per prendere confidenza con il linguaggio di programmazione.

/* Questo

I simboli /* indicano che quello che segue sono commenti, cioè il software non deve fare nulla, per il compilatore è come non esistessero. Possiamo scrivere ciò che ci pare e piace sino alla fine del commento indicato dai simboli */

//Anche questo è un commento

Sempre commenti, ma questa volta il simbolo che introduce il commento è // ed indica che il commento è solo su una riga

#define LED=11

definisce una costante di nome led e la fissa al pin 11

void setup()

tutti gli scketch, così vengono chiamati i programmi, hanno due funzioni obbligatorie: setup e loop. Setup viene eseguita solo all'avvio del programma, loop continua ciclicamente.

{

la parentesi graffa apre i comandi

pinMode(11, OUTPUT);

questo comando indica di assegnare al pin 11 la modalità OUTPUT, cioè di inviare all'esterno il voltaggio. Se si fosse trattato di un sensore di cui dovevamo leggere lo stato lo avremmo assegnato come INPUT con il comando pinMode(11, OUTPUT);

}

chiude i comandi

void loop()

la seconda funzione ciclica, quello che avviene dopo viene ripetuto all'infinito.

{

apre i comandi

digitalWrite(LED,HIGH);

ordina di assegnare il valore HIGH (5 Volt) alla cosatnte LED (ovvero al pin 11). DigitalWrite è collegato ai PIN digitali che possono essere asseganti come uscite (OUTPUT) o entrate (INPUT) ed accettano due valori: o HIGH o LOW. Con questo comando “escono” dal PIN 11 5V e poiché, con un filo, il pin è collegato al led, a quest'ultimo arriva corrente e si accende.

delay(1000);

Il comando ordina di attendere un secondo, il valore è in millisecondi. Siccome Arduino è velocissimo, se non inserissimo questo comando vedremmo il led sempre accesso.

digitalWrite(LED,LOW);

spegne il led

delay(1000);

aspetta un secondo

}

chiude i comandi e ricomincia il loop. Il pin lampeggia sino a quando non togliamo l'alimentazione.

Controlliamo la compilazione, premendo il cerchietto con la spunta in alto a sinistra nell'IDE e, se tutto è andato bene, carichiamo il programma su Arduino, premendo il bottone con la freccia subito accanto a destra. Se tutto è andato ben, vedremo il nostro led lampeggiare

 

Alcune immagini sono state prese da internet. Dove è stato possibile abbiamo indicato il sito originale. Siamo a disposizione degli aventi diritto.