top of page

The Circuit in Detail:

LED

LED

The transmitters in our system are the LED lamps along with their flickering circuit. Each lamp uses its light flickering pattern to notify its identity besides providing illumination.

 

To do so, each lamp turns ON almost the whole cycle, except its own time slot. The OFF time of each bulb can be seen as its own light beacon sent to the photosensors: for each time slot inside each cycle, the photosensors read the effect of only one lamp.

 

To avoid noticeable flickers to the human eyes, the flickering rate should be above 1 KHz.

​

Each microcontroller connected to a lamp will pick a different time slot for its lamp to flicker. Each lamp has its own ID, which is a number between 1 and the number of lamps inside the room. Each node uses its ID as a way to pick a unique time slot to flicker the lamp and avoid collisions with other lamps.

PHOTOSENSING CIRCUIT

SYNCHRONIZATION CIRCUIT

COMMUNICATION AND COMPUTATION

PhotoSensing Circuit
Synchronization
Communicaion

Since we want to sense the reflected light from the floor, the amount of light falling on the photosensor is relatively small compared to the direct light from the LED lamp.

 

This imposes a high sensitivity requirement on our receiver circuit. To increase sensitivity, one can think of directly amplifying the absolute voltage measured from the photosensor. However, this approach limits the amount of signal gain we can achieve, since the absolute voltage value can be quite large, and the amplified signal should not saturate the ADC. To achieve more gain, we seek to amplify the voltage difference from a reference voltage instead of the absolute voltage value.  To do so, we utilize the difference measurement technique using Wheatstone bridge circuit, and amplify the change in light level into a measurable voltage range.

 

​

​

​

​

​

​

​

​

​

The Wheatstone bridge consists of two arms. On one arm, there is a photosensor connected with a resistor; the photosensor acts as a current source and produces voltage. The other arm is a voltage divider circuit, in which one of the two resistors is a digital potentiometer that can be controlled by a microcontroller. The two voltages are then fed into an instrumentation amplifier.
 

Our system relies on the time coordination between nodes, so a good synchronization scheme is needed to synchronize all the nodes with the same clock. The input signal used to synchronize all the nodes is a common sine wave, which can be obtained from the 60Hz AC mains power. Using a comparator, the synchronization circuit converts this signal to a square wave of the same frequency and feeds it into the microcontroller. The rising edge of this square wave is then used as a trigger to start a new cycle, and the microcontroller uses its internal timer to divide this cycle into N time slots, where N is the number of light nodes in our system.

 

Consequently, all the nodes agree on the timing of each time slot. 

The processing server is a central machine used for processing the readings coming from all the nodes. We assume that from the node IDs the server knows where the nodes are by mapping the IDs to a map of all the nodes throughout the building. 

​

We use an MSP432 board to calibrate the digital potentiometer, transmit readings from the node to the processing server, and flicker the LED.

​

​

bottom of page