Dual Sensor Echo Locator Gives High Accuracy at Low Cost

Infrared certainly has its uses, but if you’re trying to locate objects, ultrasonic detection is far superior. It’s contact-less, undetectable to the human ear, and it isn’t affected by smoke, dust, ambient light, or Silly String.

If you have one ultrasonic sensor and a microcontroller, you can detect plenty of useful things, like the water level in a rain barrel or the distance traveled by a tablet along a rail. If you have two sensors and a microcontroller, you can pinpoint any object within a defined range using trigonometry.

[lingib]’s dual sensor echo locator uses two HY-SRF05s, but the cheap and plentiful HC-SR04s will work, too. Both sensors are arranged for maximum beam overlap and wired up to an Arduino Uno. One sensor’s emitter is blocked with masking tape, so all it does is listen.

When the system registers the object, it shows up as a red dot on a grid inside a Processing sketch along with a bunch of details like the object’s coordinates, its distance from each sensor, and the area of the triangle formed by the two sensors and the object. [lingib] reports that the system is quite accurate and will work for much larger playgrounds than the 1 meter square in the demo after the break.

Don’t want to detect objects? Ultrasonic sensors are cheap enough to hack into other things, like this one-way data communications module.

Continue reading “Dual Sensor Echo Locator Gives High Accuracy at Low Cost”

Pinging the Depths of a Rain Barrel

Rain barrels are a great way to go green, as long as your neighborhood doesn’t frown upon them. [NikonUser]’s barrel sits up high enough that he has to climb up on an old BBQ and half-dangle from the pipe to check the water level, all the while at the risk of encountering Australian spiders.

Arachnophobia, it turns out, is a great motivator. At first, [NikonUser] dreamed up a solar-powered IoT doodad that would check the level and report the result on a web page. He battled the Feature Creep and decided to build a handheld device that pings the water level with an ultrasonic sensor and displays it on a 7-segment.

Everything is contained in a water-resistant box and driven by an Arduino Pro. The box is mounted on a piece of scrap lumber that lays across the top of the barrel. This allows the HC-SR04’s eyes to peer over the edge and send pings toward the bottom. It also helps to keep the readings consistent and the electronics from taking a swim.

Operation is simple: [NikonUser] reaches up, sets the plank across the barrel, and pushes the momentary. This activates the Arduino, which prompts the HC-SR04 to take several readings. The code averages these readings, does a little math, and displays the percentage of water remaining in the barrel.

Interested in harvesting rain water, but not sure what to do with it? You can use it for laundry, pour it in the toilet tank instead of flushing, or make an automated watering system for your garden.

YAGDO – Yet Another Garage Door Opener

It seems like every few months we cover another garage door opener, and the concept is quickly becoming the “Hello World” of DIY home automation. In this installment, reader [ray] made his own garage door opener and chose the ESP8266 as the wireless interface of choice, but spiced the application up with an ultrasonic sensor that detects whether the car is in the garage and a web app that shows history, plus integration with Blynk for remote access. For posterity, he made the project open source as well.

The video is well produced with lots of details and instructions, and the circuit board and assembly are refined and clean. It may be a “Hello World”, but it’s done right.

Some of the other garage door hacks we’ve covered in the last year include the fingerprint scanner opener, the IM-ME opener, the motion-based security opener, the cat-enabled opener, the OpenCV Pi opener, and a Bluetooth Low Energy opener.

Continue reading “YAGDO – Yet Another Garage Door Opener”

SRF01 Ultrasonic Sensor Teardown

The SRF01 is a popular ultrasonic sensor used primarily for range finding applications. [Jaanus] discovered that they had a few flaws, including not working after being dropped. The faulty ones began to pile up, so he decided sensor_01to tear one apart and put his engineering skills to use.

The SRF01 is unique in that it only uses a single transducer, unlike the SRF04, which uses two. Using only one transducer presents a problem when measuring very close distances. The transducer emits a pulse of sound and then must listen for the echo. The smaller the distance, the smaller the time interval between the pulse and when the echo returns. There is a fundamental limit to this time as the transducer has to recover from what is known as ringing. [Jaanus] discovered that the SRF01 solves the ringing problem with the use of a PIC24’s ADC and its 500 ksps (kilosamples per second) rate. This allows it to measure very close distances.

Be sure to check out the teardown for more details on how the SRF01 works.

HC-SR04 Isn’t the Same as Parallax PING))) But It Can Pretend to Be!

“It’s only software!” A sentence that strikes terror in the heart of an embedded systems software developer. That sentence is often uttered when the software person finds a bug in the hardware and others assume it’s going to be easier for fix in software rather than spin a new hardware revision. No wonder software is always late.

[Clint Stevenson] is his own hardware and software guy, as are most of us. He wanted to use the less expensive HC-SR04 ultrasonic rangefinder in a prototype. Longer term he wanted to have the choice of either a Parallax PING or MaxBotix ultrasonic sensor for their better performance outdoors. His hardware hack of the SR04 made this a software problem which he also managed to solve!

[Clint] was working with the Arduino library, based on the Parallax PING, which uses a single pin for trigger and echo. The HC-SR04 uses separate pins. Originally he modified the Arduino library to accept the two pin approach. But with his long term goal in mind, he also modified the HC-SR04 sensor by removing the on-board pull-up resistor and adding a new one on the connector side to combine the signals. That gave him an SR04 that worked with the single-pin based library.

We’ve seen Parallax PING projects for sensing water depth and to generate music. These could be hacked to use the HC-SR04 using [Clint’s] techniques.

[Arduino and HC-SR04 photo from Blax Lab]

Good Vibrations: Giving the HC-SR04 a Brain Transplant

[Emil] got his hands on a dozen HC-SR04 ultrasonic sensors, but wasn’t too happy with their performance. Rather than give up, he reverse engineered the sensor and built an improved version. Hackers, Makers, and robotics enthusiasts have had easy access to standard sonar platforms since the early 1980’s, when Polaroid began selling their 6500 sonar modules. A number of companies have released sonar boards since then, notably The Parallax Ping))) module. The HC-SR04 appeared on the market a few years back as a low-cost alternative of the Ping.

[Emil] found that the HC-SR04 would work reliably on hard surfaces as far as 4 meters away from the sensor. However, he got a lot of bad data back when using soft sided targets, or when no target was present at all.  [Emil] reverse engineered the schematic of the HC-SR04 and found some interesting design decisions. A Max232 RS-232 converter chip is used for its +-12V +-10V charge pumps. The charge pumps are connected to create 24V 20V at the ultrasonic transmitter. A mask programmed microcontroller manages the entire unit, commanding the ultrasonic transmitter to send 40Khz pulses, and listening for returns on the receive side of the system. [Emil] believes the micro is running in polled mode, due to the fact that it sometimes misses pulses. Even worse, the micro runs on an unmarked 27MHz crystal which had quite a bit of drift.

[Emil] solved these problems by creating his own PCB with an ATtiny24 and a 12MHz crystal. He increased the pin count from 4 to 6, allowing the ATtiny to be programmed in circuit, as well as opening the door to I2C and SPI operation. To build the boards up, [Emil] first solders his micro and crystal. He then uses a hot air gun to move all the components from the HC-SR04 board to his own. The new boards are still being tested, but [Emil] has posted his PCB and BOM data. He’s also promised to post his AVR code when it is available.