Project tutorial
Dropping Spider on Doorbell - Halloween Scare Prank

Dropping Spider on Doorbell - Halloween Scare Prank © GPL3+

A quick halloween scare prank using an Arduino, HC-SR04 ping sensor, and a servo. A spider drops on anyone trying to ring the bell.

  • 1 comment
  • 12 respects

Components and supplies

51gzz5eu9pl. sx425
Ultrasonic Sensor - HC-SR04 (Generic)
Any cheap HC-SR04 from ebay or similar will work.
Rg cont a
RobotGeek Continuous Rotation Servo
Any servo will work.
Ph a000066 iso (1) ztbmubhmho
Arduino UNO
Any model of Arduino will work. Doesnt have to be UNO.

About this project

My son Max came up with the idea to drop a spider on anyone who rang our doorbell this Halloween. I was ofcourse quick to "jump" on the idea, and we started to work on it as soon as we could. It is a really simple build, using an Arduino and a small sketch we put a ultrasonic distance sensor (HC-SR04) to sense when someone came close to the doorbell, and then a servo quickly "dropped" a spider in a string on the visitors hand. Letting it dangle for a bit before it was retracted again. It was great fun to build and took short enough time to keep a kid interested through the build ;)

All the instructions is in this short video tutorial:

Enjoy, and hope you scare someone this Halloween! >:)


The code for the dropping spider halloween prankArduino
Code from Anything Arduino episode 31. Dropping spider on doorbell Halloween scare prank.
#include <Servo.h>

//Ping sensor
const int pingPin = 7;
long pingSendTime = 0;

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup()
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object


void loop()
//Ping sensor code:
  if (millis()>pingSendTime+100) {
    long duration;
    pinMode(pingPin, OUTPUT);
    digitalWrite(pingPin, LOW);
    digitalWrite(pingPin, HIGH);
    digitalWrite(pingPin, LOW);
    // The same pin is used to read the signal from the PING))): a HIGH
    // pulse whose duration is the time (in microseconds) from the sending
    // of the ping to the reception of its echo off of an object.
    pinMode(pingPin, INPUT);
    duration = pulseIn(pingPin, HIGH);
    if (duration<380 and duration>100) {
        for (pos = 0; pos <= 60; pos += 1) { // goes from 0 degrees to 180 degrees
          // in steps of 1 degree
          myservo.write(pos);              // tell servo to go to position in variable 'pos'
          delay(1);                       // waits 15ms for the servo to reach the position
      for (pos = 60; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
        myservo.write(pos);              // tell servo to go to position in variable 'pos'
        delay(15);                       // waits 15ms for the servo to reach the position
//End ping sensor code.
} //void loop


Schematics for ep.31 Spider dropping on doorbell.
A simple schematics on how to connect the HC-SR04 and Servo to the Arduino.


Similar projects you might like

PIR Sensor Activated Halloween Scare Prank

Project tutorial by Kristian Blåsol

  • 27 respects

Halloween PIR Proximity Scare Speaker with Lighting Effects

Project tutorial by syn

  • 19 respects

Arduino Centipede Dropping Prank

Project tutorial by GadhaGod

  • 5 respects

2016 Halloween Laser Maze

Project showcase by Sam Horne

  • 32 respects

How to Build a DIY Animatronic Halloween Prop Using Arduino

Project tutorial by amrmostaafaa

  • 1 comment
  • 14 respects
Add projectSign up / Login