Step 2: Software: Lets go to the head of the class

Obviously one of the most important parts of this project was the source video. I was lucky enough to find some original recordings of the singing busts from Disneyland on Youtube. You can find the one I used here: "Phantom 4 of 5 Grim Grinning Ghosts". I pulled the video from Youtube and used that for both the video and audio in this project. 

As I said in the introduction I primarily used four pieces of software to run this project (all of which are free) they are:
  1. My programmed Arduino UNO
  2. AutoHotKey (Windows macro program)
  3. AAC Keys (Turns serial input into keystrokes)
  4. VLC (video playback)
I also set my Windows background to black and hid the task bar so nothing displayed when the video was not playing.

Here's the code for the AutoHotKey script:


Run, c:\Program Files\VideoLAN\VLC\vlc.exe -I rc "VIDEO_FILE_NAME"
Sleep, 61000 ; Pause for video to play, prevents triggering multiple times.
Process, close, vlc.exe ; Kill vlc and make sure it stays dead.

As you can see it's pretty simple. When the "a" key is pressed VLC is launched with arguments to hide everything but the video itself. The script waits for the length of the video (61 seconds) then it closes VLC to reset and run again.

The Arduino sketch isn't much more complicated it waits until the photocell is triggered, then sends the "a" key to the computer over USB (which AAC Keys turns into a keystroke) and waits for 61 seconds before it can be triggered again. 


  Serial Keyboard

 Used to send keystrokes to a Windows PC running AACKeys.exe which
 turns serial data into keystrokes. Best used in conjunction with

 Examples and idea based on the work of http://www.arkadian.eu and
 information from http://wwww.ladyada.net

TheNewHobbyist 2010 <http://www.thenewhobbyist.com>


// Initialize variables
const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;

// Set inpout/output and start serial
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);

