Ultrasonic Sensors: How They Work (and How to Use Them with Arduino)

Veröffentlicht von

When you need input from the real world to your robot or data collection system, there are several options to choose from:

Light detection (infrared sensors, light-dependent resistors, and computer vision setups)

• Sensors based on magnetic fields

• Ultrasonic sensors

How Does an Ultrasonic Sensor Work?

Ultrasonic sensors work by emitting sound waves at a frequency too high for humans to hear. They then wait for the sound to be reflected back, calculating distance based on the time required. This is similar to how radar measures the time it takes a radio wave to return after hitting an object.

While some sensors use a separate sound emitter and receiver, it’s also possible to combine these into one package device, having an ultrasonic element alternate between emitting and receiving signals. This type of sensor can be manufactured in a smaller package than with separate elements, which is convenient for applications where size is at a premium.

While radar and ultrasonic sensors can be used for some of the same purposes, sound-based sensors are readily available—they can be had for just a couple dollars in some cases—and in certain situations, they may detect objects more effectively than radar.

For instance, while radar, or even light-based sensors, have a difficult time correctly processing clear plastic, ultrasonic sensors have no problem with this. In fact, they’re unaffected by the color of the material they are sensing.

On the other hand, if an object is made out of a material that absorbs sound or is shaped in such a way that it reflects the sound waves away from the receiver, readings will be unreliable.

If you need to measure the specific distance from your sensor, this can be calculated based on this formula:

Distance = ½ T x C

(T = Time and C = the speed of sound)

At 20°C (68°F), the speed of sound is 343 meters/second (1125 feet/second), but this varies depending on temperature and humidity.

Specially adapted ultrasonic sensors can also be used underwater. The speed of sound, however, is 4.3 times as fast in water as in air, so this calculation must be adjusted significantly.

What are Ultrasonic Sensors Used For?

So where can we use these sensors? Robot navigation comes to mind, as well as factory automation. Water-level sensing is another good use, and can be accomplished by positioning one sensor above a water surface. Another aquatic application is to use these sensors to “see” the bottom of a body of water, traveling through the water, but reflecting off the bottom surface below.

Though it might not be immediately obvious, if configured correctly ultrasonic sensors can even measure fluid flow rates. In the simplest case, an emitter and a receiver (separate in this configuration) are aligned with the flow of a fluid. Since sound is traveling through a moving medium, the speed of sound relative to these elements will be increased or decreased by the velocity of the fluid. This can be applied to flow inside pipes by aligning these two elements at an angle to each other, calculating the effective velocity increase based on the trigonometric relations between the two.

Flowrate accuracy can be increased by using data from multiple ultrasonic elements, giving results accurate to within a fraction of a percent.

Incorporating Ultrasonic Sensors into Arduino Projects

Arduino Ultrasonic Sensor

If this all sounds interesting, you can try it out yourself very easily using an Arduino and an HC-SR04 sensor. Shown above is the compact and inexpensive Arduino Nano, but any other development board should also work. Gather the components (Arduino, HC-SR04, wires, and breadboard) and go into the Arduino IDE and install the “NewPing” sensor library.

Ähnliches Produkt:

Arduino Nano | A000005

Arduino Corporation Eingebettete Systementwicklungsboards und -kits Anzeigen

Once installed, there will be a number of new example sketches you can choose from.

Open up the “NewPing3Sensors” sketch.

Attach pins from your Arduino to the HC-SR04, as defined in the program, adding ground and 5V from the Arduino.

Send the program to your dev board, and then open up a serial monitor at 115200 baud. You’ll see a distance reading when you put something in front of it. Note that it reads “0” when it doesn’t properly read a distance.

Try experimenting with different shapes and materials to see what works and what doesn’t. I was pleased to find that acoustic foam paneling does not return a signal, while flat smooth surfaces like a phone screen or piece of paper are sensed quite well.

 Click here for more Arduino information and ideas. 

Overstock AV Page Footer 560x140 2 1 1

Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.