Go Down

Topic: led rgb a tre stati (Read 699 times) previous topic - next topic

Dimitree

ciao a tutti
nel mio progetto avrei queste necessità:

- accendere/spegnere 4 led RGB ottendendo qualsiasi combinazione di colore.
- INOLTRE poter accendere anche "a bassa intensità" ognuno di questi 4 led (in pratica appena visibile nel buio..), sempre ottenendo qualsiasi combinazione di colore.
- controllare un quinto led RGB (il backlight un display LCD) ottenendo qualsiasi combinazione di colore, sempre acceso.
- il colore è unico per TUTTI i 5 led nello stesso momento

in pratica, un esempio:
2 led accesi, 1 led spento, 1 led semi-acceso, led del display acceso. tutti i led viola.

oppure, in un altra situazione:
3 led accesi, 1 led semi-acceso, led del display acceso. tutti i led arancioni.

spero di essere stato chiaro.
mi chiedevo quale fosse la migliore configurazione per tutti questi led che mi permettesse di risparmiare più pin possibili, e inoltre mi chiedo come posso fare per accendere a bassa intensità i led, oltre che accenderli/spegnerli nel modo classico.

uwefed

Se non tutti i 5 LED possono avere lo stesso colore e la stessa luminositá li puoi pilotare con 3 segnali PWM. Devi usare 3 transistori e pilotarli dalle 3 uscite PWM dell'Arduino. I transsitori servono perché i LED consumano troppa corrente per poter essere alimentati direttamente dal pin di Arduino.
Se vuoi cambiare sia il colore che la luminositá dei 5 LED singolarmente allora usa un TLC5940, ma ti servono i LED ad Anodo comune (non catodo comune).
http://playground.arduino.cc/Learning/TLC5940
e http://tlc5940arduino.googlecode.com/svn/wiki/images/breadboard-arduino-tlc5940.png
Ciao Uwe

Dimitree

ti ringrazio per la risposta.
non capisco però come potrei variare la luminosità di un singolo led (o spegnerlo) senza variare la luminosità degli altri led, usando solo 3 PWM.
Riguardo il colore, come ho detto, nello stesso istante è unico, quindi quando varia, varia per tutti i led.
Ma la luminosità è "individuale" e può avere tre stati: massima, spento, metà luminosità massima.

uwefed

Se vuoi variare la luminositá di un LED rispetto agli altri (pur mantenendo il colore) allora devi pilotare ogni LED singolarmente.
per avere massima luminositá per esempio bianco devi dare a tutti i 3 canali PWM il 100% ovvero 100% rosso, 100% verde e 100% blu.
per metá luminositá: 50% rosso, 50% verde e 50% blu.
e per spento a tutti 3 0%.
se vuoi farlo col rosso:
massima luminositá: 100% rosso, 0% verde e 0% blu.
per metá luminositá: 50% rosso, 0% verde e 0% blu.
ecc
Usa un TLC5940
Ciao Uwe

Dimitree

ok allora se trovo quell'IC utilizzo quello, altrimenti uso un arduino mega e qualche transistor, a seconda della disponibilità.
:) ti ringrazio ancora

Dimitree

ho visto soltanto ora che arduino mega ha 14 pwm (ma in altre parti leggo 15).
io necessito di 15 pwm (4 led rgb + 1 backlight = 15 led).
Devo per forza utilizzarli tutti e 15 indipendenti vero, per ottenere quel che voglio?

PaoloP

#6
Dec 31, 2012, 10:22 pm Last Edit: Dec 31, 2012, 10:24 pm by PaoloP Reason: 1
Si, sono 15: dal pin 2 al pin 13 e dal 44 al 46.

--> http://arduino.cc/en/Main/ArduinoBoardMega2560
Quote
PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the analogWrite() function.

Go Up