Color detection for threads / woods

Hi all....

I'm looking to make something, I'm not even sure is do-able... But its going to be a gift for an elderly relative, so needs to be easy to hold and operate.

Basically I'd like to build a box which will read the color of thread or wool or string and then display it on a lcd screen.

Ideally It'll have a flap or clip to hold the material down.

Here are the thoughts so far

9v battery
custom box
spring loaded flap over rgb sensor - painted black or white underneath
arduino control (obviously)
big'ish toggle switch
RGB sensor TCS230/TCS3200
2 line LCD display

Any thoughts if these plan will work?

Any further ideas i could follow?

Thanks in advance

A bright white led?

It could work but I dunno how accurately especially on thread.

bf1104:
a box which will read the color of thread or wool or string

How detailed do you want the colour information to be?

Do you just want to distinguish red from blue? Or do you want to be able to identify different shades of red etc?

And if you want to identify different shades of a colour do you want absolute values (i.e, the same sample always gives the same result) or relative values - i.e. these two samples are the same and this third sample is different.

...R

Robin2:
How detailed do you want the colour information to be?

Do you just want to distinguish red from blue? Or do you want to be able to identify different shades of red etc?

And if you want to identify different shades of a colour do you want absolute values (i.e, the same sample always gives the same result) or relative values - i.e. these two samples are the same and this third sample is different.

...R

Thanks for the replies.

Think I'd need to get same result every time I test the same sample.

Was hoping that having the material held down with a flap would help with the identification,.

See how small a spot the RGB sensor can detect the color of. There are 3 sensors, not 1.

Possibly a magnifier could help.

bf1104:
Think I'd need to get same result every time I test the same sample.

I probably should have expanded on my question.

What level of error is acceptable when identifying a colour?

And do you want to be able to tell if two physically different samples are the same colour - for example a piece of fabric made from wool and a piece made from silk or polyester?

I suspect that you will need very careful control of the lighting conditions if you are to get consistent results.

Maybe the answer to a more general question would be useful - what is the purpose of identifying the colours and displaying the info on an LCD ?

...R

The purpose is to help an elderly relative to identify small differences in embroidery threads, her eyes aren't what they used to be.

My idea was that she could open a flap on a small box lay a thread or 2 across a glass plate, close the lid, flick a switch and the colour of the sample would be described on an lcd screen.

Hope thats clearer

One of the most accurate colour sensors we know are our own eyes (able to distinguish tens of millions of colours). Far more accurate than anything out there short of spectroscopes or other highly specialised and very expensive colour sensors. So no matter what your setup will identify colours as "identical" while your eyes will tell you "that's obviously a different shade of orange!".

wvmarle:
One of the most accurate colour sensors we know are our own eyes (able to distinguish tens of millions of colours). Far more accurate than anything out there short of spectroscopes or other highly specialised and very expensive colour sensors. So no matter what your setup will identify colours as "identical" while your eyes will tell you "that's obviously a different shade of orange!".

Yeah I agree totally....

However different people see colours differently too :slight_smile:

bf1104:
However different people see colours differently too :slight_smile:

Well, in so far: it's unknown whether what I experience as "red" is the same experience for you. We just don't know, and probably can never know. Also how we experience a colour is determined by the colours around it in an image, but that still doesn't change the actual colour.

However we all do agree on what colour is "red", and what is "green". We will also most likely agree on which two reds are the same, an which are just a bit off, though the threshold may be a little different.

I have a friend who can't tell green from yellow under the best conditions.
I have a friend who has trouble with green-yellow-brown and sometimes purple.

Would a magnifier with light help your relative? You could cap sense fingers close or not to turn the light on and off.

Something like a jeweler's loupe would make a thread look as wide as a finger. It might take that much for the color sensor to work.

Hi,
If I was you I would mock up a simple jig and necessary components and try it.

The sensor is cheap, there is an Arduino Library available for it.
Then you could experiment with lighting and position of your sensor.

The subject material is so diverse, suck it and see looks like the best way to see if its possible.
EXPERIMENTATION Yes......

Thanks.. Tom... :slight_smile:

Never checked but, there could well be a smart phone app out there which does this or could be modified. I expect it'd take more than a single thread, maybe several bunched together to make an acceptable target.

Cuts the Arduino out of the loop but I take it the object is not to utilize an Arduino but to meet a need.

.02

I suggest experimentation also.

On the other hand, isn't the colour printed on the label for the embroidery Thread?

...R

Thanks again ....

There are some smartphone apps, however using a smartphone will be beyond the wit of the relative in question...which is why the simple one button option.

Think the experiment option is going to be best ... i'll make a shopping list :sunglasses:

The info is on the label, problems come when the shanks of thread / wool loose the labels :roll_eyes:

bf1104:
The info is on the label, problems come when the shanks of thread / wool loose the labels :roll_eyes:

That suggests a management solution rather than a technical solution :slight_smile:

...R

Robin2:
That suggests a management solution rather than a technical solution :slight_smile:

...R

When you get to 93 most things are

Can your elderly relative see/discriminate colors? If so, then I think a magnification scheme, perhaps with a camera and screen would be good. Let the person determine the color, just give them something they can see.

A solution for the defined problem could indeed be a smartphone app. But I would use a clip-on microscope. They could magnify 60x and the optical quality is not important. A little blurriness only helps out. Perhaps a 3D printed thread holder with a built in light and white background plate as a clip-on to the clip-on microscope.

I'm not totally convinced this is the right approach knowing your 'relative' requirements..

Unless there is some sort of pre-defined list.. (and I think this would have to be dynamic in some sort of way)..

How is '93' yo relative going to understand a bunch of RGB values displayed on a screen?

Depending on the available light.... I would guess this sensor can return slightly different values each time.

I dont think this project is very viable.

You wouldnt really be able to tell if the sensor if seeing the same 'thread'.. but returning a slightly different value based on ambient lighting..etc.. (or any other external influence)... or if it truly is a thread that is a shade different?

  • I suppose it all depends on how granular you need to get?

I almost feel this is would be better represented if you could check the 'item' for color.. and then display the COLOR (like a color picker).. and not a textual name or RGB values...