Arduino: sfumare LED RGB con tre fotoresistenze e filtri

Usando un led a tre colori e tre fotoresistenze, potrai creare una “lampada” che cambia colore in base alle condizioni esterne di luce.

Far lampeggiare i LED può essere divertente, ma che ne pensi di farli sfumare o miscelarne i colori? Ti potresti aspettare che si tratti solo di fornire meno tensione a un LED per fargli cambiare luminosità?

Arduino non può variare la tensione di uscita dei suoi piedini che può essere solo di 5 V. Quindi avrai bisogno di una tecnica chiamata di larghezza di impulso – in inglese Pulse With Modulation (PWM) – per attenuare i LED. La modulazione di larghezza di impulso accende e spegne rapidamente i piedini di uscita in un determinato intervallo di tempo. Il cambiamento avviene più velocemente di quanto l’occhio umano possa percepire.

E’ simile al modo in cui funziona il cinema: mostrare velocemente una serie di immagini fisse per creare l’illusione del movimento.

Quando fai passare velocemente il piedino da HIGH a LOW, è come se stessi cambiando la tensione. La percentuale di tempo in cui un piedino è HIGH in un periodo è chiamata duty cycle o ciclo di lavoro utile. Quando il piedino è HIGH per metà di un periodo e LOW per l’altra metà, il ciclo di lavoro è 50%. Un ciclo di lavoro più basso produce un LED più attenuato che un ciclo di lavoro più alto.

Arduino Uno ha sei piedini riservati al PWM (piedini digitali 3, 5, 6, 9, 10 e 11); sono identificati dal simbolo ~ accanto al loro numero sulla board.

In questo progetto come ingressi userai delle fotoresistenze (sensori che cambiano la loro resistenza secondo la quantità di luce che li colpisce; sono conosciuti anche come fotocellule o fotoricevitori). Se ne colleghi una estremità ad Arduino, puoi misurare il cambiamento di resistenza controllando la tensione sul piedino.

Componenti da utilizzare:

  • 1x LED RGB
  • 1x Scheda Arduino Uno
  • 3x resistenza da 220 ohm
  • 3x resistenza da 10 kilo ohm
  • 3x fotoresistenze
  • Vari jumper
  • Filtri colorati

Ecco qui il diagramma di collegamento:

fotoresistenze

Metti tre fotoresistenze sulla breadboard a cavallo del separatore centrale. Collega una estremità di ogni fotoresistenza all’alimentazione. Sull’altro lato, collega a massa una resistenza da 10 kilo ohm. Questa resistenza è in serie con la fotoresistenza, e insieme formano un partitore di tensione.

La tensione nel punto in cui si incontrano è proporzionale al rapporto delle loro resistenze, seconda la legge di Ohm.

Al variare della luce che colpisce la fotoresistenza cambia la tensione nel punto di contatto.

Prendi tre filtri colorati e posizionali ciascuno su una fotoresistenza. Metti il filtro rosso sulla fotoresistenza collegata al pin A0. Metti il filtro verde sulla fotoresistenza collegata al pin A1. Metti il filtro blu sulla fotoresistenza collegata al pin A2. Ognuno di questi filtri consente solo alla luce di una specifica lunghezza d’onda di arrivare al sensore. Il filtro rosso per esempio fa passare solo la luce rossa. Questo permette di rilevare i livelli di colore nella luce che colpisce i sensori.

Il led RGB contiene tre elementi separati – rosso, verde e blu – e una massa comune (il catodo). Creando una differenza di tensione tra il catodo e la tensione di uscita dei piedini PWM dell’arduino.

Il codice

La spiegazione delle varie funzioni e istruzioni è inserita all’interno del codice con dei commenti.

Ora sei pronto a copiare e caricare il codice sulla scheda Arduino.

fotoresistenze

Conclusione

Quando hai programmato e collegato Arduino, apri il monitor seriale. Il led è probabilmente di un colore biancastro, a seconda dal colore predominate della luce nella tua stanza. Guarda i valori provenienti dai sensori nel monitor seriale: se sei in un ambiente con illuminazione stabile, il numero sarà probabilmente abbastanza consistente.

Spegni la luce nella stanza in cui stai lavorando e guarda cosa succede ai valori dei sensori. Con una torica elettrica, illumina ogni sensore e nota come i valori cambiano nel monitor seriale, e come il LED cambia colore. Quando le fotoresitenze sono coperte con un filtro, reagiscono solo alla luce di una certa lunghezza d’onda. Questo ti dà la possibilità di cambiare ogni colore in modo indipendente.

Probabilmente hai notato che la sfumatura dei LED non è lineare. Quando il LED è circa a metà luminosità, sembra che non diventi più luminoso. Questo perché i nostri occhi non percepiscono la luminosità in maniera lineare. La luminosità non dipende solo dalla funzione analogWrite(); ma anche dalla distanza della luce dal diffusore, la distanza dell’occhio dalla luce e la luminosità della luce rispetto all’ambiente circostante.

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.