Hacklet 91: Ultrasonic Projects

Ultrasound refers to any audio signal above the range of human hearing. Generally that’s accepted as 20 kHz and up. Unlike electromagnetic signals, ultrasonics are still operating in a medium – generally the air around us. Plenty of animals take advantage of ultrasonics every day. So do hackers, makers, and engineers who have built thousands of projects based upon these high frequency signals. This weeks Hacklet is all about the best ultrasonic projects on Hackaday.io!

spambakeWe start with [spambake] and World’s Smallest Bat Detector. [Spambake] is interested in bats. These amazing creatures have poor eyesight, but that doesn’t slow them down. Bats use echolocation to determine their surroundings. Ultrasonic chirps bounce off obstacles. The bat listens to the echos and changes its flight path accordingly. While we can’t hear most of the sounds bats make, electronics can. [Spambake] cooked this circuit up starting with a MEMs microphone. These microphones pick up human sounds, but unlike our ears, they can hear plenty above the 20 kHz range. The audio signal is passed through an amplifier which boosts the it up around 10,000 times. The signal is filtered and then used to trigger LEDs that indicate a bat is present. The final circuit works quite well! Check out [spambake’s] video to see the bat detector in action!

movvaNext up is [Neil Movva] with Pathfinder – Haptic Navigation. Pathfinder uses ultrasonic transducers to perform echolocation similar to bats. The received data is then passed on to a human wearer. [Neil’s] idea is to use Pathfinder to help the visually disabled and blind navigate the world around them. Pathfinder was a 2015 Hackaday Prize finalist. The ultrasonic portion of Pathfinder uses the ubiquitous HC-SR04 distance sensor, which can be found for as little as $2 USD on eBay and Alibaba. These sensors send out a 60 kHz signal and listen for the echos. A microcontroller can then measure the time delay and determine the distance from the sensor to an obstacle. Finally the data is passed on to the user by a vibrating pager motor. [Neal] was kind enough to give a talk about Pathfinder at the 2015 Hackaday SuperCon.

levitate[HoboMunching] likes his ultrasonic devices ultra powerful, and that’s just what he’s got with Ultrasonic Levitation Rig. Inspired by a similar project from Mike, [HoboMunching] had to build his own levitation setup. Ultrasonic levitation used to be a phenomenon studied only in the laboratory. Cheap transducers designed for the industrial world have made this experiment practical for the home hackers. [HoboMunching] was able to use his rig to levitate up to 8 tiny balls on the nulls between the 28.5 kHz sound waves produced by his transducer. The speed of sound can be verified by measuring the distance between the balls. Purists will be happy to hear that [HoboMunching]’s circuit was all based upon the classic 555 timer.

speaker-arrayFinally we have [Alan Green] with Ultrasonic Directional Speaker V1. Most audio signals are not very directional, due to wavelength and practical limitations on speaker size. Ultrasonics don’t have this limitation. Couple this with the fact that ultrasonic signals can be made to demodulate in air, and you have the basis for a highly directional speaker setup. “Sound lasers” based on this system have been around for years, used in everything from targeted advertising to defensive weapons. [Alan] is just getting started on this project. Much of his research is based upon [Joe Pompei’s] work at the MIT media lab. [Alan] plans to use an array of ultrasonic transducers to produce a directional signal which will then demodulate and be heard by a human. This project has a hard deadline though:  [Alan] plans to help his son [Mitchell] with a musical performance that is scheduled for May, 2016. The pair hope to have a prototype in place by March.

If you want to see more ultrasonic projects, check out our new ultrasonic projects list! If I missed your project, don’t be shy! Just drop me a message on Hackaday.io. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Ball Balancing Arduino-Style

If you have a good sense of balance, you can ride a unicycle or get on TV doing tricks with ladders. We don’t know if [Hanna Yatco] has a good sense of balance or not, but we do know her Arduino does. Her build uses the ubiquitous HC-SR04 SONAR sensor and a servo.

This is a great use for a servo since a standard servo motor without modifications only moves through part of a circle, and that’s all that’s needed for this project. A PID algorithm measures the distance to the ball and raises or lowers a beam to try to get the ball to the center.

Continue reading “Ball Balancing Arduino-Style”

El Cheapo Phased-Array Sonar

Sonar is a great sensor to add to any small-scale robot project. And for a couple bucks, the ubiquitous HC-SR04 modules make it easy to do. If you’ve ever used these simple sonar units, though, you’ve doubtless noticed that you get back one piece of information only — the range to the closest object that the speaker is pointing at. It doesn’t have to be that way. [Graham Chow] built a simple phased-array using two SR04 modules, and it looks like he’s getting decent results.

PB211200The hack starts out by pulling off the microcontroller and driving the board directly, a hack inspired by [Emil]’s work on reverse engineering the SR04s. Once [Graham] can control the sonar pings and read the results back, the fun begins.

[Graham] uses TI’s Cortex M4F LaunchPad eval kit to generate a ping and receive the reflections. With normal sonar, the time between the ping being sent and its reception is determined by the range to the target. In a phased array, in this case just the two modules, the difference in the times it takes for the ping to return to each module is used to determine the angle to the target.

phased_array_sonar_tableau

