the SSR board. The SSR board and the connected perf
board float in the case, held in place by the connecting
wires. This was done to eliminate additional holes that
would be used to mount to the case, reducing possible
compromise of the weather seal. The power to the SSR
board is also supplied by the five volt wall wart used to
power the microcontroller board; connect power to the
Vcc and GND terminals on the SSR board. The completed
assembly is shown in Figure 6.
After building the microcontroller board, it is easy to
check for operation. Connect the microcontroller board to
the SSR board and supply power from the wall wart to
both boards; no need to hook up the outlets or light
strings just yet. The SSR board called out for this project
has an LED on each channel that lights when the channel
is selected. When powered up, you should see a series of
changing patterns of lit LEDs on the SSR board. If not,
make sure that you have properly connected the
microcontroller board, and check your perf board wiring.
Once this test has passed, go ahead and place the boards
into the enclosure and attach the power and switched
outlets for the light strings.
There are no adjustments needed — just supply power
and the controller will run on its own.
Make sure the voltage to the SSR board is close to
five volts. I found that if the voltage is low, the selected
channel LED will still light but the solid-state relay may not
turn on. This confounded me for a while during
prototyping until I found that my voltage had dipped
below five volts.
You Can Make
There are modifications to the controller you can
make including patterns, speed, and the number of
channels. You can easily add or modify the patterns that
the controller generates. When I was prototyping the
circuit, I drove the LEDs directly with the appropriate
series resistor from the PIC16F690. I arranged the LEDs in
approximately the same pattern as the final display which,
in my case, was a circle. This gave me an idea what the
pattern would look like, which I found quite useful.
If you add or delete patterns (modes), be sure to
change the modulus where the mode is selected. You can
change the speed of the pattern by modifying the delay in
the pause() function, and the number of times the display
is stepped by modifying the variable reps.
Modifying the number of channels is more
complicated, but can be done by experienced builders.
The PortCDriver() function may need to be modified, and
the range of random numbers generated in patterns would
have to be modified, as well as the modulus used in other
patterns. If you want to use more than eight channels,
then other ports of the microcontroller will have to be
used, as well as additional SSR boards.
I hope you will enjoy building this project. It made a
big difference in my holiday display. It will do the same
for you. NV
50 December 2014
■ FIGURE 6. Completed assembly before
installing the cover.
ITEM DESCRIPTION PART NOTES
BRD1 8 channel 5V SSR 20-018-902 www.SainSmart.com, eBay, or Amazon
C1 0.1 µF
F1 Fuse and fuse holder Sized per total current demand
J1a 17 pin .1" male right angle header Mouser, Digi-Key, Element14
J2 Six-pin .1" male header Mouser, Digi-Key, Element14
PS1 5 volt ≥ 200 mA wall wart
U1 Eight-bit PIC microcontroller PIC16F690-I/P Mouser, Digi-Key, Element14
Misc Polarized extension cords Hardware store
Misc Wire nuts Hardware store
Misc Zip ties Hardware store
Misc Silicone Hardware store