// Main code loop
void loop(){
    buttonState = digitalRead(buttonPin);
    if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);
        Serial.print("a"); // send key to PC to start video playback
        delay(61000); // ignore input until video ends
    else {
        // turn LED off:
        digitalWrite(ledPin, LOW);

<p>For those that wanted to know, I got mine from www.nightfrights.com, though I see they're also available on haunted props.com. It's the whole neighborhood's favorite effect. Wish I could have pulled it off doing it myself using these instructs, but it was just too hard for my meager skills. Pats on the back for trying, right? I need a prop-building Halloween fan for a boyfriend! LOL!</p>
<p>Love it! Nice job!!!</p><p>I gave it my best shot, but couldn't come close to what you accomplished. I ended up getting the pre made Ghost Bust from Night Frights since I'm not as technically skilled as you. It was a little pricey, but SO COOL, it was worth it! It's the hit of the neighborhood at Halloween! Thanks for the inspiration! What's next?</p>
Someone is going to be scared this Halloween! Gonna try this!
How do you download the video from youtube?<br>Thanks
Videodownload helper or ant video for firefox.
Use the Firefox browser and search the add ons. Lots of downloaders.
Keepvid.com does a pretty good job. You can find other similar services pretty easily on Google.
This is a good one! Glad you got a prize!
i had the comment and too many wows
This is cool and I copied it with a few modifications. I bought styrofoam heads but used only one, which I had to sand off much of the facial features. I then projected my own face on it.
You could also use a webcam on the laptop and one of the dozens of pieces of motion-detecting software. Or wire the output of the motion detector into the DTR pin of a serial port on the computer. Both options would be cheaper than using an Arduino as a glorified button-pusher. ;)
I investigated this solution and you can use a webcam and freeware motion sensing software called YAWCAM ( Yet Another Web Cam) to trigger an executable. Check it out at http://www.yawcam.com/index.php and look at the help page http://www.yawcam.com/help/help_motion_actions_exe.php for instructions on how to trigger the video for your singing ghosts.
You are exactly right. Arduinos are really overused, when there are much simpler ways to accomplish the same task. <br><br>If the Arduino is overkill, it is over-engineering, which is not good engineering. I do think I'd like to see a buffer between an external device and DTR on my PC.
I generally use a small relay to separate the electrical systems from each other. Especially where the voltages involved quite often differ between devices.
Could you use a garage door sensor (http://www.amazon.com/Genie-Safety-Beam-Photo-Sensors/dp/B0006UGQVG) to accomplish this instead of the photocell? <br><br>I'd be curious to see a setup like the one suggested by lperkins.
This is cool!
Let me tell you how to make this even better, incorporating another Disneyland effect. Mold hollow heads from white thin plastic, or use clear plastic and paint thin white coat. Mount heads so you are viewing them from the hollow side. Place black board in front of heats, with cutouts fit well around heads. Project the video from the back side. In addition to the talking heads effect, you will also see the heads apparently turning to face you no matter what angle you view. This effect is used in the Haunted Mansion in the hallway, just before you get into the cars. There are 2 busts on each side of the hall, which are really concave.
Sounds pretty good... Do you have any pictures ?
there's no any video of finished project!
Sorry if this double posts, but I'm very interested in this project, I've almost got everything needed except the photo-cell switch do you know of any alternatives that don't run in the $120 range, that can still hook to an arduino?<br><br>Maybe something like this - http://www.zorotools.com/g/00065530/k-G0443091?utm_source=google%20shopping&amp;utm_medium=organic&amp;utm_campaign=Google%2BShopping%2BFeed <br><br>
I imagine something like one of these would probably work fine<br><br>IR distance sensor w/cable (10cm-80cm) - GP2Y0A21YK0F<br>http://www.adafruit.com/products/164<br><br>PIR (motion) sensor -<br>http://www.adafruit.com/products/189
Wow, excellent thanks for the quick response! these are even cheaper than what i was looking at ! thank you very much, hopefully i can whip one of these up before halloween!
great but scary !&hellip;<br>(to me at least !&hellip;)
Why not add whig hair and dangle them from the ceiling, add in some body parts coming out the bottom and make them 4 body-less singers. Just a thought.
Awesome! But I think the project might be a little over my head since your second paragraph actually made my head hurt.
don't get discouraged, you can do this - I think you could simplify this alot - all you really need are the foam heads, a projector, a laptop/PC and some speakers. <br> <br>He fancied it all up by connecting the arduino and other electronics to make it completely automated. <br> <br>If you wanted to simplify it, just launch it manually or run it on a loop. <br> <br>I'm doing it this weekend - this is a project my wife would actually like me to do.
Love it! Now if only I had a projector. An idea: put a little stage curtain in front that opens and closes in sync with when they start and stop singing so people don't have a chance to stare at the blank styrofoam heads. Your title has &quot;Signing&quot;
That would be pretty incredible. I've got a motor shield for my Arduino...<br><br>Good catch on the title, fixed!
Awesome project. I often dreamed about reproducing that effect, but my mom would never allow me near the Super-8 projector. Am I dating myself? <br> <br>Regarding the installation, did I miss something? I did not see a picture of the installation of the projector, the most important component. Is there another instructable for that? I'm curious how the projector is set up so that the trick-o-treaters don't block the light. I imagine up high near the ceiling taking advantage of keystoning feature of the projector.
Nope you're right I pretty much forgot to include projector details. I just set up the projector on a table in front of the table. And blocked off that part of the porch with some chairs and rope. <br><br>I put together a quick mockup of what the decorations looked like when it was setup. The projector is on the black table near the rocking chairs.<br><br>http://thenewhobbyist.com/img/halloween_display.png
yea iv gotta say that this is amazing well done iv gotta try this sometime
This is amazingly well done. Great work!
Very cool - I actually know the guy who is the main voice in that little ditty. I grew up in central Florida and was a cast member at the Magic Kingdom during my high-school years. A guy I grew up with, his grandpa is a chap named Thurl Ravenscroft who voiced alot of Disney things as well as The Grinch that Stole Christmas and the voice of Tony the Tiger.<br><br>Excellent work.
Probably one of the coolest halloween projects I've ever seen! I'm inspired!

About This Instructable


202 favorites


More by TheNewHobbyist: Customizable 3D Printable Jack-O-Lantern Doctor WHOokies Arduino powered Haunted Mansion Singing Busts
Add instructable to: