Each spring for the last 20 years, our grammar school puts on a show called Kapers. The show is a series of songs performed by the 3rd-5th graders, the faculty, and the parents. The songs are connected by short segments of dialog to create a story. In 2018, the show was titled "Back to the Present," as the flux capacitor somehow connected to the school elevator moving the entire school through time!
The elevator frame was a simple frame of 2x4s and a sheet of plywood hinged into a bi-fold door, all spray painted metallic silver.. The top of the elevator was the fun part containing the electronics. It had a servo with a gold cardboard hand which moved to point at each floor. Most of the effect came from a string of WS2811 leds arranged in 2 patterns. One pattern formed an arc over the floor and the other was arranged in a "Y" shape to mimic the flux capacitor from "Back to The Future". Finally, it has a relay to close the switch on a fog machine to generate "smoke!" These components were all driven by an Ardunio controller.
As with any show, timing of the effects was key to success. The Arduino board needed to be driven from the sound and lighting booth in sync with the show sound effects. Since a reliable network wasn't available, I simply put a wifi router on the back of the prop and had my own dedicated network to connect to. As you can find in the code, I ran a simple web server on the arduino board. The back of the prop is shown here.
I controlled everything from my Macbook with a shell script of simple curl commands.
# Go to a floor (here floor 8) curl http://192.168.1.27/g/8
I also had the following other commands.
# Turn on flux capacitor (level 1 or 2) curl http://192.168.1.27/c/2 # Turn off flux curl http://192.168.1.27/C/ # Jump to a floor (5th here) curl http://192.168.1.27/f/5 # Turn on rainbow light effect to time travel curl http://192.168.1.27/r/ # Turn off curl http://192.168.1.27/R/ # Generate a blast of fog curl http://192.168.1.27/z/ # Set all lights to a specific rgb curl http://192.168.1.27/a/255,255,0
The components add up to about $75, but I had most of them already lying around from other projects.
- Arduino $12
- Arduino Ethernet Shield $13
- WS2811 strip of 50 $12
- 5V power supply $10
- Servo $13
- Relay $2
- Wifi Router/Access Point $15
The elevator lumber and paint added another ~$50, but it was all worth it for the show.
There are 2 interesting tech notes.
First, I needed the board to be very responsive so keep the sync with sound. Therefore the main loop in the arduino consists of checking for a network request (and responding asynch for any request) and checking a group of timers to trigger the changes to the 3 output control pins. I find this is a common pattern in my scripts.
Second, I noticed jitter on the servo if I left it engaged while talking to the lights and network board. I never found the exact point of conflict, but I solved the symptom by disabling the servo shortly after movement using a timer. I'd love to hear from anyone who solved this issue in a more direct way.
This project was fun and loved by the show directors! Hope it helps inspire your projects.
Here's a sample of the elevator in the show...