Totally newbie: Vibration vs. Accelerometer

Hello people,

Please excuse me if this is a silly silly question: I'm totally new to Arduino and in fact it is my first time thinking of a Project that might use it, so it is a good excuse to learn.

The thing is that I'm building a series of objects for a class in University that may behave in weird ways, and one of them is a mp3 player that only works while you're NOT moving. The mp3 player itself will be "monitoring" your movement and the idea is that it has to be really sensitive so it will be required the user to stand really still. The guts of the mp3 player will be "faked" in a computer, that means that the device doesn't need to be independent.

A couple of friends suggested an accelerometer like ADXL320 but I think it is too expensive for such a simple application. Then I was looking for other sensors and found this piezo vibration sensor but I'm not sure it might fit my purpose. Do you think it's a good idea or maybe there's an easier and less expensive solution?

Again, I don't need complex data, logically speaking it would be just "0" for no movement and "1" for movement. But I don't know how it would work actually, but I may try to learn :slight_smile:

Thanks in advance!

You could suspend a small metal ring between two electrodesd (all made from cheap copper wire): a movement will shake the ring an break the contact momentarily. Then use an interupt routine to detect a change of the signal.

Something similar to Martin's idea (don't debounce it, either - you want it sensitive and spurious):

Take the spring from a ballpoint pen, and feed a bare piece of wire thru the center (the wire should be as straight and parallel to the spring as possible - and centered well) as a "whisker" contact. Hook up another wire to the spring. If you can assemble all of this on a small piece of protoboard or etched PCB, all the better. Add a small weight (epoxy a small lead fishing weight) to the "top" of the spring.

You might be able to expand this by using multiple springs and whiskers, arranged perpendicular to each other, to allow any orientation of the sensor. Try different springs and different weights, too.

peizos would not be sensitive enough I think, so let me add in some ideas for ghettotronics

  1. grid of pressure sensors, sounds fancy but you can use anti static foam, as it decreases in resistance as its crushed, though weight may be an issue

  2. similar to above but a lot less complex of a biuld, get 2 pieces of perfboard and some (like) header pins

lay out a O shape on one side using the pins and solder them in place, leave plenty of pin poking out

acquire a ball baring or if its small a BB and solder on the top

connect half the pins to an arduino pin (after running through a 1k or larger resistor) and the other half to ground

so now what you have is a metal ball in a metal cage, and depending on your tolerances as it moves around the ball will short out the pins of the cage, pulling the arduino input to ground

bah, they removed the best part of that product!


The problem with the Non Mercury Tilt Switch is that they are not very reliable. The ball is so light that it often fails to make electrical contact. I had a problem with this on some pagers in a past job. These were supposed to identify when some one was knocked over and they didn't always work. Where as the now banned mercury switch worked every time. In the end we replaced it with an accelerometer.

Hej all,

thanks for the answers so far! Lots of useful and DIY ideas, that's what I was looking for, in fact. The more experimental the solution, the better. Now I can start to develop some logical thinking from here.

Martin, are you from Bremen, Germany? My Project is actually for a class at the Hochschule für Künste.

Thanks once again!

I have been to Bremen a few times, very nice place. I normally camp next to the drop tower. :- Fallturm Bremen - Wikipedia

These were supposed to identify when some one was knocked over and they didn't always work. Where as the now banned mercury switch worked every time.

At Apache Reclamation here in Phoenix, they have a bin full of old mercury tilt switches, and a large barrel-full elsewhere. I think they sell them for $1.00 or so; I always pick up a few when I go there. They also have clear plastic omni-directional, multi-pin ball-in-cage tilt sensors; the pins are oriented so that you can tell which way the sensor is facing depending on the read of the pins (one pin is common).