A
Arduino•9mo ago
Unknown User

[Wiring Help Needed] How to wire 2 LED strips to 1 Arduino Nano with I/O switch?

115 Replies
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
Deciding if you want to device the led strip is more to do with wiring than "seperating the patterns"
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
you can test the project in wowi
DarwinWasWrong
DarwinWasWrong•9mo ago
ColorPalette.ino - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
you jave a strip. you can either wire it as two or logically make it two
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
Ok. What I am saying is, you can have one strip, which acts as two LOGICAL strips. If you want two physical strips then you can do that as well. All depends on wiring ease So you have a power bank.
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
ok.
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX
No description
DarwinWasWrong
DarwinWasWrong•9mo ago
Fast Led 2 bars - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
AnonEngineering
AnonEngineering•9mo ago
the red and white thicker wires are to supply power from an external source. if powering that way (which is recommended) you only connect ground and data to the arduino
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
AnonEngineering
AnonEngineering•9mo ago
the red on the connector would go to the arduino 5v, yes USB 5-pin terminal ? oh, that green phoenix terminal, yes, 5v power to the strip from there, three pins back to arduino inside that heatshrink tubing red & white are connected to the thinner red & white that way no high current passes through the arduino which was the long way of saying yes you are correct šŸ˜‰
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX also check the orientation of the usb connecter wiring - I dont know which pin is what in terms of 5v and ground
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
so the greens are the signal wire to the leds. The white is ground - so thats wrong hang on
DarwinWasWrong
DarwinWasWrong•9mo ago
No description
DarwinWasWrong
DarwinWasWrong•9mo ago
the blue and yellow are actually green šŸ˜† but for claritys sake...
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
on the leds, those wires connect to the same place on the strip as the white and the red on the connector Now with 100 50 leds on each strip, you have to consider the current each led "pixel" consists of 3 leds which at full brightness would take about 20mA each so one pixel is 60mA
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
so 50 x 60mA at full brightness white = 3 Amps so you have to work out the overall brightness to have the effect you want while keeping the current draw down do you have a video of the effect yoy want ?
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
No description
DarwinWasWrong
DarwinWasWrong•9mo ago
Fast Led 2 bars - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•9mo ago
this is where wokwi can save some time by testing there Now with wokwi, you dont need to place the 5v and ground - that is already assumed. so dont be confused by the lack of wires
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
Yes, you can change that -
DarwinWasWrong
DarwinWasWrong•9mo ago
I have updated it so you can just change the type https://wokwi.com/projects/427655993133052929
Fast Led 2 bars - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•9mo ago
and added in the fade to black for reference The fast led library has a lot of examples.
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX you can add in the pulse. @NikkeiZX how did you go ?
DarwinWasWrong
DarwinWasWrong•9mo ago
Fast Led 2 bars - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•9mo ago
No description
DarwinWasWrong
DarwinWasWrong•9mo ago
oh
// these are the bar colors two pixel sets
// base[0] = base[1] = CRGB::Yellow; //custom colors
// base[2] = base[3] = CRGB::White;
// base[4] = base[5] = CRGB::Yellow;

// these are the bar colors single pixel sets
base[0] = CRGB::Yellow; //custom colors
base[1] = CRGB::White;
base[2] = CRGB::Yellow;
// these are the bar colors two pixel sets
// base[0] = base[1] = CRGB::Yellow; //custom colors
// base[2] = base[3] = CRGB::White;
// base[4] = base[5] = CRGB::Yellow;

// these are the bar colors single pixel sets
base[0] = CRGB::Yellow; //custom colors
base[1] = CRGB::White;
base[2] = CRGB::Yellow;
this allow you to make the thing longer or differrent colors
DarwinWasWrong
DarwinWasWrong•9mo ago
No description
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
GitHub
FastLED HSV Colors
The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github &quot...
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX
A "CRGB" is an object representing a color in RGB color space. It contains simply:

a one byte value (0-255) representing the amount of red,
a one byte value (0-255) representing the amount of green,
a one byte value (0-255) representing the amount of blue in a given color.
A "CRGB" is an object representing a color in RGB color space. It contains simply:

