The Leaning Zombie – High tech Halloween project

This project is for fun and to get my kids exposed to project based work, the typical problems that come up, dealing with constraints and trade-offs and more.

The Idea:

In front of our house, there are decent sized trees. The idea is to have one or more scary monsters lean out from behind a tree, but only when a car drives past the house.

The Design V1
The system will have 2 motion sensors on the street, and then  communicate via wireless (Zigbee Wireless Mesh network) to the zombie telling “it” to lean.

The sensors are passive infrared sensors mounted into a waterproof box, an Arduino manages the communication when  motion is sensed.

The Zombie unit also has an arduino uno and a zigbee/xbee device. Additionally a servo is used to actually move the Zombie.

The first Halloween, I was able to get everything working with a caveat. The sensors were detecting cars, the signal was transmitted to the Zombie unit and the servo was moving under program control.

BUT

The servo was too weak to handle the Zombie

So like in much of the IT world, 99% equals 0%.

One additional observed problem was the Battery Life. It turns out the Arduino consumes a fair amount of current so battery life was going to be something like 3 days for the sensors and 6 hours for the Zombie control unit.

 

Version 2 – In progress
Version 2 has addressed the two big design problems.

Ditching the arduino.
First, the arduinos had to go. I needed little of the actual programmatic capability of the Arduino, I was happy to have servo control and a Zigbee shield, but the current draw was too much. I looked into the low power versions and even ditching the arduino and using the primary chip by itself but was not too juiced on doing the circuit level work to bring it to use. Apparently the voltage regulator is a big problem. Whatever… too much juice.

Instead, I’m taking a different approach: Use a Zigbee in API mode and control it using a polled Node.JS system. The programming control would now be in the PC and in effect, the motion sensors would be just that, a 2 node sensor network. Using API mode in the Zigbee, I could put them to sleep and extend the battery life to something like 1 Year.I still have the problem of servo power consumption, but am tackling that in a different way… a gel cell for the motor. I think it’s a 4A-H.

The SERVO
The servo is too weak and the calculations for making a guesstimate on torque are difficult to find. So I’m opting for a different mechanism: The motor and spool solution. Here, the zombie will be slightly leaning to start and held in place by using a motor to drive a worm gear attached to a wire and spool. The Worm gear will keep the position with no current draw on the motor … perfect..When it’s time to move the zombie, I then lower the zombie a few inches, wait and rewind the spool. The timing of everything is done now with the central computer and the zombie unit has to only turn a motor on and reverse it.

Project status:
I have Node.js talking over a serial port to control the zigbee devices in API mode and to remotely execute commands on another zigbee (via wireless). The motor and spool mechanisms are purchased, the worm gear (not easy to find) arrived from china. I

I’m now working on writing the system code (read sensors, manage their sleep etc), assembling the zombie control parts (spool, motor, H-bridge), and wiring up the zigbee.

As this is a fun, side project, It’s not happening too fast.