Arduino: Simple Metal Detector
Here’s a demonstration of an Arduino-based metal detector that I came across on the web. The project was originally created by GeekPhysical and posted on Dzl’s Evil Genius Lair blog.
Details and schematics and the link to the code sketch are there:
Some people commenting on that blog had trouble getting it to work, but I had no trouble at all. It worked right away, first time, no problems.
The original project called for 2n2222 transistor, or better with BC547. I didn’t even try a 2n2222, I just grabbed a BC337-25 from my parts stash–I’m trying to use up the bulk order I purchased last year.
And it works fine, with no other mods to the circuit. I made a coil with 30 turns of #27 magnet wire on a 12.5 cm diameter plastic jar lid, and with this coil the circuit’s base frequency is about 90 kHz. I also put a red LED in parallel with the piezo clicker element to provide a visual indication, since the piezo clicks are not very loud. To improve the loudness I epoxied a little plastic cup to the piezo element as a resonator.
The circuit works to detect a US penny coin at about 2 inches, and an aluminum beer can is detected at a foot or so. It really likes aluminum. Ferrous metals don’t seem to set it off as well as aluminum or copper. I don’t have any gold or silver to check at the moment…
The sensitivity of the circuit is set in software, but a simple modification will allow the sensitivity to be set “on the fly” by a potentiometer, and analogRead and map statements in the code. I’ll be making and testing that mod soon, if I can dig up a small-footprint pot from my box of pulls.
Thanks, GeekPhysical, for a neat project! I learned a lot from working through the Sketch, it’s some pretty elegant programming.