Pages: [1]   Go Down
Author Topic: led rgb a tre stati  (Read 610 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21583
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21583
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: December 31, 2012, 04:24:46 pm by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Pages: [1]   Go Up
Jump to: