OpenCV Brings Pinch To Zoom Into The Real World

Gesture controls arrived in the public consciousness a little over a decade ago as touchpads and touchscreens became more popular. The main limitation to gesture controls, a least as far as [Norbert] is concerned, is that they can only control objects in a virtual space. He was hoping to use gestures to control a real-world object instead, and created this device which uses gestures to control an actual picture.

In this unique augmented reality device, not only is the object being controlled in the real world but the gestures are being monitored there as well, thanks to a computer vision system watching his hand which is running OpenCV. The position data is fed into an algorithm which controls a physical picture mounted on a slender robotic arm. Now, when [Norbert] “pinches to zoom”, the servo attached to the picture physically brings it closer to or further from his field of view. He can also use other gestures to move the picture around.

While this gesture-controlled machine is certainly a proof-of-concept, there are plenty of other uses for gesture controls of real-world objects. Any robotics platform could benefit from an interface like this, or even something slightly more mundane like an office PowerPoint presentation. Opportunity abounds, but if you need a primer for OpenCV take a look at this build which tracks a hand in minute detail.

Continue reading “OpenCV Brings Pinch To Zoom Into The Real World”

IR Translator Makes Truly Universal Remote

Universal remotes are a handy tool to have around if you have many devices that would all otherwise have their own remote controls. Merging them all into a single device leads to less clutter and less frustration, but they are often not truly “universal” as some of them may not support every infrared device that has ever been built. If you’re in a situation like that it’s possible to build a truly universal remote instead, provided you have a microcontroller and a few infrared LEDs on hand.

This was the situation that [Matt] found himself in when his Amazon Fire TV equipment control feature didn’t support his model of speakers. To get around this he programmed an Arduino to essentially translate the IR codes from the remote and output a compatible set of codes to the speakers.This requires both an IR photodiode and an IR LED but little else other than the codes for the remote and the equipment in question. With that all set up and programmed into the Aruino, [Matt]’s remote is one step closer to being truly “universal”.

While [Matt] was able to make use of existing codes in the Arduino library, it is also possible to capture the codes required manually by pointing a remote at a photodiode and programming a microcontroller to capture the codes that you need. [Matt] used a Raspberry Pi to do this when debugging this project, but we’ve also seen this method used with a similar build which uses an ESP8266 to control an air conditioner via its infrared remote control capabilities.

Continue reading “IR Translator Makes Truly Universal Remote”

Random Robot Makes Random Art

For the price of a toothbrush and a small motor with an offset weight, a bristlebot is essentially the cheapest robot that can be built. The motor shakes the toothbrush and the bristle pattern allows the robot to move, albeit in a completely random pattern. While this might not seem like a true robot that can interact with its environment in any meaningful way, [scanlime] shows just how versatile this robot – which appears to only move randomly – can actually be used to make art in non-random ways.

Instead of using a single bristlebot for the project, three of them are built into one 3D printed flexible case where each are offset by 120°, and which can hold a pen in the opening in the center. This allows them to have some control on the robot’s direction of movement. From there, custom software attempts to wrangle the randomness of the bristlebot to produce a given image. Of course, as a bristlebot it is easily subjected to the whims of its external environment such as the leveling of the table and even the small force exerted by the power/communications tether.

With some iterations of the design such as modifying the arms and control systems, she has an interesting art-producing robot that is fairly reliable for its inherently random movements. For those who want to give something like this a try, the code for running the robot and CAD files for 3D printing the parts are all available on the project’s GitHub page. If you’re looking for other bristlebot-style robots that do more than wander around a desktop, be sure to take a look at this line-following bristlebot too.

Thanks to [johnowhitaker] for the tip!

Continue reading “Random Robot Makes Random Art”

Magnetic Angle Sensor Mods Make Encoder Better For Blasting

Most of the hacks we see around these parts have to do with taking existing components and cobbling them together in interesting new ways. It’s less often that we see existing components gutted and repurposed, but when it happens, like with this reimagined rotary encoder, it certainly grabs our attention.

You may recall [Chris G] from his recent laser-based Asteroids game. If not you should really check it out — the build was pretty sweet. One small problem with the build was in the controls, where the off-the-shelf rotary encoder he was using didn’t have nearly enough resolution for the job. Rather than choosing a commodity replacement part, [Chris] rolled his own from the mechanical parts of the original encoder, like the shaft and panel bushing, and an AS5048A sensor board. The magnetic angle sensor has 14 bits of resolution, and with a small neodymium ring magnet glued to the bottom of the original shaft, the modified encoder offers far greater resolution than the original contact-based encoder.

