How-to Tuesday: Scariest Pumpkin Ever


It's Tuesday again! This week I am making a scary pumpkin. Nothing gory or disgusting, just something that will scare the kiddies and hopefully score me some candy. How? Well, I am glad you asked. I rummaged through my parts bins and came up with an idea. What if I connected a horn to an Arduino and let out a nice blast when someone came around trick-or-treating. Hopefully they are so scared they drop their bag-o-candy and run away, leaving me with plenty of treats.

Note: It's a joke people! No, I am not taking candy from kids (other than my own). Have fun, and be nice!

What you need:

  • Aduino - Available in the Maker SHED
  • ProtoShield - Available in the Maker SHED
  • Wire
  • Pumpkin - Real, plastic or foam
  • 12Volt battery
  • Car horn - $7 at local car shop or junkyard
  • Buttons and/or switches
  • LEDs - Any color, but I like orange
  • Heat shrink tubing

Tools you need:

  • Soldering Iron
  • Pliers
  • Pumpkin cutting/carving supplies
  • Glue gun

Step 1: Cut up the pumpkin
IMG_5075.JPG
You can use a real pumpkin, but I picked this one up for $5 at a local craft store. Using a real one is fine, but photographing it over a few days can get messy so I decided to use a foam version.
IMG_5078.JPG
The foam pumpkins are really easy to carve. So far it looks like a classic, smiling, jack-o-lantern. The kids will never suspect anything.

Step 2: Add the nose button
IMG_5074.JPG
I had an arcade game button, so I used it for the nose, and a old doorbell button I used to trigger the horn. You can use any button that you have in your scrap bin.
IMG_5093.JPG
Solder some wires to the "nose button" so you can assemble the electronics outside the pumpkin. Attach one wire to the ground of the Arduino and the other wire to pin (7). Also, you need an additional wire with a 10K resistor to ground. (See step 3 for a simple diagram) Speaking of Halloween, that is some scary soldering! Yuck.


Step 3: Add some LEDs to the eyes
IMG_5080.JPG
I added a couple of LEDs to the pumpkin's eyes. First, solder some extra wire to the LEDs so you reach the Arduino once they are glued in place.
IMG_5082.JPG
A little heat shrink makes it look nice and avoids short circuits.

IMG_5090.JPG
Now you can glue them to the inside of the pumpkin. I used hot glue and just held them in place until it cooled.

IMG_5088.JPG
Plug the positive (long lead) of one LED into pin 10 and the other into pin 11. Don't forget to add a 220 Ohm resistor in-between. The other lead (-) goes to the ground of the Arduino. I am using a ProtoShield, so there are plenty of ground pins.

pumpkindiagram.jpg
Speaking or wiring, here is a simple diagram that shows how things are hooked up.

Attention Electronics people!
Yes, I know I could have uses a TIP120 and a relay [PDF] to trigger the horn! But this project is meant to be easy, and easily configured based on what parts are available. I had a servo and an old doorbell button, so that's what I used. (OK, I have a TIP120 and a relay too, but some people might not!)

Also, you could just wire up the horn to the button and put a couple of Throwies in the eyes. However, I really like the pulsing eyes, and the delay before the horn blasts. Using an Arduino made this really easy...and fun.

Step 4: Wire up the horn
combinedshot.jpg
I had a 12V rechargeable battery that I pulled from a home alarm system. It didn't work for the alarm any more, but it will hold enough of a charge to blast the horn a few hundred times.

The positive (+) terminal from the battery connects to one terminal of the button. The other terminal of the button connects directly to the horn. The negative (-) terminal of the battery connects directly to the horn. Simple! Press the button for a sample blast!

Step 5: Attach the servo
IMG_5072.JPG
I had this servo form an old remote control car. Now it's going to be used to push the button that blasts the horn. The servo has 3 wires. The red goes to (+) the black to (-) and the white goes to pin (9). Cut the servo horn so it only has 1 "arm". This arm will end up pressing the button. Yes, I know there are a lot of easy ways to do this with electronics, but remember this is mostly junk and anyone can easy see how this works. Besides, I kind of like the idea of using a servo to press a button...it seems so silly.

