The most logical option was obviously to create a near life size Arduino powered, motion activated, audio playing, remote controllable Minecraft Creeper. Obviously.
Step 1: Check your chest for required inventory
- Arduino UNO (all good projects start with an Arduino)
- Ada Fruit Wave Shield (for audio playback with the Arduino)
- Electric Sumo CMoy Amp (I wanted to build one of these anyway so I picked it up for the project)
- Cheap RC Car (I picked mine up for $15 at the drug store)
- PIR Sensor
- Speaker (mine came with my Wave Shield kit)
- Various bits of wire
- Batteries, lots and lots of batteries
- Something to power the Arduino (I used a Minty Boost also from Adafruit)
- Cardboard boxes
- Hot glue (I used the normal stuff to hold the electronics in place and some heavy duty pull-the-skin-off-your-hands industrial stuff to hold the boxes together
- Masking or painters tape
- zip ties/cable ties
Step 2: Crafting a Creeper
My first step was cutting holes to allow me to run cables internally from box to box and opening up some access doors on the back of each box. I also cut holes in the bottom box to allow me to thread cable ties through the bottom and around the RC car and opened holes for the PIR sensor and speaker. After this was done I connected the three cardboard boxes that make up the body using some heavy duty hot glue. This stuff will pull the laminate off your desk before it pulls off, serious stuff. Everything got a coat of "Creeper Green" paint and I masked off the eyes and mouth for a coat of "Soul-less Killing Machine Black".
- Detect motion with the PIR sensor
- Play fuse.wav (aka Tsssssssss...) via the Wave Shield
- Trigger the "Forward" button on the RC car remote for 2 seconds
- Play explode.wave via the Wave Shield
- Wait 10 seconds and reset
The PIR sensor was really easy to hook up using the instructions available on Adafruit's website. I imagine any sensor that measures distance or detects motion could be used in place of this. I will say (for better or worse) using the example code for the PIR sensor made it very sensitive, maybe too sensitive. The RC car came with a simple remote that contained four momentary micro push buttons. I just wired into one side of the "forward" button and used the Arduino to turn the button. I also removed most of the body of the RC car leaving just the wheels, motors and frame. I copied the in game sound effects from Minecraft to the SD card in the wave shield for playback. The output volume of the Wave Shield on it's own is pretty quiet so I ran it through the CMoy Amp to boost it's volume to a appropriately scary level. After I was sure I had everything working I used some standard craft hot glue to glue the speaker and PIR sensor inside of the Creeper body. I also glued the back of the body closed because as I learned it's nearly impossible to get tape to stick to acrylic paint.
Step 4: I've created a monster
Here's a montage of the little guy working. He's just so adorable I could explode.
And since someone might be interested in my terribly mashed up code here's the code I used to run the thing. I used the example code for the PIR sensor and Wave Shield both available on adafruit.com to create this mostly functional code. Use at your own risk!