Hi all,
at first i want to thank the Arduino team for developing this great little board!
My current project is a shooting cinema for air rifles and pistols.
What does that mean?
A picture or movie is projected by a PC to a surface of approx. 1.5 square meters in size.
When shooting at any prjected target, the bullet impact is measured and located.
I use an arduino diecimila for that.
How does it work?
I use 4 microphones located in the corners of the surface. With 4 amplifiers and comparators
the sound of the bullet impact reaches the microphones within a different time - sound is moving
with approx. 340 meters per second.
The time difference is measured and based on this the position is calculated.
In addition, there is an I2C temperature measurement chip to caltulate the exact speed of sound.
How accurate is it?
Currently i get an average accuracy of less than 1.4 mm, which means the calculated position is
only 1.4 mm away from the real point of impact. This is far enough for moving targets.
How does it work technically?
I use the Timer1 with a rate of 2 MHz (divider=8) to measure the time. This gives a timer/distance
resolution of approx 0.2 mm! On the current prototype, the maximum time measured is about 5.3 ms.
With all the floating point math within the position calculation there are only 300 bytes
left free in the Flash memory!
Do even very timing-critical work can be done with an arduino!!!
Regards,
Bernhard