Humane Multi-Mouse Trap Zapper - No Pain Instant Death

by moris_zen in Living > Pest Control

32592 Views, 17 Favorites, 0 Comments

Humane Multi-Mouse Trap Zapper - No Pain Instant Death

2013-04-20 20.59.35.jpg
Let me start out by clarifying the conflict between "Humane" and "Mouse Zapper".
I have a major mouse pest problem where they eat all my dog and parrot food every night - and many of them .
I tried purchasing several mouse traps which all face different drawbacks:
1. The sticky pad - the mice glue themselves and for hours struggle to get free exhausting themselves to death and die of hunger.
2. The pipe trap - locks them in and then they eventually suffocate after hours - Very bad!
3. The box trap - sometimes cuts their tails when it shuts and what do I do with them then?
4. The standard smack trap - fast death (50% of the time) but only gets one mouse .

So .. I devised this multi-mouse quick death trap using an Arduino which zaps them in the head for 2 sec killing them instantly with no pain (same as done on larger animals human eat ).

How It Works....

2013-04-20 20.59.28.jpg
Here is the back side (end) of the mouse path .. When it reaches the bate it is sensed by an IR sensor which the Arduino senses and activates the zapper

The Trap Door

2013-04-20 20.59.40.jpg
In this picture you can see the trap door activated by a standard mini servo located under the floor..
See details in picture

Video

I hope the video of the zapper working with run properly .. I uploaded an MP4 from my cell phone....
Instructable does not embed stream video - you need to DL it first - sorry.

Source Code

/* Humane Mouse Zapper - Moris.Zen

*/
#include <Servo.h>
Servo servo1;
// pins
int ledPin = 13;                                       // LED connected to digital pin 13
int AnalogNoseSensorPin = A0 ; // Analog Pin 0
int relayControlPin = 50;
int servoPin = 15;
//Declerations
int NoseLocationVal = 0; // value of the led sensor
// Constants
const int DebugSerialSpeed = 9600;
void setup()
{
  servo1.attach(servoPin);
  pinMode(relayControlPin,OUTPUT);
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
  pinMode(AnalogNoseSensorPin,INPUT);  //  throttle handle Analog in 0
  Serial.begin(DebugSerialSpeed);
}

void loop()
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(100);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(100);                  // waits for a second
  servo1.write(150);// close trap door 
  pinMode(servoPin,INPUT);//silence Servo
  NoseLocationVal = analogRead(AnalogNoseSensorPin); // Optic sensor
    if (NoseLocationVal <50)  {//Check if mouse is inside
        digitalWrite(relayControlPin,LOW); // Zap it
        delay(1000);// Zap for 1 Sec
        digitalWrite(relayControlPin,HIGH); // Stop Zap
        pinMode(servoPin,OUTPUT); // Activate Servo
         servo1.write(20);// Open Trap Door
         delay(2000);// wait for mouse to fall
         servo1.write(150);// close trap door  
         delay(1000);// wait for trap door to close
}
    else   digitalWrite(relayControlPin,HIGH); // No Shock

  //Serial.println(NoseLocationVal);
}