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.