a one byte value (0-255) representing the amount of red,
a one byte value (0-255) representing the amount of green,
a one byte value (0-255) representing the amount of blue in a given color.
DarwinWasWrong
DarwinWasWrong•9mo ago
GitHub
Pixel reference
The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github &quot...
DarwinWasWrong
DarwinWasWrong•9mo ago
so you can use CRGB( 0, 255, 127); anywhere where CRGB:: is used you can use like CRGB( 0, 255, 127) to define your colours exactly or you can make you own colour sets eg
CRGB mycyan = {0, 255, 127};
CRGB mycyan = {0, 255, 127};
with some fiddling 8-)
void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{

leds[y] = mycyan ;
FastLED.delay(5);
FastLED.show();
}
void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{

leds[y] = mycyan ;
FastLED.delay(5);
FastLED.show();
}
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX this is the last one with defined colours https://wokwi.com/projects/427655993133052929
Fast Led 2 bars - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
SORT OF. delay is a blocking function - it stops everything from working
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
hmm ?
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{

leds[y] = mycyan ;
FastLED.delay(5);

}
}
void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{

leds[y] = mycyan ;
FastLED.delay(5);

}
}
y starts at 0 and move along to < number of leds So you would start from NUM_LEDS -1 and go to y <0 and y-- to reduce or change leds[y] = mycyan ; to leds[NUM_LEDS - y] = mycyan And some other work on the red yellow pard...
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•9mo ago
I am looking at reversing the whole code. for the wiring. Will have to get back to you on this - work calls. 😱
DarwinWasWrong
DarwinWasWrong•9mo ago
@NikkeiZX oh, after your comment I checked - the apparent wring in wokwi is not true to life. The first led lighting is next to the din wire.
No description
DarwinWasWrong
DarwinWasWrong•9mo ago
The middle line is seprate neopixels - so on the actual animation the leds start where the wire is...
Unknown User
Unknown UserOP•9mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Yeah, but test it @NikkeiZX how did you go ?
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
this diagrame ?
No description
DarwinWasWrong
DarwinWasWrong•8mo ago
@NikkeiZX you have two of these ?
DarwinWasWrong
DarwinWasWrong•8mo ago
No description
DarwinWasWrong
DarwinWasWrong•8mo ago
@NikkeiZX clearer ???
No description
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Make sure the white/black in in grn - Red in power + on usb connector
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
the vin on the nano 3 is a voltage regulated input
No description
DarwinWasWrong
DarwinWasWrong•8mo ago
It auto selects the power source if the usb us plugged in. you should not need to unplug anything
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Led_sword_cyan - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•8mo ago
I have to recreate the other animation as well @NikkeiZX mostly done
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
this is the block that moves down the sword cyan cyan cyan yellow yellow yellow white white white yellow yellow yellow I am trying to fix some glitchy stuff with that the cyan is a fiddle to keep the sword coloured but is stupid @NikkeiZX in the video - it looks like the centre of the moving block is a bit red. Is that a camera artefact
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
It can be added if you want. but the actual moving block looks kinda red
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Naw - I like pink....\
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Led_sword_cyan - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•8mo ago
try that - colour order was wrong
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
though, instead of the waves flowing continuously, is there a way to have it where it only sends 1 wave every 3 seconds? so. sequence turn on. run start up - cyan to top then run first yellow animation ? wait 3 seconds run next wAve
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
are you happy witht he size of the clock ? block and colours @NikkeiZX
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
carefully ? šŸ˜†
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
I will add this in
#define BLOCK_SIZE 4 // size of the block pixels
#define BLOCK_SIZE 4 // size of the block pixels
then
CRGB block[BLOCK_SIZE ];
CRGB block[BLOCK_SIZE ];
then you set up
block[0] = CRGB::Yellow;
block[1] = CRGB::Yellow;
block[2] = CRGB::White;
block[3] = CRGB::Yellow;
block[4] = CRGB::Yellow;
block[0] = CRGB::Yellow;
block[1] = CRGB::Yellow;
block[2] = CRGB::White;
block[3] = CRGB::Yellow;
block[4] = CRGB::Yellow;
so in that case - the block size is 5 (starting at 0 ) = 5 the size of the block array is 5 (starting at 0 ) = 5 and the colours are as setup You can increase or decrease as required youc an also define your own colours as per mycyan I changed the block name to make more sense.
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Led_sword_cyan 2 - Wokwi ESP32, STM32, Arduino Simulator
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!
DarwinWasWrong
DarwinWasWrong•8mo ago
No description
DarwinWasWrong
DarwinWasWrong•8mo ago
#define FRAMES_PER_SECOND 120
#define START_SPEED 100
#define FRAMES_PER_SECOND 120
#define START_SPEED 100
on real hardware is better speed
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Starts serial for debugging. Can be removed You can print on the serial monitor to see what the variables are doing or where the program is at. eg Serial.println("Ended Setup");
DarwinWasWrong
DarwinWasWrong•8mo ago
DarwinWasWrong
DarwinWasWrong•8mo ago
Thats bout the speed on real hardware with the settings above
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Yes, but wear sunglasses.
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Yeah, check once it is in cover. The other option in power saving is to rapidly turn them off and on, but that is painful. You can roughly work out the use by 20mA x each intensity value in colours. Eg your cyan 0 x 20 20 x 255/255 20x 255/127 So 30mA at full brightness Per pixel Then divide by brightness. Eg half bright = 15mA per pixel of cyan This is roughly a guide.
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
No access - set to public ?
DarwinWasWrong
DarwinWasWrong•8mo ago
@NikkeiZX what is the issue ?
No description
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
the colour of the cables is not important on the switch they slap red and black on it just --- because.
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
I HATE that ! Just realised my print is 50x50 and its meant to be 75x75...
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
looks fine - you have the two control lines to the leds strips. Earth and 5v Once the black wire goes to the +ve of the usb thingy You can put a label on the black sucker...... +VE Turn it on and then adjust the timing
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
Nice work. One thing you could do is work out the values for a less bright cyan, then have the power block moving down the blade as a higher brightness Thanks for sharing as well @NikkeiZX
#include "FastLED.h"
#define leds1PIN 8
#define leds2PIN 9
#define LED_TYPE WS2811
#define COLOR_ORDER GRB
#define NUM_LEDS 64
#define FRAMES_PER_SECOND 120
#define START_SPEED 1
#define BLOCK_SIZE 6

