How to use a light level sensor to determine the wavelength of light?

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

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

+4
source share
2 answers

Taken from this answer (Noah Witherspoon):

The camera chip converts a given wavelength of light into a signal by applying color filters - red, green, and blue - to subpixel sensors that are sensitive to a wide range of wavelengths. Thus, the camera does not actually perceive the wavelength; its sensitivity is the relative luminous intensity for a pair of key peak wavelengths. As described in this answer, you can approximate the maximum wavelength for a given RGB color by converting it to HSV (hue / saturation / value) and then interpolate the hue component from purple to red wavelength.

The answer to which he refers is as follows: How to get the pixel wavelength using RGB?

+2
source

Answer No. The ambient light sensor has a very wide passband. You will need to use an external filter with a narrow passband to get the color frequency measurement that interests you.

+1
source

Source: https://habr.com/ru/post/1487028/


All Articles