Newsgroup: it.hobby.elettronica.digitale
Titolo: pwm a pulsante unico

ciao,
ho un led rgb pilotato da 3 pwm a 10-bit;
posso quindi produrre discretamente tutti i vari colori e l'utente 
finale deve poter scegliere quello che gli interessa;
ho però 1 solo pulsante per fare tutto
come soluzione pensavo di entrare nel setup con una pressione prolungata 
del pulsante e poi far variare velocemente tutti i colori in sequenza in 
modo che quando l'utente vede quello che lo aggrada preme il pulsante e 
il micro registra, stop
solo che a conti fatti è come doversi "muovere" dentro una struttura a 3 
dimensioni e oltre 1 miliardo di combinazioni
voi come fareste?
-ice-

 -ice-
Non capisco queste pulsioni all'autolesionismo...  :-(
Io farei così:
normalmente il LED presenta il colore composto, quello che deve
mantenere in modo persistente durante il normale funzionamento.
Una pressione veloce del pulsante genera la selezione del colore che
si manifesta col lampeggio molto rapido (flicker) di quello
selezionato (R|G|B).
Il flicker deve durare quanto basta per far capire su cosa si andrà ad
agire per poi lasciar posto al colore composto ( un secondo è
sufficiente).
La pressione prolungata deve poter incrementare il colore selezionato.
Una seconda pressione prolungata deve generare un decremento.
Incremento e decremento devono succedersi ad ogni pressione prolungata
fintantoché una rapida pressione cambia il colore selezionato.
Quindi, premendo rapidamente il pulsante dovremo assistere alla
successione di R, G, B flickeranti, in modo circolare.
Aggiungerei anche una quarta regolazione, agente sull'insieme dei
colori, una sorta di luminosità con gli stessi criteri di regolazione
dei colori.
Quindi, flickeranti, a seguito di pressioni veloci: R -> G -> B ->
Luminosità -> R -> G -> B -> Luminosità...
Dopo 1 secondo dall'ultima pressione veloce: colore composto stabile
Pressione persistente -> incremento intensità colore selezionato
Altra pressione persistente -> decremento
Altra pressione persistente -> incremento
Altra pressione persistente -> decremento
e così via, fino ad una pressione veloce che cambia colore o, meglio,
presenta dapprima il colore attualmente selezionato e solo una seconda
pressione veloce commuta canale.
That's all, folks!
Piccio.

 ho però 1 solo pulsante per fare tutto
ih ih, io per un'applicazione molto simile (ma per uso personale...) ho 
risolto trasmettendo con il pulsante i valori RGB in codice morse ;)
Marco

 dei colori.
su questo ho un dubbio:
variando allo stesso modo tutti e 3 i duty-cycles ottengo solo una 
variazione di luminosità del colore scelto oppure, come credo, anche un 
viraggio del colore?
molte grazie
-ice-

viraggio del colore?
Otterrai anche una variazione del colore perchè la risposta alla variazione di
tensione di ciascun led è differente.
Potresti cercare di uniformare la variazione facendo una tabella per ogni led e
ogni punto di variazione, anche grossolana, per compensare questo effetto.
--
ciao
  Stefano

 ogni punto di variazione, anche grossolana, per compensare questo effetto.
Se riesci a calibrare con una LUT i led potresti adottare il modello HSB 
anziché RGB. Dovrebbe essere piů intuitivo da gestire per l'utente medio.
Marco

 Marco
Lo stesso volevo implementare per l'orologio in codice Morse di antica
concezione per settare l'ora anziché accenderlo esattamente alle
12:00   :-).
https://groups.google.com/group/it.hobby.elettronica/msg/7d94f28e24c55191?hl=it
Piccio.