I had several goals in mind for the project:
- Light is active only at night
- Must have manual on/off switch
- Only active if there are people present
- Light source not visible when the light is off
I chose an Arduino Uno as the controller. I have a few of them around and have wanted to find an appropriate project to give them a try.
I hardwired a segment of LED strip to a 12V wall wart and taped them inside the clock to get a sense for how many LEDs I would need to achieve the desired effect. I used a bit of tape to hold them in place during testing. Two strips of 9 LEDs each did the trick. One is placed on the top of the door frame, facing down. This nicely illuminates the clock face. The second is on a cross member just below the clock face. This one faces inward and cast a great light on the mechanism and pendulum.
I knew I would not be able to control the LED light strips directly. Each group of 3 LEDs draw 20mA under full brightness. The configuration I settled on has 18 or 6 segments of 3. The total current draw will be 6 x 20mA or 120mA total. Arduinos have a max. draw of 40mA per pin so I’ll have to use a transistor with a higher current capacity. I had a few TIP120‘s in the parts bin so I went with those. I’m hoping that I can run them without a heatsink.
A simple photo-resistor will determine the ambient light in the room. I’ll use this to determine when it is ‘night’ and enable the lights.
For the ‘people sensor’ I’m using a PIR motion sensor. It will run off the +5V rail of the Arduino and provides a simple digital high/low signal to indicate motion.
I’m planning on mounting the on/off button out of sight so I needed a big target to make it easy to find by touch. I choose a momentary arcade style button. The control will simply toggle the lights on/off when pressed. I opted not to have a power switch to turn it off completely; I’ll just unplug the wall wart for the few times I’ll want to disable it.
The first step will be to breadboard the parts so that I can start on the software. I’ll cover that next time.