IMG_5100.JPG
I used a scrap piece of wood to mount the button and servo. Drill a hole about the size of the button.

IMG_5102a.JPG
Next, Hot glue the servo to the scrap wood. Adjust the code, or the servo horn, to make it press the button when the Arduino sketch calls the "trick" function. Easy!

Step 6: Add another LED
IMG_5097.JPG
When the button is pressed, I want an additional LED to light up the inside of the pumpkin. You can use any color LED, mine is a 10mm White LED. Solder some extra wires to the LED as you did in step #2. The (+) of the LED goes to pin (6) with a 220 Ohm resistor, and the (-) goes to ground.

Step 7: Program the Arduino

Upload this code to your Arduino:

/* MAKE Magazine 2008

Ardumpkin or Pumpuino, your call?
By Marc de Vinck
*/

#include <Servo.h> // loads the library for controlling a servo

Servo myservo; // create servo object to control a servo

int inputPin = 7; // choose the input pin (for a pushbutton)
int val1 = 0; // variable for keeping track of the button status
int val2 = 0; // variable used for PWM of LEDs
int ledrt = 10; //right eye led
int ledlt = 11; //left eye led
int ledmain = 6; //White LED in center of Pumpkin
int pos = 0; // variable to store the servo position

void setup() {

myservo.attach(9); // attaches the servo to pin 9 to the servo object
myservo.write(90); // tell servo to go to position "90" or "off" position

pinMode(ledrt, OUTPUT); // declare LED as output
pinMode(ledlt, OUTPUT); // declare LED as output
pinMode(ledmain, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
}

void loop(){
val1 = digitalRead(inputPin); // read input value
if (val1 == HIGH) { // check if the input is HIGH
trick();
}
else {
treat();
}
}

void trick(){

digitalWrite(ledmain,HIGH); //turn on main LED
digitalWrite(ledrt,HIGH); //turn on right eye LED
digitalWrite(ledlt,HIGH); //turn on left eye LED

for(val2 = 0 ; val2 <= 255; val2+=2) // fade in (from min to max)
{
analogWrite(ledlt, val2); //write left led at power of "val"
analogWrite(ledrt, val2); //write right led at power of "val"
analogWrite(ledmain, val2); //write main led at power of "val"
delay(30); // waits for 30 milliseconds for dimming effect
}

myservo.write(90); //set servo to "off" position
delay(10);

myservo.write(45); //set servo to "on" position
delay(500); // stay "on for 1/2 second

myservo.write(90); //set servo back to "off" position

delay(200);

digitalWrite(ledmain, LOW); // turn main pumpkin LED off
digitalWrite(ledrt,LOW); // turn right LED off
digitalWrite(ledlt,LOW); // turn left LED off
}

void treat(){ // this fades the LEDs on/off until button press

for(val2 = 0 ; val2 <= 255; val2+=50) // fade in (from min to max)
{
analogWrite(ledrt, val2);
analogWrite(ledlt, val2);
delay(30); // waits for 30 milliseconds for dimming effect
}
for(val2 = 255; val2 >=0; val2-=50) // fade out (from max to min)
{
analogWrite(ledrt, val2); //write left led at power of "val"
analogWrite(ledlt, val2); //write right led at power of "val"
delay(30); // waits for 30 milliseconds for dimming effect
}
}

IMG_5104.JPG
The Arduino is programmed to pulse the eye LEDs until the victim, I mean trick-or-treater, presses the big red button. At that point the bright white LED will glow, there will be a slight delay, and the servo will trigger a blast from the horn. With any luck the victim trick-or-treater will drop their bag of candy and run....Mmmmm candy.

Looks like the kids are in for a shock at my house this year. I'll let you know what the neighbors think after the first few hundred blasts.

Note: Do not leave this pumpkin unattended. You don't want anyone getting too close, since the horn is really loud and could damage you hearing. Don't put your ear right up against the pumpkin, and you should be fine. However, you never know what a kid might do. Besides, you want to be there when they scream and drop their loot! Have fun, and watch out for any blinking pumpkins!

More:
FCLR2I9FLROLU07111.jpg
DIY Halloween contest! This is the BIG ONE!!!!


Recent Entries

Leave a comment


Subscribe to MAKE!Subscribe to MAKE Magazine!

Subscribe today, save 42% and get web access to MAKE free. MAKE Digital Edition is available only to subscribers.

$34.95 / 1 year
(4 Quarterly Issues)

Subscribe now


Void your warranty, violate a user agreement, fry a circuit, blow a fuse, poke an eye out. Make: The risk-takers, the doers, the makers of things... Welcome to Make: Online!


CRAFT Maker Shed Maker Faire MAKE television




Check out more videos from MAKE.

MZ_Jameco-RobotBuild_RR.gif
MZ_DIYMovieMaking-RR.gif
Maker SHED

Connect with MAKE

Be a MAKE fan on Facebook MAKE on Facebook
Visit our Facebook page and become a fan of MAKE!
MAKE on Twitter MAKE on Twitter
Follow our MAKE tweets!
MAKE Flickr Pool MAKE on Flickr
Join our MAKE Flickr Pool!
    make_tips on Twitter



    MAKE Archives

    Make: Money

    Make: Science Room
    Subscribe to MAKE Magazine!

    Make: Online editors and authors!

    Gareth BranwynGareth Branwyn
    Editor-in-Chief


    Phillip TorronePhillip Torrone
    Senior Editor
    | Web | Twitter


    Becky SternBecky Stern
    Associate Editor
    | AIM | Twitter


    Marc de VinckMarc de Vinck
    Contributing Writer
    | AIM | Twitter


    John ParkJohn Park
    Contributing Writer
    | Twitter


    Sean RaganSean Ragan
    Contributing Writer
    | Twitter


    Matt MetsMatt Mets
    Contributing Writer
    | AIM | Twitter


    Dale DoughertyDale Dougherty
    Editor & Publisher
    | Twitter


    Shawn ConnallyShawn Connally
    Managing Editor
    | Twitter


    Goli MohammadiGoli Mohammadi
    Associate Managing Editor

    Kip KayKip Kay
    Weekend Projects
    | AIM | Twitter


    Collin CunninghamCollin Cunningham
    Contributing Writer
    | AIM | Twitter

    Adam FlahertyAdam Flaherty
    Contributing Writer
    | AIM | Twitter


    John BaichtalJohn Baichtal
    Contributing Writer
    | AIM | Twitter



    More contributors: Mark Frauenfelder (Editor-in-Chief, MAKE magazine), Kipp Bradford (Technical Consultant/Writer), Chris Connors (Education), Diana Eng (Guest Author), Peter Horvath (Intern), Brian Jepson (O'Reilly Media), Robert Bruce Thompson (Science Room)

    Suggest a Site!

    Advertise here with FM.

    Why advertise on MAKE?
    Read what folks are saying about us!

    Click here to advertise on MAKE!



    Current Podcast

    itunesdl.gif Weekend Project: Pinhole Panoramic Camera A sturdy, panoramic design pinhole camera that uses 120 film. Thanks go to Ross Orr for the original article in MAKE Volume 09. To download The Pinhole Panoramic Camera video video click here and subscribe in iTunes. Check out... More...

    Get the Make: Online sent via email
    Enter your email to receive Make: Online each day:



    Sign up for the Make: Newsletter

    Our Make: Newsletter covers news from maker Media, has original columns, Shed deals, and more! You can also read the archives of past issues.


     



    MAKE Fascination video series brought to you by Dow

    Make: Education
    MAKE: en EspaƱol MAKE: Japan
    Important please read


    Subscribe to MAKE Magazine!

    Recent Posts from the Craft: Blog