Hackaday Prize Entry: AutoFan Saves Tired Drivers With Face Recognition

Long distance driving can be tedious at times. The glare of the sun and the greenhouse effect of all your car’s windows make it hot and dry. You turn on the fan, or air conditioning if you have it, and that brings relief. Soon enough you’ve got another problem, the cold dry air is uncomfortable on your eyes. Eventually as you become more tired, you find yourself needing the air on your face more and more as you stay alert. You thus spend most of the journey fiddling with your vents or adjusting the climate controls. Wouldn’t it be great if the car could do all that for you?

AutoFan is a project from [hanno] that aims to automate this process intelligently. It has a fan with steerable louvres, driven by a Raspberry Pi 2 with attached webcam. The Pi computes the position of the driver’s face, and ensures the air from the fan is directed to one side of it. If it sees the driver’s blink rate increasing it directs the air to their face, having detected that they are becoming tired.

The build logs go into detail on the mathematics of calculating servo angles and correcting for camera lens distortion in OpenCV. They also discuss the Python code used to take advantage of the multicore architecture, and to control the servos. The prototype fan housing can be seen in the video below the break, complete with an unimpressed-looking cat. For those of you interested in the code, he has made it available in a GitHub repository.

Continue reading “Hackaday Prize Entry: AutoFan Saves Tired Drivers With Face Recognition”

Chair Dances Like No One Is Watching

Although it might be more accurate to say that this chair dances because no one is watching, the result is still a clever project that [Igor], a maker-in-residence at the National Museum of Decorative Arts and Design in Norway, created recently. Blurring the lines between art, hack, and the ghosts from Super Mario, this chair uses an impressive array of features to “dance”, but only if no one is looking at it.

In order to get the chair to appear to dance, [Igor] added servo motors in all four legs to allow them to bend. A small non-moving dowel was placed on the inside of the leg to keep the chair from falling over during all of the action. It’s small enough that it’s not immediately noticeable from a distance, which helps maintain the illusion of a dancing chair.

From there, a Raspberry Pi 3 serves as the control center for the chair. It’s programmed in Python and runs OpenCV for face detection and uses pigpio for controlling the leg servos. There’s also a web interface for watching the camera’s output and viewing its facial recognition abilities. The web interface also allows a user to debug the program. [Igor]’s chair can process up to 3 frames per second at 800×600 pixels.

Be sure to check out the video after the break to see the chair in action. It’s an interesting piece of art, and if those dowels can support the weight of a person it would be a great addition to any home as well. If it’s not enough chair for you, though, there are some other more dangerous options out there.

Continue reading “Chair Dances Like No One Is Watching”

Abusing a Cellphone Screen with Solenoids Posts High Score

This Raspberry Pi 2 with computer vision and two solenoid “fingers” was getting absurdly high scores on a mobile game as of late 2015, but only recently has [Kristian] finished fleshing the project out with detailed documentation.

Developed for a course in image analysis and computer vision, this project wasn’t really about cheating at a mobile game. It wasn’t even about a robotic interface to a smartphone screen; it was a platform for developing and demonstrating the image analysis theory he was learning, and the computer vision portion is no hack job. OpenCV was used as a foundation for accessing the camera, but none of the built-in filters are used. All of the image analysis is implemented from scratch.

The game is a simple. Humans and zombies move downward in two columns. Zombies (green) should get a screen tap but not humans. The Raspberry Pi camera takes pictures of the smartphone’s screen, to which a HSV filter is applied to filter out everything except green objects (zombies). That alone would be enough to get you some basic results, but not nearly good enough to be truly reliable and repeatable. Therefore, after picking out the green objects comes a whole chain of additional filtering. The details of that are covered on [Kristian]’s blog post, but the final report for the project (PDF) is where the real detail is.

If you’re interested mainly in seeing a machine pound out flawless victories, the video below shows everything running smoothly. The pounding sounds make it seem like the screen is taking a lot of abuse, but [Kristian] mentions that’s actually noise from the solenoids and not a product of them battling the touchscreen. This setup can be easily adapted to test out apps on different models of phones — something that has historically cost quite a bit of dough.

If you’re interested in the nitty-gritty details of the reasons and methods used for the computer vision portions, be sure to go through [Kristian]’s github repository where everything about the project lives (including the aforementioned final report.)

Continue reading “Abusing a Cellphone Screen with Solenoids Posts High Score”

The Most Immersive Pinball Machine: Project Supernova

Over at [Truthlabs], a 30 year old pinball machine was diagnosed with a major flaw in its game design: It could only entertain one person at a time. [Dan] and his colleagues set out to change this, transforming the ol’ pinball legend “Firepower” into a spectacular, immersive gaming experience worthy of the 21st century.

A major limitation they wanted to overcome was screen size. A projector mounted to the ceiling should turn the entire wall behind the machine into a massive 15-foot playfield for anyone in the room to enjoy.

 

With so much space to fill, the team assembled a visual concept tailored to blend seamlessly with the original storyline of the arcade classic, studying the machine’s artwork and digging deep into the sci-fi archives. They then translated their ideas into 3D graphics utilizing Cinema4D and WebGL along with the usual designer’s toolbox. Lasers and explosions were added, ready to be triggered by game interactions on the machine.

pinnball-ocr-comp

To hook the augmentation into the pinball machine’s own game progress, they elaborated an elegant solution, incorporating OpenCV and OCR, to read all five of the machine’s 7 segment displays from a single webcam. An Arduino inside the machine taps into the numerous mechanical switches and indicator lamps, keeping a Node.js server updated about pressed buttons, hits, the “Lange Change” and plunged balls.

The result is the impressive demonstration of both passion and skill you can see in the video below. We really like the custom shader effects. How could we ever play pinball without them?

Continue reading “The Most Immersive Pinball Machine: Project Supernova”

Raspberry Pi As Speed Camera

Wherever you stand on the topics of road safety and vehicle speed limits it’s probably fair to say that speed cameras are not a universally popular sight on our roads. If you want a heated argument in the pub, throw that one into the mix.

But what if you live in a suburban street used as a so-called “rat run” through route, with drivers regularly flouting the speed limit by a significant margin. Suddenly the issue becomes one of personal safety, and all those arguments from the pub mean very little.

Sample car speed measurements
Sample car speed measurements

[Gregtinkers]’ brother-in-law posted a message on Facebook outlining just that problem, and sadly the local police department lacked the resources to enforce the limit. This set [Gregtinkers] on a path to document the scale of the problem and lend justification to police action, which led him to use OpenCV and the Raspberry Pi camera to make his own speed camera.

The theory of operation is straightforward, the software tracks moving objects along the road in the camera’s field of view, times their traversal, and calculates the resulting speed. The area of the image containing the road is defined by a bounding box, to stop spurious readings from birds or neighbours straying into view.

He provides installation and dependency instructions and a run-down of the software’s operation in his blog post, and the software itself is available on his GitHub account.

We’ve had a lot of OpenCV-based projects but haven’t featured a speed camera before here on Hackaday. But we have had a couple of dubious countermeasures, like that humorous attempt at an SQL injection attack, or a flash-based countermeasure.

Add A Slide Show To Your Fish Tank

Once in a way we get a hack that makes us wonder – why didn’t we think of that ? [hydronics] tore apart an old LCD monitor and built a fish tank around it. Not sure if the fish notice that they are swimming on the Moon, but it sure makes for an interesting fish tank display.

He starts by ripping apart an old 19″ LCD monitor and built an acrylic fish tank around the display. The backlight of the panel is fixed at the rear side of the fish tank, along with the rest of the electronics from the old monitor.

For an earlier version, he built his own back light, but the second version with the original back light turned out much better. The fish tank pieces were joined together using acrylic glue and left over night to dry, although he still needed to use some silicone to plug leaks.

A Raspberry Pi connected to the monitor’s HDMI input provides the background slide show. [Tony Rieker] helped add bubble animations via some OpenCV code running on the Pi. A live feed of the fish is overlaid on the slide show, adding a level of inception to this tricked up fish tank. The project was recently shown off at the Portland Winter Light Festival.

Continue reading “Add A Slide Show To Your Fish Tank”

Measuring Capacitance Against Voltage

Ceramic capacitors are pretty much the pixie dust of the electronics world. If you sprinkle enough of them on a circuit, everything will work. These ceramic capacitors aren’t the newest and latest technology, though: you can find them in radios from the 1930s, and they have one annoying property: their capacitance changes in relation to voltage.

This is a problem if you’re relying on ceramic caps in an RC filter or a power supply. What you need is a device that will graph capacitance against voltage, and [limpkin] is here to show you how to do it.

Of course capacitance is usually measured by timing how long it takes to charge and discharge a cap through an RC oscillator. This requires at least one known value – in this case a 0.1% resistor – by measuring the time it takes for this circuit to oscillate, an unknown capacitance can be calculated.

That’s all well and good, but how do you measure capacitance against a bias voltage? EDN comes to save the day with a simple circuit built around an op-amp. This op-amp is just a comparator, with the rest of the circuit providing a voltage directly proportional to the percentage of charge in the capacitor.

This little project is something [limpkin] has turned into a Kickstarter, and it’s something we’ve seen before. That said, measuring capacitance against a voltage isn’t something any ‘ol meter can do, and we’re glad [limpkin] could put together an easy to use tool that measures this phenomenon.