Questo progetto fà uso di Arduino UNO,due pulsanti n.a.,un led rgb, un display 7 segmenti e un shift register 74hc595. L'idea è quella di creare un circuito base ,che attraverso due pulsanti si possa cambiare colore al led ,aumentare o diminuire l'intensità di luce con un unico pulsante con il relativo livello di intensità visualizzabile sul display 7 segmenti.  

Il led RGB utilizzato nel circuito è a catodo comune ,

quindi le uscite di Arduino saranno alte per tenere il led spento.

Ad ogni pressione del tasto "cambia colore"vado a incrementare una variabile finché arrivo a 3 poi ritorno a 0.

In questo modo cambio il colore del led da rosso,verde e blu per poi ricominciare.

Con il secondo pulsante una volta premuto e fino a quando resta premuto incremento un valore variabile che va da 10 a 255 cioè quasi spento e quasi massima potenza.

Se rilascio e ripremo il pulsante il valore decrementa da 250 a 10.

In questo modo con due variabili booleane un unico interrutore incrementa e decrementa il valore di luminosità del led.

Con l'uso di "switch case" vedo dove passa il valore di potenza selezionando una variabile "i" impostata.

Con "shiftOut"invio il dato binario al 74hc595 che visualizzerà il livello di potenza sul display.

video:https://youtu.be/XUWdyoaiItU