Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting objects with Arduino [closed]

Tags:

arduino

Is there any way to detect different types of objects/surfaces with an Arduino board + some sensor?

An example is maybe the difference between wood / metal, or say a bot driving outside could detect if it's on grass, sand or tarmac.

Edit: For the benefit of others wanting to do this, here is a link to the electronics site one, https://electronics.stackexchange.com/questions/9751/detecting-the-type-of-ground/9771.

like image 703
dogmatic69 Avatar asked Dec 28 '25 01:12

dogmatic69


1 Answers

I don't know of any sensor that, alone, is capable of detecting the types of material you mention. (Hence my comment suggesting you ask on the robotics and electronics SE site.)

That said, you should be able to detect conductive/non-conductive (metal/wood) by use of a simple conductivity sensor, something that completes a circuit when touching metal but does not when touching an insulator like wood. A better option may be a capacitive sensor like those used in stud-finder devices.

To detect surface types, like vegetation, sand, or pavement, you will likely have to employ some creative thinking and a combination of sensors.

Here is an example to detect, to a small degree, the relative hardness of the terrain: if this device were mounted on a mobile vehicle of some sort, one such sensor might be a potentiometer attached to a spring-loaded armature of some sort, which drags the ground. The idea would be that the armature attempts to align straight down, perpendicular to the vehicle travel, by spring tension. Grass, sand, and pavement would cause the armature to deflect differing amounts based on the ability for the spring to push against the surface.

To bring this more into a programming realm, you would have to write an algorithm to compute the angles of deflection (by measuring the resistance on the potentiometer) and determine the type of surface. The armature would not create a static value (it's going to be moving all the time), so you would have to compute averages and probably factor in distance traveled.

Consider that these surfaces have other properties which may be of value in detection: light reflectance, moisture level, acoustic echo profile... I leave it as an exercise to you to design a sensor array that can accurately identify surfaces and materials to the degree of precision that you desire. Ultimately, you'll have to rely on sensors (and some programming to juggle the data) that are attuned to specific properties.

like image 93
JYelton Avatar answered Dec 30 '25 22:12

JYelton



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!