Boxing Trainer Uses DIY Force Sensors

A team of Cornell students have designed and built their own electronic boxing trainer system. The product of their work is a game similar to Whack-A-Mole. There are five square pads organized roughly into the shape of a human torso and head. Each pad will light up based on a pre-programmed pattern. When the pad lights up, it’s the player’s job to punch it! The game keeps track of the player’s accuracy as well as their reaction time.

The team was trying to keep their budget under $100, which meant that off the shelf components would be too costly. To remedy this, they designed their own force sensors. The sensors are basically a sandwich of a few different materials. In the center is a 10″ by 10″ square of ESD foam. Pressed against it is a 1/2″ thick sheet of insulating foam rubber. This foam rubber sheet has 1/4″ slits cut into it, resulting in something that looks like jail bars. Sandwiching these two pieces of foam is fine aluminum window screen. Copper wire is fixed the screen using conductive glue. Finally, the whole thing is sandwiched between flattened pieces of corrugated cardboard to protect the screen.

The sensors are mounted flat against a wall. When a user punches a sensor, it compresses. This compression causes the resistance between the two pieces of aluminum screen to change. The resistance can be measured to detect a hit. The students found that if the sensor is hit harder, more surface area becomes compressed. This results in a greater change in resistance and can then be measured as a more powerful hit. Unfortunately it would need to be calibrated depending on what is hitting the sensor, since the size of the hitter can throw off calibration.

Each sensor pad is surrounded by a strip of LEDs. The LEDs light up to indicate which pad the user is supposed to hit. Everything is controlled by an ATMEGA 1284p microcontroller. This is the latest in a string of student projects to come out of Cornell. Make sure to watch the demonstration video below. Continue reading “Boxing Trainer Uses DIY Force Sensors”

Beating the Skins of Oatmeal Tins

Ithaca-based power trio [Nick, Roshun, and Ian] share a love of music and beating on things with drum sticks. To that end (and for class credit), they built a Digitally-Recordable, User-Modifiable Sound Emitting Tool (DRUMSET) using force-sensing resistors housed in oatmeal cans.

Anyone who has dealt with FSRs knows how persnickety they can be. In order to direct the force and avoid false positives, these enterprising beat purveyors suspended a sawed-off 2-liter bottle to the underside of each lid. This directs the force coming in from their patent-pending foam-enhanced drum sticks to the small, round sensing area of the FSR. There’s just enough space between the cap and the FSR to account for the play in the oatmeal can lid drum head when struck.

DRUMSET offers different-sounding kits at the push of a momentary switch. At present, there are four pre-programmed kits: the acoustic and electronic foursomes you’d expect, and a kit of miscellaneous sounds like hand claps and wooden claves that sound like something They Might Be Giants would have used on their first album. The fourth is called ‘Smoke on Water’, and is exactly what it sounds like. Should you tire of these, DRUMSET has a program mode with around 20 samples. These can be cycled through on the LCD and assigned to any of the four drums.

The microphone is for record mode, and whatever is recorded can be mapped to any drum. The memory limitations of the ‘1284P make for a 0.2 second sample of whatever is barked into the mic, but that’s plenty of time for shouting ‘hack!’ or firing off whatever hilarious bodily sound one can muster. We think this four track-like functionality of DRUMSET has interesting recording and live performance implications. The team’s future plans include space for longer samples and more robust drum construction (although it is possible to do this without any drums whatsoever). They’d also like to add more drums in case Neil Peart calls. The beat goes on after the break.

Continue reading “Beating the Skins of Oatmeal Tins”

Electronic Glove Detects Sign Language

A team of Cornell students recently built a prototype electronic glove that can detect sign language and speak the characters out loud. The glove is designed to work with a variety of hand sizes, but currently only fits on the right hand.

The glove uses several different sensors to detect hand motion and position. Perhaps the most obvious are the flex sensors that cover each finger. These sensors can detect how each finger is bent by changing the resistance according to the degree of the bend. The glove also contains an MPU-6050 3-axis accelerometer and gyroscope. This sensor can detect the hand’s orientation as well as rotational movement.

While the more high-tech sensors are used to detect most characters, there are a few letters that are similar enough to trick the system. Specifically, they had trouble with the letters R, U, and V. To get around this, the students strategically placed copper tape in several locations on the fingers. When two pieces of tape come together, it closes a circuit and acts as a momentary switch.

The sensor data is collected by an ATmega1284p microcontroller and is then compiled into a packet. This packet gets sent to a PC which then does the heavy processing. The system uses a machine learning algorithm. The user can train the it by gesturing for each letter of the alphabet multiple times. The system will collect all of this data and store it into a data set that can then be used for detection.

This is a great project to take on. If you need more inspiration there’s a lot to be found, including another Cornell project that speaks the letters you sign, as well as this one which straps all needed parts to your forearm.
Continue reading “Electronic Glove Detects Sign Language”

Tiptoe Through the Tulips in No Time With Ukule-LED

Take it from someone who has played at the guitar for over 20 years: reading sheet music can be a big stumbling block to musical enjoyment. Playing by ear is somewhat unreliable, tablature only works well if you’re already familiar with the tune and tempo, and pulling melody from chord charts is like weaving fiction from the dictionary. A lot can be said for knowing basic chord formations, but it can be difficult get your fingers to mimic what you see on the page, the screen, or someone else’s fretboard. Enter Ukule-LED, a learning tool and all-around cool project by [Raghav and Jeff] at Cornell.