The sensor breakout board is just the right size for this job; all that [Chris] needed to do to get the two pieces together was to 3D-print a small adapter. We have to admit that when we first saw this on Hackaday.io, we failed to see what the hack was — the modified part looks pretty much like a run-of-the-mill encoder. The video below shows the design and build process with a little precision rock blasting.

Continue reading “Magnetic Angle Sensor Mods Make Encoder Better For Blasting”

Reverse-Engineering An Elevator Control Panel Results In Clicky Goodness

We have to admit that in the hardware hacking universe, there aren’t generally too many chances to hack elevators. Well, at least not opportunities that don’t also include the risk of incarceration. But fortune favors the bold, and when he found the remains of an elevator control panel in an abandoned Croatian resort hotel, [Davor Cihlar] undertook an extensive and instructive reverse-engineering of the panel.

The video below highlights his efforts, which were considerable given the age and state of the panel. This is a relay-only control panel, after all, with most of the relays missing and a rat’s nest of wires connecting the sockets. So [Davor] put his “RevIng” concept to work. This uses a custom PCB with a microcontroller on-board that plugs into each relay socket and probes the connections between it and every other socket. Very clever stuff, and it presented him with the data needed to develop a ladder-logic diagram of the board, with the help of some custom software.

With the original logic in hand, [Davor] set about building a simulator for the panel. It’s a lovely piece of work, with buttons and lights to mimic the control panel inside the elevator car, as well as the call stations that would have graced each lobby of the hotel. Interestingly, he found logic that prevented the elevator from being called to some floors from anywhere but inside the car. The reason remains a mystery, but we suppose that a hotel built by Penthouse publisher [Bob Guccione] would have plenty of secrets.

We love the supremely satisfying clickiness of this build, and the reverse engineering prowess on display, but we can’t find much practical use for something like this. Then again, DIY elevators are a thing.

Continue reading “Reverse-Engineering An Elevator Control Panel Results In Clicky Goodness”

Killing Mosquitoes With Cardi B

Keeping a bird bath or a pond in your yard is a great way to add ambiance and style, but both of these things can be a haven for mosquitoes. Popular methods of getting rid of them are often with harsh pesticides, but [Shane] has brought us a more environmentally-friendly way of taking care of these disease-carrying insects by looping a Cardi B playlist underwater, killing the mosquito larvae.

While the build does include some other favorites such as “Baby Shark” and would probably work with any song (or audio of sufficient volume) the build is still pretty interesting. It’s based on a 555 timer circuit which powered an ultrasonic sound gun, but was repurposed for this build. The ultrasonic modules were replaced with piezo modules which were waterproofed with silicone. The sound produced vibrates at a frequency which resonates with the mosquito larvae and is fatal to them. [Shane] put the build into a small boat which can be floated in any pond, bird bath, horse trough, or water feature.

The major caveat to this build is that it may be damaging to other beneficial animals such as fish or frogs, so he suggests limiting its use to uninhabited stagnant water. Either way, though, it’s a pretty unique way of taking care of a mosquito problem not unlike another build which takes care of these insects in water a slightly different way.

Continue reading “Killing Mosquitoes With Cardi B”

Arduino Reduces Heating Costs

While almost everyone has a heater of some sort in their home, it’s fairly unlikely that the heat provided by a central heating system such as a furnace is distributed in an efficient way. There’s little reason to heat bedrooms during the day, or a kitchen during the night, but heating systems tend to heat whole living space regardless of the time of day or the amount of use. You can solve this problem, like most problems, with an Arduino.

[Karl]’s build uses a series of radiator valves to control when each room gets heat from a boiler. The valves, with a temperature monitor at each valve, are tied into a central Arduino Mega using alarm wiring. By knowing the time of day and the desired temperature in each room, the Arduino can control when heat is applied to each room and when it is shut off, presumably making the entire system much more efficient. It also has control over the circulating pump and some of the other boiler equipment.

Presumably this type of system could be adapted to a system which uses a furnace and an air handler as well, although it is not quite as straightforward to close vents off using a central unit like this as it is to work with a boiler like [Karl] has. With careful design, though, it could be done. Besides replacing thermostats, we can’t say we’ve ever seen this done before.

Thanks to [SMS] for the tip!