LED che lampeggia (Lezione 3)

Introduzione

Far lampeggiare un  diodo LED (Light Emitting Diode) potrebbe sembrare un’operazione  semplice e inutile dal punto di vista pratico didattico, ma dietro questa semplice funzione  ci sono dei concetti molto interessanti, soprattutto,  per chi si avvicina per la prima volta al  mondo dell’elettronica e dei sistemi embedded.

Le nozioni che imparerai alla fine  della lettura di questo articolo sono i seguenti:

  • Concetti di base del diodo LED
  • Breve cenno sulla legge di Ohm
  • Come polarizzare un diodo LED
  • Come calcolare la potenza dissipata da un resistore
  • Scrivere un codice per far lampeggiare un diodo LED con la funzione “delay”

Schema elettrico

Il diodo LED è un dispositivo elettronico che emette luce, quando si applica una tensione ai suoi capi, esso  lascia fluire la corrente in un solo verso, quindi,  è fondamentale, che la  polarità della tensione applicata sui suoi terminali sia corretta.  Dalla figura , riportata di seguito,  osserviamo che il diodo LED ha due reofori, quello più lungo è il positivo (anodo). 

Il terminale negativo è anche indicato come catodo. 

Di seguito  ho riportato lo schema elettrico  di polarizzazione di un diodo LED,  si osserva che per alimentarlo,  bisogna inserire in serie ad esso un resistore di valore opportuno, se fosse  di valore troppo basso,   il dido LED  potrebbe bruciarsi per effetto joule,  data l’eccessiva  corrente che fluisce nel dispositivo, mentre, se il  resistore è di valore troppo alto, il diodo LED  potrebbe emette una luce fioca oppure può risultare completamente spento.

 

Approfondimenti

Per far circolare la corrente in un circuito elettrico è necessario applicare una differenza di potenziale (ddp). La corrente è proporzionale al valore della ddp e della resistenza,  questo fenomeno è descritto  dalla  famosa legge di Ohm:

Dove “I” è la corrente , “V” è  ddp ed “R”  è  il valore del resistore.   Come possiamo osservare dalla relazione scritta sopra, maggiore è la tensione, a parità di resistenza, e maggiore è la corrente che circola nel circuito, lo stesso ragionamento si può fare con la resistenza, che si trova al denominatore e quindi dobbiamo aspettarci un comportamento opposto alla tensione, cioè, a parità di tensione , maggiore è la resistenza e minore e’ la corrente che circola nel circuito.

Fatta questa breve introduzione, per polarizzare un diodo, dobbiamo conoscere la corrente massima che può circolare nel componente e questa informazione la troviamo nel datasheet.  

In questo caso possiamo applicare la legge di Ohm,  precedentemente descritta, dobbiamo calcolare quale valore di resistenza deve avere il resistore affinché  la corrente che fluisce nel diodo LED non superi  i parametri indicati nel datasheet. Usiamo la formula inversa e otteniamo

La caduta di tensione sul diodo LED, riportata nel datasheet, prendiamo il valore tipico 2.25V e la corrente massima che può  fluire nel diodo è di 20 mA ( If). Il diodo LED,  è alimentato tramite l’uscita del microcontrollore, quindi, con una tensione di 5V, con questi valori abbiamo tutto il necessario per determinare la resistenza da usare.  Scriviamo l’equazione alla maglia:

Dove Vf è la caduta di tensione sul diodo led 2.25 (sempre ricavata dal datasheet).  Dall’equazione sopra possiamo ricavare Rx:

Per pilotare correttamente il diodo LED dobbiamo connettere in serie un resistore di 137 Ω ,  o un valore molto vicino, si potrebbe usare anche un resistore di 220 Ω, scorre meno corrente nel circuito, ma il diodo LED comunque  riesce ad illuminarsi con un’intensità accettabile. Tutto questo non basta, dobbiamo calcolare il valore di potenza massima che il resistore dissipa nel circuito. La potenza dissipata dal resistore si calcola tramite questa equazione potenza:

Nel nostro circuito possiamo utilizzare un resistore che riesce a dissipare una potenza  di 1/8  W, 125 mW.

Codice per il blink del diodo LED

 

// questo e' un commento  
    
    const int LED = 9; // definiamo il pin 9 della scheda Arduino con un nome mnemonico
    void setup()
     {
        pinMode (LED, OUTPUT); //  il pin LED e' configurato come uscita
     }
    void loop()
     {
    for (int i=100; i<=1000; i=i+100)
            {
                digitalWrite(LED, HIGH);
                delay(i);
                digitalWrite(LED, LOW);
                delay(i);
            }
     }

Uno sketch di Arduino, si divide in  due principali blocchi:

  • void setup():

In questo blocco, delimitato dalle parentesi graffe,  c’è il codice che il microcontrollore esegue  solo all’accensione, ossia, solo al Boot del sistema, per questo motivo, il codice inserito in questo blocco è dedicato alla configurazione del sistema , come per esempio l’impostazione dei pin di uscita e ingresso.

  • void loop():

 In questo  blocco le istruzioni sono ripetute all’infinito, tutte le funzioni che deve svolgere il microcontrollore devono essere scritte in questo blocco, sempre delimitato dalle parentesi graffe.  

  • const int LED=9;

Dichiariamo una costante , di valore intero, questo significa che  il valore 9 e’ associato alla label LED. A differenza di una variabile, può essere solo letta.

  • pinMode (LED, OUTPUT);

Con questa istruzione  indichiamo al compilatore  di impostare il pin indicato dalla costante LED  come uscita.

  • for (int i=100; i<=1000; i=i+100)

il ciclo for si ripete fino a quando, nel nostro caso, la variabile i e minore o uguale a 1000, essa è incrementata di  cento unità ad ogni interazione del codice, compreso tra le parentesi graffe, come indicato nella terza istruzione nella parentesi tonda (i=i+100).

  • digitalWrite(LED, HIGH);

Setta  a valore alto (circa 5V) l’uscita del microcontrollore collegata al diodo LED.

  • delay(i);

E’ una funzione, compresa nella libreria di Arduino, che ferma l’esecuzione del programma , per il tempo in ms, indicato dalla variabile i. Il valore della variabile i cambia di 100 unità ad agni interazione, in questo codice ad ogni interazione l’intervallo temporale in cui rimane acceso o spento il diodo LED cambia.

  • digitalWrite(LED, LOW);

Setta  a valore basso (circa 0V) l’uscita del microcontrollore collegata al diodo LED.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ti sei iscritto alla newsletter

There was an error while trying to send your request. Please try again.

Quattrodispositivi utilizzerà le informazioni fornite in questo modulo per restare in contatto con te e fornire aggiornamenti del sito