# How do I translate a variable into HSV color values?

4 visualizzazioni (ultimi 30 giorni)
Shovnik Paul il 15 Lug 2022
Commentato: William Rose il 15 Lug 2022
I have this project where I am interfacing MATLAB with an Arduino board and reading input from an analog pin connected to a potentiometer. I want to use the voltage values read from the potentiometer to control the color of a rectangle. The voltage read is stored in the variable voltage
I have the following code:
while true
color = ??voltage??
fill([0 1 1 0], [0 0 1 1], color)
pause(0.1)
end
I would like to map the variable voltage to an HSV color value, specifically controlling the H(hue) parameter - so than when I turn my potentiometer wheel, I basically cycle through the different colors of the color wheel (ie change the hue). Is this possible? Any help is appreciated. Thanks.
Edit: the value of the voltage variable is in the range 0 - 5.
##### 0 CommentiMostra -1 commenti meno recentiNascondi -1 commenti meno recenti

Accedi per commentare.

### Risposta accettata

William Rose il 15 Lug 2022
Vmax=5;
while true
color = hsv2rgb(voltage/Vmax,1,1);
fill([0 1 1 0], [0 0 1 1], color);
pause(0.1)
end
Try the above. I tested it with the following modified code, which does not require an external input. It worked as expected, generating a whole range of colors from R to Y to G to C to B to M to R.
Vmax=5;
for i=0:24
voltage = i*Vmax/24;
color = hsv2rgb(voltage/Vmax,1,1);
fill([0 1 1 0], [0 0 1 1], color);
pause(0.5)
end
Good luck.
##### 2 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
William Rose il 15 Lug 2022
@Shovnik Paul, you're welcome.

Accedi per commentare.

### Categorie

Scopri di più su Modeling in Help Center e File Exchange

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by