Soheil
Soheil

Reputation: 1706

How to use android light level sensor to detect light wavelength?

Most Android devices have a sensor that measures the ambient light level (illumination) in lx unit. Is it possible to figure out that the existence of a specific wavelength in the light through the sensor?

As you probably already know, the white light itself is made of different wavelength lights e.g. blue light with specific wavelength range, red with another specific wavelength range and... .now is it possible that the sensor figures out that for example are the lights with the wavelength of >100nm and <200nm available in the incoming light?

Upvotes: 4

Views: 3477

Answers (2)

Rob
Rob

Reputation: 11

The answer is No. The ambient light sensor has a very wide pass band. You would have to use an external narrow pass band filter to obtain a measurement of the colour frequency of which you are interested.

Upvotes: 1

verybadalloc
verybadalloc

Reputation: 5796

Taken from this answer (by Noah Witherspoon):

The camera chip converts a given wavelength of light into a signal by overlaying colored filters—red, green, and blue—onto subpixel sensors that are sensitive to a broad range of wavelengths. As such, the camera isn’t actually sensing the wavelength; it’s sensing the relative strength of the light at a couple of key peak wavelengths. As described in this answer, you can approximate the peak wavelength of a given RGB color by converting it to HSV (hue/saturation/value) and then interpolate from violet to red wavelengths by the hue component.

The answer he is referring to is this one: How to get the wavelength of a pixel using RGB?

Upvotes: 2

Related Questions