Listening for Hand Gestures

[B. Aswinth Raj] wanted to control a VLC player with hand gestures. He turned to two common ultrasonic sensors and Python to do the job. There is also, of course, an Arduino. You can see a video of the results, below.

The Arduino code reads the distance from both sensors — one for the left hand and the other for the right. This allows the device to react to single hand gestures that get closer or further away from one sensor as well as gestures involving both hands. For example, raising your left hand and moving it closer or further away will adjust the volume. The right hand controls rewind and fast forward. Raising both hands will start or stop playback.

Continue reading “Listening for Hand Gestures”

Add Intuitiveness to OpenSCAD With Encoders

The first time I saw 3D modeling and 3D printing used practically was at a hack day event. We printed simple plastic struts to hold a couple of spring-loaded wires apart. Nothing revolutionary as far as parts go but it was the moment I realized the value of a printer.

Since then, I have used OpenSCAD because that is what I saw the first time but the intuitiveness of other programs led me to develop the OpenVectorKB which allowed the ubiquitous vectors in OpenSCAD to be changed at will while keeping the parametric qualities of the program, and even leveraging them.

All three values in a vector, X, Y, and Z, are modified by twisting encoder knobs. The device acts as a keyboard to

  1. select the relevant value
  2. replace it with an updated value
  3. refresh the display
  4. move the cursor back to the starting point

There is no software to install and it runs off a Teensy-LC so reprogramming it for other programs is possible in any program where rotary encoders may be useful. Additional modes include a mouse, arrow keys, Audacity editing controls, and VLC time searching.

Here’s an article in favor of OpenSCAD and here’s one against it. This article does a good job of explaining OpenSCAD.

Continue reading “Add Intuitiveness to OpenSCAD With Encoders”

Why Only Use One Controller When You Can Use ALL Of Them?

After booting up his RetroPie system, [jfrmilner] had the distinct feeling that something was off. Realizing that the modern Xbox 360 controller didn’t fit right when reliving the games of his youth, he rounded up all his old controllers to make sure he always had the right gamepad for the game.

Wanting to keep the controllers unmodified — so they could still be used on the original systems — he had to do a bit of reverse-engineering and source some controller sockets before building his controller hub. Using shift-in registers, shift-out registers, and some multiplexers, he designed a large circuit selector — which acts as a shield for an Arduino Micro — so all the controllers remain connected. A potentiometer allows him to select the desired controller and a few arcade buttons which access RetroPie shortcuts really round out the hub. Check out the demo after the break!

Continue reading “Why Only Use One Controller When You Can Use ALL Of Them?”

Neural Network Really Ties The Room Together

If there’s one thing that Hollywood knows about hackers, it’s that they absolutely love data visualizations. Sometimes it’s projected on a big wall (Hackers, WarGames), other times it’s gibberish until the plot says otherwise (Sneakers, The Matrix). But no matter what, it has to look cool. No hacker worth his or her salt can possibly work unless they’ve got an evolving Venn diagram or spectral waterfall running somewhere in the background.

Inspired by Hollywood portrayals, specifically one featured in Avengers: Age of Ultron, [Zack Akil] decided it was time to secure his place in the pantheon of hacker wall visualizations. But not content to just show meaningless nonsense on his wall, he set out to create something that was at least showing actual data.

[Zack] created a neural network to work through multi-label classification data in Python using the scikit-learn machine learning suite. The code takes the values from the neutral network training algorithm and converts them to RGB colors by way of an Arduino. Each “node” in the neutral network is 3D printed in translucent filament, and fitted with an RGB LED module. These modules are then connected to each other via side-glow fiber optic tubes, so that the colors within the tubes are mixed depending on the colors of the nodes they are attached to. This allows for a very organic “growing” effect, as colors move through the network node-by-node.

In the end this particular visualization doesn’t really mean anything; the data it’s working on only exists for the purposes of the visualization itself. But [Zack] succeeded in creating a practical visualization of machine learning, and if you’re the kind of person who needs to keep tabs on learning algorithms, some variation of this design may be just what you’re looking for.

If AI isn’t your thing but you still want a wall of RGB LEDs, maybe you can use this phased array antenna visualizer instead. If you’re really hip, maybe you’ll go the analog route and put a big gauge on the wall.

Continue reading “Neural Network Really Ties The Room Together”

Tiny, Wearable 8-Bit VT100 Terminal

In the modern era of computing, the end-user is often quite far removed from the machine they’re using. At least in terms of abstraction levels, the user experience of most computers, smart phones, and the like are very far away from the zeros and ones. If you need to get down to that level though, you’ll have to make your way to a terminal somehow, and reminisce fondly about the days when everything was accessed through a serial line.

Nowadays, some harmless nostalgia is often accompanied by a challenge as well, as [Nick] demonstrated with his tiny serial terminal. It mimics the parsing and rendering of a VT100 console using an Arduino Uno and a 1″x1″ TFT screen. His goal was to make it wearable like a wristwatch would be, using two buttons as an HID device. With the size and simple interface, [Nick] also explores the possibility of mounting such a terminal to a pair of glasses.

While not everyone may want to interact with a serial terminal with only two buttons, it’s certainly a great demonstration of what is possible when it comes to implementing retro software in unique ways. There have been serial terminals implemented in many other unique places as well, such as old oscilloscopes and replicas from popular video games.

Apparently Fruit Flies Like a Raspberry Pi

Groucho Marx famously said, “Time flies like an arrow, but fruit flies like a banana.” As insulting as it is, researchers often use fruit flies for research because they have similar behavior and genetics to humans. For example, the flies exhibit signs of anxiety, stress, and many common diseases. Researchers at Imperial College London built an inexpensive and customizable research platform for fruit flies — the ethoscope — that uses a 3D printed enclosure and a Raspberry Pi to study our winged counterparts. You can see a video about the ethoscope, below.

By using a camera, the Pi can watch the flies, something researchers used to do by hand. The software is easy to customize. For example, while studying sleep deprivation, the ethoscope could detect when a fly didn’t move for 20 seconds and rotate its tube to wake it up.

Continue reading “Apparently Fruit Flies Like a Raspberry Pi”

Reading 16 Rotary Encoders at the Same Time

We’re digging these daisy-chainable encoders built by [fattore.saimon]. Each module consists of a rotary encoder attached to a PCB with a PIC16F15386 on the back. As we’ve covered in the past, the Microchip released their feature-rich PIC16 microprocessor just this year, and it’s great to see them start to crop up in projects. With 4 address jumpers on the back of each PCB, [fattore.saimon] is able to connect up to 16 of the encoders on the bus. The modules also have male and female plugs so he can connect them physically as well, to simplify wiring. Each module also has a PWMable bicolor LED for keeping track of each encoder’s setting.

If you’re interested in making your own you can buy the PCBs from Tindie or download the project files from the creator’s GitHub, including an Arduino library.

We love encoders here on Hackaday — building DIY encoders, as well as using them in projects like this precision cutting jig. And definitely read our colleague [Al]’s great piece on encoders.