Arduino: Luminosità Led Con Potenziometro

L’esperimento consiste nel regolare, tramite potenziometro, l’intensità della luce emessa da un LED.

Materiale richiesto:
1 resistenza 1KOhm
1  potenziometro
1 led
e ovviamente un arduino.
Piccolo ripasso dei componenti:

Potenziometro,  fondamentalmente è un dispositivo che  permette di variare la resistenza, e quindi la quantita di corrente che attraversa il circuito, tramire una semplice manopola. O meglio, non regola la quantita di corrente  ma bensi la tensione. Infatti le resistenze NON bloccano la corrente! come per tutti i bipoli elettrici, si ha che I(in) = I(out), sempre!
Quello che fanno è assorbire della potenza e provocare una caduta di tensione ai capi. Ricordiamo che la prima legge di Ohm è V=R*I, essendo I costante variando R variamo la V.





Led, è un compontente che sviluppa luce al passaggio di corrente. O meglio, il led si comporta come un conduttore perfetto quando si applica una tensione in un certo modo (polarizzazione diretta),  e diventa un isolante quando si inverte la tensione (polarizzazione inversa) . Tutto questo in teoria, nella realtà, osservando la curva corrente-tensione di un diodo, si nota che la conduzione in polarizzazione diretta
è possibile solo superando una tensione di soglia Vg. Il polo positivo è detto anodo, quello negativo catodo. La polarizzazione diretta è quando si applica il positivo all anodo e il negativo al catodo
Riassumento e semplificando, possiamo considerare questo dispositivo dal suo aspetto funzionale (ideale) come un interruttore, il quale risulta essere chiuso quando è polarizzato direttamente (quindi percorso da una determinata intensità di corrente) ed aperto quando è polarizzato inversamente (non consente il passaggio di intensità di corrente, nel caso ideale).

Schema elettronico

 

 

 

 

 

 

 

 

Per quanto riguarda la  parte software abbiamo

int valore = 0;
int pinPonteziometro = A0;
int pinLed = 9;
void setup() {
pinMode(pinPonteziometro, INPUT); // pin potenziometro
pinMode(pinLed, OUTPUT); // pin led
Serial.begin(9600); // inizializza il collegamento seriale

}

void loop() {
valore = analogRead(pinPonteziometro); // legge il valore analogico del //potenziometro
Serial.print("Valore letto dal potenziometro:");
Serial.println(valore); // Stampa il valore letto
if (valore > 255)
digitalWrite(pinLed, HIGH); //accende il led
if (valore < 0)
digitalWrite(pinLed, LOW); //spegne il led
if (valore > 0 && valore < 255)
digitalWrite(pinLed, valore); // intensita luminosa del led uguale al valore letto dal potenziometro
delay(1000); // aspetta 1000 millisecondi, ossia un secondo
}

da notare che la luminosità del led può assumere valori che vanno da 0 a 255, mentre i valori del potenziometro vanno fino a 1024, se non sbaglio, ecco spiegato il perchè delle if.

Uno sketch è composto da due funzioni: setup() che serve a inizializzare le varie componenti e loop() che viene eseguita in continuazione su arduino. Altre funzioni native di arduino sono:

  • digitalWrite(a1,a2), comunica al pin digitale a1 di assumere il valore a2
  • analogRead(a1), legge il valore analogico dalla porta a1.  

Lascia un commento

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