CRGB leds [NUM_LEDS + BLOCK_SIZE ]; // space on the end to CRGB base[BLOCK_SIZE ];

// full bright cyan
CHSV mycyan = {145,255,255};
// full bright yellow
CHSV myyellow = rgb2hsv_approximate(CRGB::Yellow);
// full bright white
CHSV mywhite = rgb2hsv_approximate(CRGB::White);

#define RATE 10 //how fast block pattern moves (smaller =faster)
#define RATE_WAIT 3000 // between pulses
uint8_t pos = 0; // position along strip
uint8_t start_block_element=0; // position along block

void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{
leds[y] = mycyan ;
FastLED.delay(START_SPEED);
}
}

void initial_pattern()
{
while (pos < NUM_LEDS + BLOCK_SIZE )
{
EVERY_N_MILLISECONDS(RATE)
{
start_block_element=0;
// if starting not all block is shown
if ( pos < BLOCK_SIZE )
{
start_block_element =BLOCK_SIZE-(pos);
}
for ( uint8_t t= start_block_element; t < BLOCK_SIZE; t++)
{
leds[pos +(t-BLOCK_SIZE)] = base[t];
}
pos++;
}
FastLED.show(); // Display the pixels.
}
}

void setup() {
mycyan.v = mycyan.v *.2; // set bright
myyellow.v = myyellow.v *.5; // half bright
mywhite.v = mywhite.v *.5; // half bright

FastLED.addLeds<WS2812,leds1PIN,COLOR_ORDER >(leds,NUM_LEDS);
FastLED.addLeds<WS2812,leds2PIN,COLOR_ORDER >(leds,NUM_LEDS);

// change BLOCK_SIZE to suit
base[0] = mycyan; // end of pattern -
base[1] = myyellow;
base[2] = myyellow;
base[3] = mywhite;
base[4] = myyellow;
base[5] = myyellow;

turnon();
initial_pattern();
}

