Light fixture with Multi-zone light level detection and compensation

Given a microcontroller with a digital IO pin and an LED, we know that we can provide a PWM signal to vary the percieved level of light emitted. Thanks to Forrest Mimms, we also know that LEDs can sense light levels. As solid state devices, LEDs can switch state rapidly and other projects have switched between driving the LEDs and reading light levels from them at a pace faster than the human eye can follow.

The light fixture idea is as follows: Some number of LEDs would be connected each to its own IO line on the microcontroller. The controller would perform a sigma delta A2D read on the voltage from the LED to set the light level in that area. It would then output a PWM signal inversly proportional to that reading to the LED for a fraction of a second and then the process would repeat.

Each of the LEDs would be encase in a short opaque tube which would point in a specific direction. This array would be arranged to cover the area to be illuminated.

Since each section of the total area is serviced by its own LED, areas that are darker (farther away, having less light from other sources, etc... ) would recieve more light from the fixture.

At the same time, any changes in the light level reading between the elements could be used to detect motion which would allow the fixture to only come on when needed.

Further, when another fixture is in view of one element, very rapid, full scale changes in light level would be detected and could possibly trigger a mode change from illumination to communication. i.e. the fixtures would see each other, and use thier directional LEDs to communicate data forming an adhoc network.

Information such as light levels (obviously) and motion in different areas, as well as data from added sensors such as temperature, humidity or smoke detectors could be transmitted throughout the house.