giovedì 12 gennaio 2012

Arduino e LED (Digital Output...continua)

Finora abbiamo fatto lampeggiare il LED presente sulla scheda dell'arduino.
Vediamo in questo post come accendere un led utilizzando un'uscita digitale.

Cosa ci serve:
  • Arduino Board
  • 1 led
  • 1 resistenza 220ohm

Cos'è un led?
Un led è un componente che trasforma la corrente in luce. LED è l'acronimo di Light Emitting Diode; essendo un diodo permette alla corrente di transitare solo in una direzione (da + verso -) e la blocca nella direzione inversa, pertanto è necessario "orientare" il led nella direzione correta se vogliamo che si illumini.nz
La gamba più lunga del led indica il lato positivo (anodo). L'anodo è riconoscibile anche dalle dimensioni inferiori rispetto al catodo.

Perchè devo usare una resistenza?
Le uscite dell'arduino sono in grado di erogare al massimo 40mA. Per proteggere l'uscita abbassandone la corrente utilizziamo una resitenza.
Allo stesso tempo la resistenza proteggerà il dispositivo (nel nostro caso il led)

Come calcolo il valore della resistenza?
La resistenza è dimensionata in base alla quantità di corrente che vogliamo far transitare attraverso il nostro led. Maggiore è la corrente e maggiore sarà la luminosità del led
Led diversi vengono attraversati da tensioni diverse:

led rosso                                         1,7 V 
led verde                                         2,2 V

led ad alta intesità (bianchi o blu)  4,5 V

per il nostro arduino con uscite a 5V se utilizziamo un led verde (2,2V) la resistenza sarà attraversata da 2,8V. Per la legge di Ohm R=V/I avremmo che la corrente che attraversa la resistenza (e di conseguenza il led) sarà pari a 2,8V/2200ohm = 0,0014A.

Non dobbiamo esagerare con la corrente altrimenti corriamo il rischio di bruciare il led. Allo stesso tempo una resistemza troppo alta non consentira al led di illuminarsi.Generalmente un led normale (3mm o 5mm) sopporta una corrente massima di 20mA pertanto nel nostro circuito la resitenza minima dovrà essere pari a :
(5V-2,2V)/0,020mA = 160 ohm

Ricordando quanto visto in un precedente post al fine di proteggere anche il pin dell'arduino da correnti eccessive megli utilizzare resistenze >470ohm

Sketch

In maniera analoga a quello che abbiamo già visto utilizzando il led integrato sul pin 13 il codice, per far lampeggiare un led collegato al pin 2 dovremmo utilizzare il codice seguente:



void setup()
{
pinMode(2, OUTPUT);      //configuriamo il pin 2 come uscita digitale
} 
void loop()                     
  digitalWrite(2, HIGH);    // accende il led portando alta l'uscita
  delay(1000);              // un secondo di attesa
  digitalWrite(2, LOW);     // spegne il led portando bassa l'uscita
  delay(1000);              // un secondo di attesa
}

possiamo quindi compilare il codice e inviarlo all'arduino.

Circuito





Riferimenti:

http://www.thebox.myzen.co.uk/Tutorial/LEDs.html
http://www.ladyada.net/learn/arduino/LEDs.html
http://www.ladyada.net/learn/arduino/lesson3.html
http://ledcalc.com/
http://arduino.cc/en/Tutorial/DigitalPins





Nessun commento:

Posta un commento