The Jump Scare Jack in the Box
This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)
The Jump Scare is an art form that has been popularized in modern horror films. You know the scare is coming, but it is so effective that you experience a visceral terror when something unexpected instantly floods your senses. What if the Jump Scare feeling could be automated? What if you could create a horror machine designed to make people quiver in fear, just for getting too close?
The Jump Scare Jack In The Box was designed to automate the Jump Scare and startle anyone who gets too close. This Instructable will go over the steps to make your own Jump Scare Jack In The Box:
1. Designing the control system
2. Creating a Fusion 360 Model and Manufacturing
3. Programming the Jump Scare Jack In The Box
4. The Final Product
Supplies
- (1) sheet of Oak Plywood (At least 600mm x 600mm)
- (1) 3D Printer
- (1) Spool of PLA
- (1) Unthreaded 8mm diameter, 215 mm length steel rod
- (29) m3 bolts
- (4) m4 bolts
- (1) HC-SR04 Ultrasonic Sensor
- (1) HP Laptop Speaker, model # - 316731-001
- (1) Arduino UNO
- (1) L298N Motor Driver Board
- (1) 12V, 40rpm, 40 kg-cm DC Worm Gear Motor
- (1) 10k Potentiometer
- (1) LM386 Operational Amplifier
- (2) Limit Switches
- (1) 10 kohm resistor
- (1) 10 ohm resistor
- (1) 220 uF capacitor
- (1) 100 uF capacitor
- (1) 0.1 uF capacitor
Designing the Control System
The Jump Scare Jack uses an HC-SR04 Ultrasonic Sensor to sense a person's proximity. When an individual gets too close, the lid of the Jump Scare Jack In The Box quickly opens and the speaker sounds a loud noise to startle the individual. When the lid hits the limit switch on the back of the box, the lid will stop and hold its position for 5 seconds. Then, the lid will close and hit the limit switch at the front of the box to stop closing and after 5 seconds will begin sensing for proximity again.
The schematic for this control is shown above. The Arduino uses 5 pins as outputs to the Operational Amplifier, Ultrasonic Sensor, and the Motor Driver board. The other two pins are inputs and trigger interrupts when the limit switches close. The interrupt operation will be explained in Step 3, when the Arduino code is discussed.
Creating the Fusion 360 Model and Manufacturing
You can download a free trial for Fusion 360 Here
Any 3D CAD software will suffice, but I used Fusion 360 to create the Jump Scare Jack In The Box Model. The Step Files are included. Once the Fusion Model was made, the Manufacturing Section was used to create a CAM Output which includes the G Code that told the CNC machine how to cut out the box. Additionally, Fusion 360 lets you export any parts that need to be 3D printed to be exported as STL files. Included above are pictures from the manufacturing process.
Downloads
Programming the Jump Scare Jack in the Box
The Arduino code provided will control the Jump Scare Jack In The Box Operation. The code starts by declaring all the constants and variables that will be used throughout the code. The the code that will repeat continuously throughout the runtime of the program is in the loop function.
Loop Function:
The Arduino code provided above will control the Jump Scare Jack In The Box Operation. The code starts by declaring all the constants and variables that will be used throughout the code. The the code that will repeat continuously throughout the runtime of the program is in the loop function.
Loop Function: The Ultrasonic sensor will first read for proximity. Once a person is close enough, the proximity flag triggers and the Lid opens by turning the DC worm gear motor. The speaker make a loud noise and the state flag and proximity flags change to 2. Then the motor stops for 5 seconds, closes the lid, and the speaker makes another loud noise. The motor then stops and the function repeats.
Setup Function:
This function sets up all the necessary functionality, such as setting the GPIO to output and interrupt inputs, initializing the motor, and creating a random seed for the noise the speaker makes.
Interrupt Service Routines:
The Interrupt Service Routines occur when a hardware interrupt on pins 2 or 3 get triggered on the Arduino Uno. These interrupts are connected to the limit switches to ensure that the DC motor does not spin too far and break the moving mechanisms. When the interrupt occurs, the program breaks out of the main loop code and runs the Interrupt Service Routine to change a flag that will modify the main loop code operation.
Motor, Speaker, and Ultrasonic Sensor Functions:
The remaining functions are used to set the motor direction, make the speaker sound a random noise, and properly calculate the distance a user is from the Ultrasonic Sensor. The comments in the code will provide any necessary information in regards to these functions operations.
Downloads
The Final Product
By using the control system, 3D model, and code the Jump Scare In The Box will work as shown in the video included. Using and painting the Chucky head is optional and feel free to use anything you want to see jump out and scare people.