Wow, lots of great info here. It was good to have the demo and explanation of the calibration process, and then show how to normalize the sensor data for useful output. I’ll definitely have rewatch to understand better, and follow the link to the article. Always appreciate the time and effort you put into these projects. Thank you!
@21:30 Why isn't the 3.3v ground connected also to the Arduino's ground? If I'm not mistaken, the logic level board's GND pin is to get a reference ground to compare to 3.3, not to provide a reference ground for the connected device.
Bill you never cease to amaze me.. the subjects you choose to talk about... it is like you have some kind of direct connection to this scrambled brain of mine.. Many time I will have a discussion with or friend or another about something and there it is.. on your site .. Do me a favor next time your in there if you see the loose wire on my internat gps could you re solder it.. I seem to be having problems with my directions these days.. thanks my friend.. carry on.. it's all good!
This is a good, very complete explanation of rgb sensing. My imaginary robot would use such a sensor and software to follow the red line through a room, ignoring the lines of other colors. Fun.
Great video, but i have a question: i saw that you try the sensors placing the colour papers very close to them (to the sensors i mean). Is there a maximun distance to which they lose accuracy? and if so, where can i find this info? i would like to test the sensors in a wider distance. Thanks!
Hi Bill! At @20:15 there are four white LED lamps used for illumination. Instead of powering each one via a resistor, wouldn't it be better to power them two in serial with a smaller 100Ω resistor? The 100Ω will prevent a power surge when the LEDs are initially powered and have little resistance, and after that the circuit will use much less power.
I'm in the process of making a bead sorter for my kids, but those beads are tiny! How would you approach that tiny read area? Ive thought about fiber optic, but im afraid there are to much loss and hard to attach the fiber to the sensor (TCS3200 in my case), or a focal lens, but im unsure how to focus it. Any advice?
I love this channel -- so glad I happened upon it. I'm looking forward to doing a project using the Spark Fun module you covered or perhaps a newer TCS offering, 34725, which has an IR filter. Commercial instruments I've used frequently use a 45°-0 angle of illumination relative to the angle of observation which is at 90° with respect to the plane of the subject as in your video. With the illuminant at a 45°, specular reflectance is minimized and diffuse reflectance maximized (angle of incidence = angle of reflection) so that the sensor sees less contamination from the white illuminant.
Love your channel. Questions.. Why must we use the logic converter for the second sensor, if we can make it work without it? Strengths and weaknesses of using a logic converter for such a circuit?
Is that level shifter? or logic converter? Assuming level shifter then I think a level shifter/converter attempts to ensure that the 0-5v outputs are accurately level shifted for the 0-3.3v inputs. There are other ways to do this with various associated tradeoffs.
2 questions, first why you use 255 as you max and not 65535 which is the max of the data type that you are using (int) to have a better resolution, and second why you selected 20% width scaling? i think the arduino wouldnt have any problem for the 100% which based on the datasheet of the sensor has a typical value of 600khz
Tx professor arduino :p I just bought such color sensor and was looking for just this info. IOU! I will use it to retrieve the position of my garage door, together with colored tape ... But first I will finish (3D designing & printing) my 2 powerbenches from your other videos. KUTGV(ideos)!!
is it possible to use two isl29125's at the same time? my arduino is seeing both of them as the same address, i understand why but i'd like to know if there is a work around
..how to software decode color in SD card file at certain coordinate on that file?... Example: decode timezone & country name with GPS coor on a 2d color world map file just by software..
I reall appreciate your work, thank you very much. I have a question about the constrain command for the ISL29125 sensor. Why is it set to 255 (8 bits?) when the sensor is capable of producing a 16 bits value of 65536 ? Thanks for your efforts and time, kind regards from the Netherlands.
If the delay is to allow the sensor to stabilize, why do you read the sensor BEFORE it stabilizes? I would think that select color, stabilize, and then measure would be the correct order.
Hello I know my question doesn't relate to the today subject Is there any way it possible to see which software there are flashed into an arduino (eg. grbl 09 or 1,1) thanks in advance
Excellent tutorial again ! I cannot understand one point though: How to choose the frequency scaling value ? Yes, it is 20% for arduino, but what is the basis ? What if I have a another controller like say a microbit ? How about a raspberry pi ? Any response will be very much appreciated !
I recently needed a color sensor and found one called TCS34725, it is also a digital sensor like the ISL29125, but has a 5V interface on the module and a white led. Because I needed the color I made a function to return the hue (from the color circle), it is much more useful when wanting to detect a specific color. To detect blueish I can use "if (hue>240-30 & hue
Dear Sir! Thank you for the tutorial. I have a doubt. @21:19 How to test, whether my ISL29125 sensor hardware works fine or not? Is there any way to check it? Currently, I have Uno, TXB0108 Bi-directional Level Shifter and ISL29125 sensor wired up and I couldn't able to observe any readings on my Serial Monitor? Can you please help in troubleshooting the sensor? Thanks and Love from India...
Someone pls help me! Can I use ISL29125 as a optical receiver (or as an alternate to a Photodiode)? How much will be maximum distance so between the sensor and the subject so that it will be able to sense properly?
This really helped my i tried to make a color sorter for my finally school project but i couldnt get it done. so i had a raspberry pi but i couldnt find any info on how to do it with raspberry pi. so i bought an arduino i watched your video a second time and finally got it. Now im probably able to do this with a raspberry to because i know understand why i have to use that raw data code and how to. so i subscribed and liked.
I have hooked my tc3200 sensor up, just like you described it and used your code, i am receiving data from it, but the rgb values stay 0,0,0, also, the leds won't turn on. Could you or anyone give me some advice to fix it? because i don't know whats wrong
i get negative value for dark brown, i calibrated the sensor using dark roasting coffee bean and light roasting coffee bean , can you tell me the reasin why i got negative values? please i really appreciate if anyone can help me
Is it normal for me to get values up in the hundreds? Regardless of the values, after calibration, the RBG values seems to be accurate. Thank you for the tutorial.
RGB(0,0,0) = black RGB(255,255,255) = white. The output from functions confused me for a sec, then i thought .. return 255 - PW = more sense .. just me though ;)
Nice video but have a doubt. When you´re explaining the redPW, greenPW, bluePW functions i think you got wrong. You defined S2 & S3 as LOW (both) in redPW function which is cool, but you switched S2 & S3´values in greenPW and bluePW functions and I wonder why? I mean, as you explained before we have to set-up - for RED: S2(LOW) & S3 (LOW) - for GREEN: S2(L) & S3(H) * - for BLUE: S2(H) & S3(H) * In the GREEN and BLUE cases you coded it different. I don´t know if I´m explaining my doubt well.
Using the constraints in this test program is not a good idea - you want to know if you are getting out of range values. For example the 0, 0, 0 values for black looks perfect but you cannot know that you're not masking huge negative values there and that the calibration is actually way out. You'd probably need it in the final application, though.
I think the white LEDs have impurity and the code needs something called as "gamma correction" or "white balancing" to cancel out the influence of the blue tinted white LEDs.
4 years after it was posted and I'm thankfull for this amazing explanation 👍
To me the best tutorial channel by far. Thank you so much for your work.
Wow, lots of great info here. It was good to have the demo and explanation of the calibration process, and then show how to normalize the sensor data for useful output. I’ll definitely have rewatch to understand better, and follow the link to the article. Always appreciate the time and effort you put into these projects. Thank you!
@21:30 Why isn't the 3.3v ground connected also to the Arduino's ground? If I'm not mistaken, the logic level board's GND pin is to get a reference ground to compare to 3.3, not to provide a reference ground for the connected device.
The two ground pins are connected.
Bill you never cease to amaze me.. the subjects you choose to talk about... it is like you have some kind of direct connection to this scrambled brain of mine.. Many time I will have a discussion with or friend or another about something and there it is.. on your site .. Do me a favor next time your in there if you see the loose wire on my internat gps could you re solder it.. I seem to be having problems with my directions these days.. thanks my friend.. carry on.. it's all good!
Wie immer ein tolles Tutorial - man kann sich immer auf deine Ausführungen verlassen - ich bin wie immer begeistert.
This is a good, very complete explanation of rgb sensing. My imaginary robot would use such a sensor and software to follow the red line through a room, ignoring the lines of other colors. Fun.
Why imaginary? Build it! :)
Nice tutorial. Now I have a craving for jelly beans.
Thanks a lot. This helps my one of my current project.
Great video, but i have a question: i saw that you try the sensors placing the colour papers very close to them (to the sensors i mean). Is there a maximun distance to which they lose accuracy? and if so, where can i find this info? i would like to test the sensors in a wider distance. Thanks!
Can I please know which animation software or video editing software is used here 1:15
Thanks in advance!
Can you make a 3d measuring scanner probe which will digitise the real time space within a room
Best explanation for how colour sensors works👍
Very detailed information
Best video!
another great vid Bill, cant wait for break up so I can catch up on all your vids, and maybe some time to play with some hard ware
Hi Bill! At @20:15 there are four white LED lamps used for illumination. Instead of powering each one via a resistor, wouldn't it be better to power them two in serial with a smaller 100Ω resistor? The 100Ω will prevent a power surge when the LEDs are initially powered and have little resistance, and after that the circuit will use much less power.
I'm in the process of making a bead sorter for my kids, but those beads are tiny! How would you approach that tiny read area? Ive thought about fiber optic, but im afraid there are to much loss and hard to attach the fiber to the sensor (TCS3200 in my case), or a focal lens, but im unsure how to focus it. Any advice?
I love this channel -- so glad I happened upon it. I'm looking forward to doing a project using the Spark Fun module you covered or perhaps a newer TCS offering, 34725, which has an IR filter. Commercial instruments I've used frequently use a 45°-0 angle of illumination relative to the angle of observation which is at 90° with respect to the plane of the subject as in your video. With the illuminant at a 45°, specular reflectance is minimized and diffuse reflectance maximized (angle of incidence = angle of reflection) so that the sensor sees less contamination from the white illuminant.
Why didn't you add this video in playlist? Sometimes , I don't find some videos in playlist.
That is a nice workshop
10:16 What is the unit of those value?
Let me know, can it use single sensor LED instead of four 4 led to detect small point
Love your channel. Questions.. Why must we use the logic converter for the second sensor, if we can make it work without it? Strengths and weaknesses of using a logic converter for such a circuit?
Is that level shifter? or logic converter? Assuming level shifter then I think a level shifter/converter attempts to ensure that the 0-5v outputs are accurately level shifted for the 0-3.3v inputs. There are other ways to do this with various associated tradeoffs.
Why are the readings of the PW values so variable?
2 questions, first why you use 255 as you max and not 65535 which is the max of the data type that you are using (int) to have a better resolution, and second why you selected 20% width scaling? i think the arduino wouldnt have any problem for the 100% which based on the datasheet of the sensor has a typical value of 600khz
I wish he would answer these questions
Question
Will the sensor still give out values if you remove the led lights?
Thanks
please these are what values you are getting as output? I would like to know
Is there a way to boost the distance say for instance i wanna point a laser at something and it tells me the color?
Have you considered trying a adafruit TCS34725
can i interface arduino uno directly with ISL29125 sensor without logic controller b/se I don't have that one?
Hello...
I have a project that needs a color recognition sensor with longer Detection distance(400 mm)
Sir do you have modul library fritzing TCS230/3200 , If you have I need
wow you've really added more content.
Hi could you make it with you about the nrf24l01 Module and how to Connect it with the Arduino Uno?!
Tx professor arduino :p I just bought such color sensor and was looking for just this info. IOU! I will use it to retrieve the position of my garage door, together with colored tape ... But first I will finish (3D designing & printing) my 2 powerbenches from your other videos. KUTGV(ideos)!!
Can I make multiple color sensor in just one arduino board ?
Sir, is it possible to make white colour censor scissor
How can I set different pins if I want use other than A4 and A5 ? For example A0 and A1.
Awesome, taught me a lot, thank you so much
is it possible to use two isl29125's at the same time? my arduino is seeing both of them as the same address, i understand why but i'd like to know if there is a work around
..how to software decode color in SD card file at certain coordinate on that file?... Example: decode timezone & country name with GPS coor on a 2d color world map file just by software..
I reall appreciate your work, thank you very much. I have a question about the constrain command for the ISL29125 sensor. Why is it set to 255 (8 bits?) when the sensor is capable of producing a 16 bits value of 65536 ? Thanks for your efforts and time, kind regards from the Netherlands.
If the delay is to allow the sensor to stabilize, why do you read the sensor BEFORE it stabilizes? I would think that select color, stabilize, and then measure would be the correct order.
Sometimes I got values for white is more than 255 like 270 and for black I got in minus (-188) why ?
Can I calibrate ISL29125 sensor with an recently calibrated sRGB monitor and then calibrate an RGB LED?.
I want this dataset how to get it from you?
Excellent! This will be very useful for a candy bot that I hope to make (one day) :)
Hello
I know my question doesn't relate to the today subject
Is there any way it possible to see which software there are flashed into an arduino (eg. grbl 09 or 1,1) thanks in advance
can w make this exact circuit using arduino nano?
whats the difference between to download(to run a sketch) or flash a bootloader a grbl
Excellent tutorial again ! I cannot understand one point though: How to choose the frequency scaling value ? Yes, it is 20% for arduino, but what is the basis ? What if I have a another controller like say a microbit ? How about a raspberry pi ? Any response will be very much appreciated !
You know better than doing anything to do with color or LEDs now i m gonna have a hundred of these things on the duce robot but it will be fun😁👍🌞
Great video
I recently needed a color sensor and found one called TCS34725, it is also a digital sensor like the ISL29125, but has a 5V interface on the module and a white led. Because I needed the color I made a function to return the hue (from the color circle), it is much more useful when wanting to detect a specific color.
To detect blueish I can use "if (hue>240-30 & hue
Can you explain this more please, I'm also interested to use the Hues thanks.
Can we calibrate the sensor for other than red,green an blue color?what changes would be required in the code?
I love your videos. Thanks for the good info! Great channel btw super underrated. 😊😸
Dear Sir! Thank you for the tutorial. I have a doubt. @21:19 How to test, whether my ISL29125 sensor hardware works fine or not? Is there any way to check it? Currently, I have Uno, TXB0108 Bi-directional Level Shifter and ISL29125 sensor wired up and I couldn't able to observe any readings on my Serial Monitor? Can you please help in troubleshooting the sensor? Thanks and Love from India...
Das wird richtig interessant
Sehe ich auch so :)
Could've used the plotter for those, no?
Is it able to detect dust color?
Love your vids😍😋
perfect tutor...would you plz make tut for HSL or HSV color sensing using ISL censors?
Will it work with liquids?
when i check the black colour , the value showed negative , what happen? please help , thankyou
Someone pls help me!
Can I use ISL29125 as a optical receiver (or as an alternate to a Photodiode)?
How much will be maximum distance so between the sensor and the subject so that it will be able to sense properly?
Why am I always getting FFFF from isl29121
This really helped my i tried to make a color sorter for my finally school project but i couldnt get it done. so i had a raspberry pi but i couldnt find any info on how to do it with raspberry pi. so i bought an arduino i watched your video a second time and finally got it. Now im probably able to do this with a raspberry to because i know understand why i have to use that raw data code and how to. so i subscribed and liked.
Hi!, I'm new to the arduino and am wondering if you could use analog pins instead of digital pins for the connecting of the colour sensor.
Is there a way to know the wave length of the light detected in nano meters once we have received the values of the sensor?
hi, can it detect color of liquid?
Thank you.
My favorite
Awesome
I have hooked my tc3200 sensor up, just like you described it and used your code,
i am receiving data from it, but the rgb values stay 0,0,0,
also, the leds won't turn on.
Could you or anyone give me some advice to fix it?
because i don't know whats wrong
Check that its wired right, if it is then led should light up mine had 2 out of 4 the other 2 were in backwords(thanks china)
Have you done a video on using a "#-Channel Relay Module" with an Arduino? Working my way through all your videos. Thanks
i get negative value for dark brown, i calibrated the sensor using dark roasting coffee bean and light roasting coffee bean , can you tell me the reasin why i got negative values? please i really appreciate if anyone can help me
Is it normal for me to get values up in the hundreds?
Regardless of the values, after calibration, the RBG values seems to be accurate. Thank you for the tutorial.
Hi, hope everything goes well. May I ask if this sensor able to sense the color of the water?
Hello,
one question please, can I use ESP8266 instead Arduino uno controller? Which pins can be used for sda and scl?
Thanks a lot!
Nidal
Darn, I was hoping the sensors wouldn't need a delay to stabilize, and would be able to pick up a colored light as it passes by the sensor quickly.
RGB(0,0,0) = black RGB(255,255,255) = white. The output from functions confused me for a sec, then i thought .. return 255 - PW = more sense .. just me though ;)
Nice video but have a doubt. When you´re explaining the redPW, greenPW, bluePW functions i think you got wrong. You defined S2 & S3 as LOW (both) in redPW function which is cool, but you switched S2 & S3´values in greenPW and bluePW functions and I wonder why?
I mean, as you explained before we have to set-up
- for RED: S2(LOW) & S3 (LOW)
- for GREEN: S2(L) & S3(H) *
- for BLUE: S2(H) & S3(H) *
In the GREEN and BLUE cases you coded it different. I don´t know if I´m explaining my doubt well.
great!
all LEDs are photo diodes and can be used as inputs as well as outputs... Going to let you think about that for a second.
Cool
💎🌲🥇 perfect
有没有翻译官
Ok nicht vergessen den helper programmer
Ich weiß der Sensor ist in Ofen verbaut
Using the constraints in this test program is not a good idea - you want to know if you are getting out of range values. For example the 0, 0, 0 values for black looks perfect but you cannot know that you're not masking huge negative values there and that the calibration is actually way out.
You'd probably need it in the final application, though.
So, how would you do it? it would be very helpful
I think the white LEDs have impurity and the code needs something called as "gamma correction" or "white balancing" to cancel out the influence of the blue tinted white LEDs.
1.5x
Not nearly as interesting as Ground Hog Day. Silly......