Realizzare un circuito che abbia come input analogico una fotoresistenza ed un output analogico costituito da un led luminoso.
L'intensità della luminosità del led deve poter essere regolata dalla fotoresistenza.
La luminosità del led deve essere inversamente proporzionale alla luminosità presente nell'ambiente.
Esercizio 2
Possiamo impostare un circuito come quello qui schematizzato.
• LED collegato tra il pin 9 e la massa.
• Resistenza da 220 Ω collegata tra il LED e la massa.
• Fotoresistenza alimentata a 5V collegata all'ingresso analogico A0.
• Resistenza da 4.7 kΩ collegata tra la foto resistenza e la
massa.
Il pin analogico A0 legge i valori della fotoresistenza, tenendo conto
che
0 → ambiente buio
1023 → ambiente completamente illuminato
Questi valori devono essere convertiti in un range 0÷255, ma al contrario;
quindi noi useremo la funzione di conversione map proprio al contrario
lux = map(trimmer, 26, 923, 255, 0);
questo permette di avere il massimo della luminosità del LED quando nell'ambiente è buio, mentre quando la luminosità dell'ambiente sarà al suo massimo il LED sarà completamente spento. Per regolare la l'illuminazione dell'ambiente nel simulatore bisogna cliccare sulla foto resistenza e regolare il cursore che appare sotto di essa.
Il programma stampa sul monitor seriale anche i valori dell'ingresso analogico A0 della variabile trimmer e dell'uscità costituita dall'intensità luminosa del LED tramite la varibile lux.
int trimmer = 0;
int lux = 0;
void setup(){
pinMode(A0, INPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void loop(){
// legge il valore analogico in
ingresso
trimmer = analogRead(A0);
// lo converte in un output analogico
di uscita
lux = map(trimmer, 26, 923, 255, 0);
//applica il valore di uscita
al led
analogWrite(9, lux);
Serial.print(trimmer);Serial.print(" - ");
Serial.println(lux);
//aspetta 2 millisecondi prima
del ciclo successivo per
//permettere il convertitore analogico-digitale di
//reimpostarsi dopo l'ultima lettura:
delay(2);
//pausa 2ms
}
All'avvio il valore della luminosità dell'ambiente è 0 dunque il LED dovrebbe trovarsi al massimo della sua luminosità.