If you’re DSP-savvy, [Graham] is using a phase-shifted square wave signal so that the correlations of the sent and returned signals have better peaks. This also helps the peaks in correlation across the two SR04s in the array. We think it’s pretty awesome that [Graham] is resolving a couple of degrees in angular separation when he moved his wine bottle. With a couple more SR04 units, [Graham] could start to get height information back as well.

For not much scratch, [Graham] has himself an experimental setup that lets him play with some pretty heavy signal processing. We’re impressed, and can’t wait to see what’s next. Special thanks to [Graham] for posting up the code.

And thanks [João] for the tip!

Looking Inside The Arksen Dual Power Supply

I recently picked up an Arksen dual power supply. You’ve seen these before, I’m sure, under a variety of names in places ranging from electronics stores to eBay. They look amazing for the price, and while I didn’t expect it to measure up to some of the pro supplies I have, I just wanted something to stick under my desk instead of having to move things to the bench or–worse–drag a heavy power supply over to my desk.

When I was putting together the sonic motion sensor, I found that the HC-SR04 module needed more current than I could draw out of an Arduino Leonardo. I figured this would be a good chance to use the new supply in anger. It seemed to work without too many problems. But there were a few things you might want to know if you have a similar supply or are thinking about getting a similar one.

Continue reading “Looking Inside The Arksen Dual Power Supply”

Bootstrapping Motion Input With Cheap Components

Motion control is a Holy Grail of input technology. Who doesn’t want an interface that they can control with simple and natural movements? But making this feel intuitive to the user, and making it work robustly are huge hills to climb. Leap Motion has done an excellent job creating just such a sensor, but what about bootstrapping your own? It’s a fun hack, and it will give you much greater appreciation for the currently available hardware.

Let’s get one thing straight: This device isn’t going to perform like a Leap controller. Sure the idea is the same. Wave your hands and control your PC. However, the Leap is a pretty sophisticated device and we are going to use a SONAR (or is it really SODAR?) device that costs a couple of bucks. On the plus side, it is very customizable, requires absolutely no software on the computer side, and is a good example of using SONAR and sending keyboard commands from an Arduino Leonardo to a PC. Along the way, I had to deal with the low quality of the sensor data and figure out how to extend the Arduino to send keys it doesn’t know about by default.

The Plan

The plan is to take an inexpensive SONAR module (the HC-SR04) and an Arduino Leonardo and use it to perform some simple tasks by mimicking keyboard input from the user. The Leonardo is a key element because it is one of the Arduinos that can impersonate a USB keyboard (or mouse) easily. The Due, Zero, and Micro can also do the trick using the Arduino library.

I wanted to determine how many gestures I could really determine from the HC-SR04 and then do different things depending on the gesture. My first attempt was just to have the Arduino detect a few fingers or a hand over the sensor and adjust the volume based on moving your hand up or down. What I didn’t know is that the default Arduino library doesn’t send multimedia keys! More on that later.

Continue reading “Bootstrapping Motion Input With Cheap Components”

Water Tank Monitoring System Is Now Slug-Proof

[Peter] is doing his part toward protecting the environment and conserving water. He’s built a rainwater collection system complete with an underground storage tank. Since he wanted to monitor the water level in the tank, he made a level indicating system. Everything was going well until one day out of nowhere it stopped working, only returning 0’s as the level. [Peter] took a look and found that I slug had made its way into the electronics enclosure and slimed up the traces on the PCB, causing short circuits.To fix the problem [Peter] decided to redesigned the system. This time it would be built into an all-weather electrical box. The system uses a standard hobby ultrasonic range finder to measure the distance from the top of the tank to the level of the water. Two holes cut into the electrical box allow the sender/receiver components to peek outside of the enclosure. Any gaps were then filled with sealant. [Peter] also added a thermistor to measure the temperature inside the tank.The sensor values are read by an Arduino and sent wirelessly to [Peter]’s computer via a pair of XBee’s and a second Arduino with an ethernet shield. The data are sent in 3 minute intervals and automatically stored in a MySQL database for quick reference of level and temperature trends. Now [Peter] can monitor his rain water remotely and adjust his usage habits accordingly. Want to read more about water tanks? Check out this overflow monitor system.

Fail Of The Week: Sonar Submersibility Sealing

For the last decade or so, [Jason] has wanted to build an underwater robot. Can you blame him? More recently, he’s been researching sonar sensing and experimenting with the relatively inexpensive HC-SR04 module. Since he had good luck getting it to work with a PC sound card and a Stellaris Launchpad, he figured it was time to try using it underwater.

Hydrophone research led him to the idea of submerging the sensor in mineral water oil to both seal it and couple it with the water. Unfortunately, the HC-SR04 only sends one pulse and waits for echo. Through the air, it reliably and repeatedly returned a small value. Once inside a pill bottle filled with mineral oil, though, it does something pretty strange: it fluctuates between sending back a very small value and an enormous value. This behavior has him stumped, so he’s going to go back to the Launchpad unless you can help him figure out what’s going on. Should he use a different method to seal it?


2013-09-05-Hackaday-Fail-tips-tileFail of the Week is a Hackaday column which runs every Thursday. Help keep the fun rolling by writing about your past failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.