Tremor Detector


An electronic device capable of detecting earthquakes can be constructed from some simple materials.
At hila we used an orange plastic pylon,  a fishing sinker, a funnel, aluminum foil and a buzzer to construct this tremor detector.

The diagram shows a metal weight suspended on a wire.  If an earthquake causes the metal weight to swing and touch the metal foil on the funnel the circuit is completed and the buzzer sounds.
Suspending the metal weight higher or lower in the funnel changes the sensitivity of the device.  If it is suspended higher it has to swing further and will only detect large earthquakes.

The device can also be used to detect motion such as the movement of a floor when someone walks on it.  Small motion like this requires careful setup of the device as it would have to be very sensitive (close to the bottom, narrow part, of the funnel.)


This image shows the parts used before final assembly.  The funnel is a common plastic kitchen funnel covered with aluminum foil.
A fishing sinker  or any compact metal object can be used for the weight.


Burglar detectors used to protect cars are similar to this device.

Connecting the tremor detector to a computer.

Check out the computer engineering section of our projects page.  It is possible to connect this device to pins 1 and 3 of the joystick port and use your computer to detect tremors.  Connect the wire from the metal weight to pin 1 (through a 1K resistor), connect the wire from the foil on the funnel to pin 3.

The Qbasic code below creates a graphic display and a siren when a tremor is detected.
For information about using Qbasic check our projects page

c = 1

        a = STICK(0)
        PSET (c, a), 2
        c = c + 1

        IF a > 0 THEN LINE (c, 0)-(c, a), 4
        'IF a > 0 THEN LINE (c, 0)-(c - 4, a), 4, BF

        IF a > 0 THEN GOSUB 900

        IF c > 639 THEN CLS
        IF c > 639 THEN c = 1


'Sound command is created first and will be used with GOSUB
'for next statements are used with the sound command


        FOR s% = 440 TO 1000 STEP 10
        SOUND s%, s% / 1000
        NEXT s%
        FOR s% = 1000 TO 440 STEP -10
        SOUND s%, s% / 1000
        NEXT s%

'RETURN will send it back to the line after gosub

Return to Projects Page