It is often a hassle to have to go to the bathroom in the middle of a good night’s sleep. It is worse that we have to struggle with the dilemma of either turning on the light and hurting our eyes or groping around blindly and risk making a mess. The Wee Bulbs solves this problem by serving as a gentle illuminator that glows when someone gets up of bed to go to the bathroom. The gentle glow of the illuminator provides just enough light to illuminate our surroundings so that we can get things done comfortably and get right back to bed. The system consists of a motion sensor and a set of bulbs which can be placed anywhere as required and are connected wirelessly through the cloud.
Bill Of Parts
Flora NeoPixel Ring ($9.95)
LTH 1550-01 ($0.39)
Green LED ($0.35)
4 x 1 kOhm resistor ($2.00)
Push Button ($0.35)
The circuit is composed of 4 main components connected to the particle board. The first is a push button that is used to turn the system on and off. A terminal is connected to the 5V power supply while the other end is connected to a 100 ohm pull-up resistor which is connected to ground. The positive terminal of the pull-up is connected to pin D0. Next a status LED is connected to pin D4 to indicate whether the system is on or off. This is triggered by presses to the push button. The VIN pin of the neopixel ring is tied to the 5V power supply with the other end connected to an optional resistor and then to ground. The DIN pin of the neopixel is connected to D1 of the particle. Finally, we hook up the LTH device in forward bias mode and pull up resistors attached to the negative terminal. The negative terminal of the photodiode of the LTH is then connected to pin D3 in order to detect sensor trips.
The main code for the particle is located in the .ino file. There are dependencies on mytimer.h and mytimer.cpp, so these must be added to the project folder. Furthermore the neopixel library is required. This can be added through the Particle IDE.
The Particle Photon has made it extremely easy to develop simple IoT products by providing a simple interface for using the IoT cloud and viewing serial data from peripheral devices. Even so, many issues still arise when building the circuit and using the APIs for peripheral devices. These include loose connections, malfunctioning components, current saturation and poor API documentation for certain devices. As a result, one must be prepared for lots of trial and error and experimenting. Ample time should also be allocated to allow for resolving the many bugs that will arise.