YouTube player

Animated Halloween props are a lot of fun. But the props that you buy at the store have some major limitations.

One problem is that each prop is activated by its own sensor, so it is difficult to get them to work together in unison. If the props are out of sync, the overall effect isn’t as scary.

Another problem is that the built-in “motion sensors” aren’t very effective. Most props are activated by a light sensor that detects the change in light when someone walks by. In order for them to work, they need light to be shining on them; they won’t work at all in the dark. They can also be falsely triggered if the lighting in the room changes.

So I worked out a system that lets you control all your animated Halloween props with a single microcontroller (such as an Arduino). This lets you choreograph exactly how and when each prop will turn on an off. It also lets you use external sensors that you can customize for your exact setup.

View this project on Instructables: instructables.com/id/Control-Your-Halloween-Decorations-With-Arduino/

Project Steps

Find Halloween Props With a

There are many different kinds of animated Halloween props and they can all be hacked in one way or another. But for this project, I am going to focus on battery powered Halloween props that have a “Try Me” button. These props will have a button somewhere on the package that will let you activate the programmed animation. This lets you see the prop in action before you buy it.

For our purposes, the “Try Me” button will let us activate the prop remotely. By connecting to the terminals of this switch, you can control the prop with an external circuit such as an Arduino.

So when looking for props, try to find ones that have an external play button that activates the animations.

Disassemble the Button

The easiest way to connect to the prop is at the terminals of the button. In order to do this, you need to disassemble the button. You can usually pry open the plastic housing with a small screw driver. If it is snapped together, just depress each of the tabs and it will pop open. If it is glued, you may need to crack open the glue seam.

Inside you will find a small switch with two or four exposed terminals.

Safety Warning: As stated before, this procedure is only intended for battery powered props. I do not recommend disassembling switches for AC powered props. This can be very dangerous if not handled properly.

Use a Multimeter to Identify the Terminals of the Switch

Use a multimeter to measure the voltage between the two sides of the switch. The measured values will be different depending on the design of the prop. The only thing that you need to be concerned with is the relative polarity. You need to know which terminal is more positive and which terminal is more negative.

To help keep track of which terminal is which, I used colored markers to mark the positive terminal red and the negative terminal black.

Test the Terminals With a Resistor

There are two types of “ON” switches that you might find on a Halloween prop. The first type is a low current signal switch. These just send a small signal to the control chip on the prop. The second type is a high current power switch. This switch connects the prop to the battery pack and has to handle all the power that is required by the prop. We need to know which type of switch it is so that we can use an appropriate transistor to activate the prop.

To test which type of switch you have, take a 1kohm resistor and touch the two leads of the resistor to the two terminals of the switch that are connected to the prop. (If there isn’t a large enough exposed surface, you can disconnect the switch at the base of the prop and touch the leads of the resistor the terminals of the prop itself.)

If the animation activates, then it is a low current switch and you will be able to use a low current transistor to activate the prop. If it does not activate, then it is probably a high current switch and you should use a “power transistor” (rated for at least 1amp) to activate it.

Make an External Transistor Switch

You can use a transistor to simulate the button being pressed. First, select an appropriate NPN transistor. Then connect the “collector” pin of the transistor to the positive terminal of the switch and connect the “emitter” pin of the transistor to the negative terminal of the switch. Because we will need to make more connections to transistor later, you will probably want to connect to the switch with small jumper wires. When you apply a positive voltage (relative to the emitter pin) to the “base” pin of the transistor, the two terminals of the switch will be effectively connected and the prop will play its animation. A 1kohm resistor added to the base pin of the transistor helps to protect it from excessive current that could potentially damage it.

Connect the Transistor Switch to the Arduino

​Now you need to connect the transistor switch to your microcontroller. Connect the GND pin of your microcontroller to the emitter pin on your transistor. Then connect one of the digital pins to the 1kohm resistor that is connected to the base pin of the transistor. When the digital pin is set to a HIGH output, the transistor will activate the prop.

Add Additional Props

Repeat the previous steps to add additional props. You can control as many props as there are digital output pins on your microcontroller.​

Add External Sensors

​Now you can add your own external sensors to activate the system. Here are links to a few examples.

Pressure Plates

Proximity Sensors

Motion Sensors

Sample Arduino Code

​//Here is some really basic sample code that you can use to test your system.

int PropOnePin = 8; // Prop One connected to digital pin 8

int PropTwoPin = 9; // Prop One connected to digital pin 9 int PropThreePin = 10; // Prop One connected to digital pin 10 int PropFourPin = 11; // Prop One connected to digital pin 11 int PropFivePin = 12; // Prop One connected to digital pin 12 int SensorPin = 3; // sensor connected to analog pin 3 int SensorVal = 0; // variable to store the value read

void setup() { pinMode(PropOnePin, OUTPUT); // sets the digital pin as output pinMode(PropTwoPin, OUTPUT); // sets the digital pin as output pinMode(PropThreePin, OUTPUT); // sets the digital pin as output pinMode(PropFourPin, OUTPUT); // sets the digital pin as output pinMode(PropFivePin, OUTPUT); // sets the digital pin as output }

void loop() { SensorVal = analogRead(SensorPin); // read the input pin if (SensorVal >100) { digitalWrite(PropThreePin, HIGH); digitalWrite(PropFourPin, HIGH); digitalWrite(PropTwoPin, HIGH); digitalWrite(PropOnePin, HIGH); digitalWrite(PropFivePin, HIGH);

delay(10000); digitalWrite(PropThreePin, LOW); digitalWrite(PropFivePin, LOW); digitalWrite(PropOnePin, LOW); digitalWrite(PropTwoPin, LOW); digitalWrite(PropFourPin, LOW);

delay(5000); digitalWrite(PropThreePin, HIGH); digitalWrite(PropFourPin, HIGH); digitalWrite(PropTwoPin, HIGH); digitalWrite(PropOnePin, HIGH); digitalWrite(PropFivePin, HIGH);

delay(10000); digitalWrite(PropThreePin, LOW); digitalWrite(PropFivePin, LOW); digitalWrite(PropOnePin, LOW); digitalWrite(PropTwoPin, LOW); digitalWrite(PropFourPin, LOW); delay(5000); } }

Enjoy Your Automated Halloween Props

​Now all you have to do is set up the props in your haunted house and enjoy the fun of scaring your guests.