Ukule-LED uses 16 NeoPixels across the first four positions of the fretboard to teach chord positions. All 16 NeoPixels are connected in series to a single pin on an ATMega1284P, which sits on a board mounted to the bottom of the uke along with power and serial. [Raghav and Jeff] set the NeoPixels below the surface so as not to interrupt playability. The uke can operate in either of two modes, ‘play’, and ‘practice’. In ‘play’ mode, the user feeds it a text file representing a song’s chords, tempo, and time signature. The LEDs show the chord changes in real-time, like a karaoke teleprompter for fingers. In ‘practice’ mode, the user enters a chord through the CLI, and the lights hold steady until they get a new assignment. Knowing which fingers to use where is up to the user.

To add another layer of learning, major chords alight in green, minor chords in red, and 7th chords in blue. These are the currently supported chord types, but the project was built with open, highly extendable Python sorcery available for download and subsequent tinkering. Go on tour after the break.

Continue reading “Tiptoe Through the Tulips in No Time With Ukule-LED”

Taste the Rainbow One Color at a Time

It’s the end of another fall semester of Bruce Land’s ECE4760 class at Cornell, and that means a fresh crop of microcontroller-based student projects. For their project, [Alice, Jesse, and Mikhail] built a Skittle-sorting miniature factory that bags and seals same-colored candies into little pouches of flavor.

Their design is split into three stages, which are visually delineated within the all-cardboard housing. Skittles are loaded into a funnel at the top that leads to the color detection module. The color is determined here with an RGB LED and OPT101 photodiode driven by an ATMega1284.  Because the reflected RGB values of red and orange Skittles are so similar, the detector uses white light to make the final determination.

Once the matchmaking is over, a servo in the second stage rotates to the angle that corresponds with the color outcome. The Skittle then slides down a cardboard chute, passes through a hole in a cardboard disk, and drops into a hanging bag. Once the bags have reached the predetermined capacity, another servo moves the carousel of bags to a nichrome wire sealing rig. Lead factory worker [Jesse] must intervene at this point to pull the bags off the line. You can see the full walk-through and demonstration of this Skittle flavor separator after the break.

Continue reading “Taste the Rainbow One Color at a Time”

Simple and Elegant Single Digit Nixie Tube Clock

We’ve seen a few Nixie projects around here before, but this one might be the simplest yet. [Pinomelean] designed this simple nixie tube clock with just a handful of components.

The Nixie tube chosen for the project is an IN-12a. This tube can be purchased for around just four dollars. It is capable of displaying one digit at a time, zero through nine. Since the tube can only display one digit at a time, the clock is programmed to flash each digit of the current time one by one. There is a longer pause in between each cycle to make it easier to tell when the cycle begins and ends.

The system is broken into two main components. The first is the clock circuit. The clock runs off a PIC microcontroller with a 4MHz crystal. All of the logic is performed via the PIC and only a handful of other components are required. This includes some resistors and capacitors as well as a few high voltage SMD transistors to control the Nixie tube. [Pinomelean] has made this PCB design available so anyone can download it and make their own clock.

The second component to the clock is the power supply. The system is powered by a lithium-ion rechargeable battery, but [Pinomelean] notes that it can also be powered with USB. The lower voltage works well for the microcontroller, but the Nixie tube needs a higher voltage. [Pinomelean] built his own high voltage supply using components scavenged from an old disposable camera. This power supply board design is also made available for download, but it plugs into the main board so you can use another design if desired.. Check out the demo video below to see it in action. Continue reading “Simple and Elegant Single Digit Nixie Tube Clock”

USB On The Teensy 3 From The Ground Up

When implementing USB on a microcontroller, most people are going to reach for V-USB if they’re using an AVR, one of Microchip’s USB libraries if a PIC is involved, or any number of the USB libraries for various ARM processors. [Kevin] had a different idea. As a challenge to himself, he wrote a USB device driver for the Teensy 3.1 microcontroller board, getting as close to the bare metal as he could get.

Writing a USB device driver first required a literature review. There are a few peculiarities in the Freescale K20 family of microcontrollers – the one found in the Teensy 3.1 – that dictate the need for a specific memory layout, using several clocks, and handling all the USB descriptors. [Kevin] started with the clocks, every last one of which must be enabled. The clock is generated by the Multipurpose Clock Generator from a 16MHz crystal, PLL’ed to the frequencies the USB module needs, and sent out over the System Integration Module.

Following the flowcharts and sequences found in the Freescale reference guide told [Kevin] exactly what needed to be done with the startup sequence, and offered a few suggestions on what needed to be done to set up all the interrupts. [Kevin] spent an incredible amount of time documenting, programming, and smashing his head against the keyboard for this tutorial, but he does give everyone a great opportunity to learn from his struggles.

While [Kevin] has a mostly complete USB device driver, his work is far from done. That’s alright, because this project wasn’t meant to be a full-featured driver; it’s still missing real error handling, strings in the configuration, and a real VID/PID. That’s alright, it’s still a great exercise in building something from scratch, especially something that very few people have built successfully.

Oh, blatant Hackaday Store plug for the Teensy 3.1.