void loop() {
EVERY_N_MILLISECONDS(RATE_WAIT)
{
pos=0;
initial_pattern();
}
}
#include "FastLED.h"
#define leds1PIN 8
#define leds2PIN 9
#define LED_TYPE WS2811
#define COLOR_ORDER GRB
#define NUM_LEDS 64
#define FRAMES_PER_SECOND 120
#define START_SPEED 1
#define BLOCK_SIZE 6

CRGB leds [NUM_LEDS + BLOCK_SIZE ]; // space on the end to CRGB base[BLOCK_SIZE ];

// full bright cyan
CHSV mycyan = {145,255,255};
// full bright yellow
CHSV myyellow = rgb2hsv_approximate(CRGB::Yellow);
// full bright white
CHSV mywhite = rgb2hsv_approximate(CRGB::White);

#define RATE 10 //how fast block pattern moves (smaller =faster)
#define RATE_WAIT 3000 // between pulses
uint8_t pos = 0; // position along strip
uint8_t start_block_element=0; // position along block

void turnon()
{
for ( int y=0; y <NUM_LEDS;y++ )
{
leds[y] = mycyan ;
FastLED.delay(START_SPEED);
}
}

void initial_pattern()
{
while (pos < NUM_LEDS + BLOCK_SIZE )
{
EVERY_N_MILLISECONDS(RATE)
{
start_block_element=0;
// if starting not all block is shown
if ( pos < BLOCK_SIZE )
{
start_block_element =BLOCK_SIZE-(pos);
}
for ( uint8_t t= start_block_element; t < BLOCK_SIZE; t++)
{
leds[pos +(t-BLOCK_SIZE)] = base[t];
}
pos++;
}
FastLED.show(); // Display the pixels.
}
}

void setup() {
mycyan.v = mycyan.v *.2; // set bright
myyellow.v = myyellow.v *.5; // half bright
mywhite.v = mywhite.v *.5; // half bright

FastLED.addLeds<WS2812,leds1PIN,COLOR_ORDER >(leds,NUM_LEDS);
FastLED.addLeds<WS2812,leds2PIN,COLOR_ORDER >(leds,NUM_LEDS);

// change BLOCK_SIZE to suit
base[0] = mycyan; // end of pattern -
base[1] = myyellow;
base[2] = myyellow;
base[3] = mywhite;
base[4] = myyellow;
base[5] = myyellow;

turnon();
initial_pattern();
}

void loop() {
EVERY_N_MILLISECONDS(RATE_WAIT)
{
pos=0;
initial_pattern();
}
}
@NikkeiZX please note
// full bright cyan
CHSV mycyan = {145,255,255};
// full bright yellow
CHSV myyellow = rgb2hsv_approximate(CRGB::Yellow);
// full bright white
CHSV mywhite = rgb2hsv_approximate(CRGB::White);
// full bright cyan
CHSV mycyan = {145,255,255};
// full bright yellow
CHSV myyellow = rgb2hsv_approximate(CRGB::Yellow);
// full bright white
CHSV mywhite = rgb2hsv_approximate(CRGB::White);
The FastLED Hue-Saturation-Value color model differs from 'traditional' computer HSV color models in two important respects: first is differences in the numeric range of values used to represent colors (everything here is a one-byte value from 0-255), and second is in the mapping of hue numbers to colors themselves (FastLED defaults to using a richer 'rainbow' color map, instead of the traditional 'spectrum' color mapping). What it means is we can set the values for each section rather than the WHOLE strip
mycyan.v = mycyan.v *.2; // set bright
myyellow.v = myyellow.v *.5; // half bright
mywhite.v = mywhite.v *.5; // half bright
mycyan.v = mycyan.v *.2; // set bright
myyellow.v = myyellow.v *.5; // half bright
mywhite.v = mywhite.v *.5; // half bright
so you can have cyan 20% brightness then the power pulse 50%
DarwinWasWrong
DarwinWasWrong•8mo ago
Unknown User
Unknown UserOP•8mo ago
Message Not Public
Sign In & Join Server To View
DarwinWasWrong
DarwinWasWrong•8mo ago
The code is the same result as previous, only change is not using the overall brightness control If you have received g b color pref, you can convert to have using rgb2hsv_approximate

Did you find this page helpful?