Wanting to tie in my new blowmold nativity scene into my electro-mechanical Christmas yard theme, I decided to “animate” it to tell the story of Christmas.
Much like I did with the animated snowmen, I created a board with individual SSRs that are used to turn on/off the different pieces of the display to tell the story. I used a PIC 18f4420 microcontroller as the controller and have a schematic posted here: AnimatedNativitySchematic.
Currently the order of the show is:
*Mary, Joseph, and the animals on
*Baby Jesus on
*Shepard, Angel, and sheep on
*Guiding star on
*Wisemen and camel on
*Turn everything off
Wanting to spice it up a little, I also made the star physically rise. It starts out by sitting turned off just behind the creche. When it turns on, a wiper motor (like the one used for a car’s wiper blades) starts running, and it pulls the star up by using a fixed pulley. At the end of the cycle, when everything turns off, the motor turns the opposite direction and lowers the star back to its starting position.
The sequencing of the blowmolds were pretty easy and straightforward, it was just a matter of building up 8 SSRs, and wiring up the circuit (the PIC code was pretty basic as well). The star is where I spent most of my time.
The problem with the star is that my lights are on a timer, so I don’t know where the star was in its cycle the previous night when the show turned off, so I have to have a way to get it back to its “home” position behind the creche. I also wasn’t sure about how consistent the timing would be of a revolution of the turning drum would be, so I wanted a way to sense when the star was at an upper/lower position as well. What I did to solve that was use a rare-earth magnet and some reed switches as sensors (this system is very similar to what a lot of home alarm sensors use to detect if a window was opened).
The reed switch is a little device (about the size of a glass diode) that (in my case) is in a “normally open” position (meaning no current can flow through it it), but when a magnetic field is near it, the little switch inside “closes” (it physically gets moved) and causes the switch to conduct electricity. So what I do is put 5 volts on one leg of the switch all the time, then when I am raising/lowering the star, I read the other leg of the appropriate switch with the PIC and stop when I see 5V (it is pulled down to ground with a weak pull-down so it is not floating). By doing this I can reset the star to the home position at the beginning of the night, and then I can detect when I am all the way up/down during the show.
As a safety factor (for my motor mostly), I do have a timer in my code that if I am moving the star and it doesn’t reach the end point in a given amount of time, I stop trying for the night and only turn the light on/off the rest of the night (no movement). This protects me if the rope gets hung up on something or gets twisted and the star will never reach its destination (the show must go on).
To make the star go up and down, I setup the motor to run both directions. A wiper motor is a standard DC motor, meaning that if I put 5V and ground on the contacts in one orientation, it will turn in one direction (say clockwise), and if I reverse the polarity, it will run the other (say counterclockwise). So what I did was setup two SPDT relays that the microcontroller can activate and dictate which direction the motor turns. This allows me to wind up the string around a wheel to raise the start, or unwind the string to lower it.
Things worked pretty well and I liked the look, but I had a lot of issues with my nylon rope for the star when it got wet (causing it to get bound up and twisted while winding). The following year I switched to a crab trap rope that is designed to get wet and not get bunched up. This worked WAY better and I am happy with its consistency now.
The Animated Book
The other thing I did was to add in a large book that tells the story of the nativity in words as the blowmolds illuminate. I have pages turn at each step to tell that portion of the story (paraphrased bible verses). I think that it is a nice touch and help people understand what is going on who maybe aren’t sure of the whole story.
One last thing I would like to do (but would be surprised if I ever get to it), would be to have one of the wisemen and his camel physically move towards the creche after the star raises (once it gets close, the other two wisemen would turn on). That would be a nice feature, and I built everything in the circuit to do that (control a motor and sense the end points) so that I can do that, but I still need to think through how to do that safely and easily enough even if it is raining/snowing (probably would be a lot like the star raising idea). It is something I want to do, but will get to it when I am bored some summer.