[Radu Motisan] is working on a small rover whose primary trick is being able to identify its owner. Robo-Dog is his proof of concept, a rover that uses five ultrasonic sensors to move toward the nearest obstruction. Obviously, this isn’t the same as being able to recognize one person from another, but it’s a start.
The sensors were home-built using ultrasonic capsules soldered into a custom board, with the tube-shaped enclosures made out of PVC pipe. He made an ultrasonic beacon that uses a 556 timer IC to emit 40 KHz pulses so he can get the hang of steering the robot purely with sound. If that fails, Robo-Dog also has an infrared proximity sensor in front. All of it is controlled by an ATmega128 board and a custom H-bridge motor controller.
[Radu] has been fine-tuning the algorithm, making Robo-Dog move faster to catch up with a target that’s far away, but slower to one that’s close by. It compares the readings from two sensors to compute the angle of approach.
Cheap stuff gets our creative juices flowing. Case in point? [Andy Grove] built an eight-sensor HC-SR04 breakout board, because the ultrasonic distance sensors in question are so affordable that a hacker can hardly avoid ordering them by the dozen. He originally built it for robotics, but then it’s just a few lines of code to turn it into a gesture-controllable musical instrument. Check out the video, embedded below, for an overview of the features.
His Octasonic breakout board is just an AVR in disguise — it reads from eight ultrasonic sensors and delivers a single SPI result to whatever other controller is serving as the brains. In the “piano” demo, that’s a Raspberry Pi, so he needed the usual 5 V to 3.3 V level shifting in between.
The rest is code on the Pi that enables gestures to play notes, change musical instruments, and even shut the Pi down. The Pi code is written in Rust, and up on GitHub. An Instructable has more detail on the hookups.
All in all, building a “piano” out of robot parts is surely a case of having a hammer and every problem looking like a nail, but we find some of the resulting nail-sculptures arise that way. This isn’t the first time we’ve seen an eight-sensor ultrasonic setup before, either. Is 2017 going to be the year of ultrasonic sensor projects? Continue reading “Ultrasonic Raspberry Pi Piano”
After following along with all the Magic Mirror builds, [Troy Denton] finally caved in and started building one for his girlfriend for Christmas. These popular builds are all pretty much bespoke, and this one is no different.
His victim TV didn’t have the ability to be switched on and off by the Raspberry Pi using HDMI/CEC, so he came up with an alternative. He got a couple of opto-isolators and soldered one to the on/off button on the TV’s control board. The Pi didn’t know whether it was switching the TV on or off, it just knew it was switching it. To solve this, [Troy Denton] connected another opto-isolator to the TV’s LED, this one the other way around. When the TV is turned on, the Pi now detects it.
The enclosure is fabbed from 2×4 lumber, the mirror is one-way acrylic which runs somewhere in the $75-100 range for this 27-9/16″x15-1/2″ application. The top and bottom rails include lines of holes to encourage airflow to keep things cool. the face plate is picture framing which makes it easy to mount the mirror. An ultrasonic range finder finishes off the build and when someone stands in front of this magic mirror, the Pi senses it and turns the monitor on.
Included in [Troy]’s post are the Python code and shell scripts he wrote as well as a bunch of pictures of the build process. We’ve seen Magic Mirrors builds before, including some small ones. They’re a cool addition to the house and a fairly simple build.
Digital White/Black Boards or “Smart Boards” are very useful in modern classrooms, but their high cost often makes it difficult to convince administrators from loosening their purse strings. Cooper Union’s 2nd annual HackCooper event in New York wanted students to design and build hardware and software projects that both solve real problems and spark the imagination. At the 24 hour hackathon, the team of [harrison], [david] and [caleb] decided to put together a low-cost and simple solution to digitizing classroom black board content.
A chalk-holder is attached to two strings, each connected over a pulley to a weight. The weights slide inside PVC pipes at the two sides of the black board. Ultrasonic sensors at the bottom of each tube measure the distance to the weights. The weights sit in static equilibrium, so they serve the purpose of keeping the string taut without negatively interfering with the writer.
With a couple of calibration points to measure the extent of displacement of each weight, board width can be determined, making it easy to adapt to different sizes of boards. Once calibrated, the system can determine position of the chalk over the board based on some trigonometrical calculations. Since they had just 24 hours to hack the system together, they had to use a hand operated radio with a couple of buttons to provide user control. Pressing the “Write” button starts transmitting chalk movements to the digital screen. A second button on the radio remote serves to “Erase” the digital screen. After receiving the chalk position data, they had to do a fair amount of processing to eliminate noise and smooth out the writing on the digital screen.
A server allows the whole class to receive the chalk board data in real time. After each “Erase” command, the chalk board state is saved and logged on the server, thus allowing previous content to be viewed or downloaded. If only text is written, optical character recognition can be used to further digitize the content.
What makes the project really useful is the low cost. The sensors cost a dollar. The other parts – PVC pipe, weights/pulleys, Arduino and the Radio key fob – were all bought for under 40 dollars. For some additional cost (and maybe more time in their case) they could have automated the detection of when the chalk was actually doing the writing. The team have made their code available on Github. For a Chalk board at the other end of the cost spectrum, check this one out. Video below.
Continue reading “Blackboard digitization for under $40”
Fans of the bouncing lamp from the Pixar corporate logo will enjoy [Daniel]’s latest project. It’s a motion controlled desk lamp that uses ultrasonic sensors to control its physical position.
The core of the project is an Arduino and the three ultrasonic sensors. The sensors act as range finders, and when they are all working together under the direction of the microcontroller they can tell which direction a hand was moving when it passed by. This information is used to drive two servos, one in the base and one on the lamp’s arm.
The project requires an articulating desk lamp of some sort (others besides the specific one [Daniel] used shouldn’t be much of a problem as long as they bend in the same way). Most hackers will have the rest of the parts on hand, with the possible exception of the rangefinder. The code is up on the project site for a look-see or in case you want to build your own.
The only problem that [Daniel] had when putting this all together was that the base was a little wobbly. He was able to fix that with some thumbtacks, and we think the next step for the project should be switching the light on and off over the internet.
Producing items onto a screen simply by touching the air is a marvelous thing. One way to accomplish this involves four HC-SR04 ultrasonic sensor units that transmit data through an Arduino into a Linux computer. The end result is a virtual touchscreen that can be made at home.
The software of this device was developed by [Anatoly] who translated hand gestures into actionable commands. The sensors attached to the Arduino had an approximate scanning range of 3m, and the ultrasonic units were modified to broadcast an analog signal at 40 kHz. There were a few limitations with the original hardware design as [Anatoly] stated in the post. For example, at first, only one unit was transmitting at a time, so there was no way the Arduino could identify two objects on the same sphere. However, [Anatoly] updated the blog with a 2nd post showing that sensing multiple items at once could be done. Occasionally, the range would be finicky when dealing with small items like pens. But besides that, it seemed to work pretty well.
Additional technical specifications can be found on [Anatoly]’s blog and videos of the system working can be seen after the break.
Continue reading “A Virtual Touchscreen (3D Ultrasonic Radar)”
[Mike] lives in a temperate rainforest in Alaska (we figured from his website’s name) and uses a 570 gallon oil tank to supply his furnace. Until now, he had no way of knowing how much oil was left in the tank and what his daily usage was. As he didn’t find any commercial product that could do what he wanted, he designed his own solution. In his write-up, [Mike] started by listing all the different sensors he had considered to measure the oil level and finally opted for an ultrasonic sensor. In his opinion, this kind of sensor is the best compromise between cost, ease of use, range and precision for his application. The precise chosen model was the ping))) bought from our favorite auction website for around $2.5.
[Mike] built the custom enclosure that you can see in the picture above using PVC parts. Enclosed are the ultrasonic sensor, a temperature sensor and an LED indicating the power status. On the other side of the CAT5 cable can be found an Arduino compatible board with an XBee shield and a 9V battery. Using another XBee shield and its USB adapter board, [Mike] can now wirelessly access the tank oil level log from his computer.