There are reports of a Tetris movie with a sizable budget, and with it come a plentiful amount of questions about how that would work. Who would the characters be? What kind of lines would there be to clear? Whatever the answers, we can all still play the classic game in the meantime. And, thanks to some of the engineering students at Cornell, we could play it without using a controller.
This hack comes from [Bruce Land]’s FPGA design course. The group’s game uses a video camera which outputs a standard NTSC signal and also does some filtering to detect the user. From there, the user can move their hands to different regions of the screen, which controls the movement of the Tetris pieces. This information is sent across GPIO to another FPGA which uses that to then play the game.
This game is done entirely in hardware, making it rather unique. All game dynamics including block generation, movement, and boundary conditions are set in hardware and all of the skin recognition is done in hardware as well. Be sure to check out the video of the students playing the game, and if you’re really into hand gesture-driven fun, you aren’t just limited to Tetris, you can also drive a car.
Continue reading “Hand Gestures Play Tetris”
The Tile is a small Bluetooth chip, speaker, and enough battery for a year in a keychain format. If you lose your keys in the morning, simply use the app on your phone to find the keychain. If you lose your phone simply get out your second phone.
This planned obsolescence didn’t jive with [JM] when his Tile stopped being discoverable. He didn’t want to toss a gadget that had served him so well into the landfill. So, like any good hacker, he cracked its plastic case open.
The Tile itself is a really interesting product. The largest component is the battery which has tabs spot-welded to its surface. Attached to those is a well laid out board. [JM] points out the clever use of spring contacts to engage the piezo element for the speaker as a nice example of good design for manufacture.
The hack itself was pretty easy to complete. Some electrical tape and soldering was all it took to embed the tile into the remote. Now he can take out his phone and press a button to hear a forlorn beep coming from under the couch cushions.
[glitch] had a cheap EPROM eraser with very few features. Actually, that might be giving it too much credit: it’s barely more than a UV light that turns on when it’s plugged in and turns off when it’s
plugged out unplugged. Of course it would be nice to implement some safety features, so he decided he’d hook it up to a software-controlled power outlet.
Of course, controlling a relay that’s wired to mains is old hat around here, and in fact, we’ve covered [glitch]’s optoisolated mains switch already. He’s gone a little beyond the normal mains relay project with this one, though. Rather than use a microcontroller to run the relay, [glitch] wrote a simple Ruby script on his computer to turn the EPROM eraser on for the precise amount of time that is required to erase the memory.The Ruby script drives the relay control directly over a USB to serial adapter’s RTS handshake pin.
[glitch]’s hack reminds us that if you just need a quick couple bits of slow output, a USB-serial converter might be just the ticket. You could imagine driving everything from standard lamps to your 3D printer’s bed heater (provided you use similar hardware), but it’s especially helpful for [glitch] who claims to forget to turn off the eraser when it’s done its job, which leaves a potentially dangerous UV source just lying about. It’s always a good idea to add safety features to a dangerous piece of equipment!
There are a number of ways to control an automobile without using the pedals, and sometimes even without using the steering wheel. Most commonly these alternative control mechanisms are installed in vehicles whose owners are disabled in some way, but [Anurag] has taken this idea of alternative control one step further. He has built a car that can be driven by hand gestures alone.
On a remote controlled car, a Raspberry Pi 2 was installed that handles processing and communication. A wireless network is created on the Pi, and a laptop connects to the Pi over the network. The web camera on the laptop regularly captures frames at 15 fps to check for the driver’s hand gestures. The image is converted to gray scale, thresholded, contours are obtained, and the centroid and farthest points are obtained.
After some calculations are done, a movement decision is taken. The decision is passed to the Pi, which in turn, passed that to the internal chip of the car. All of the code is available on the project’s github page. [Anurag] hopes that this can be scaled up to full sized cars in the future. We’ve seen gesture-based remote controls before that rely on Sonar sensors, so it’s interesting to see one that relies strictly on image processing.
Continue reading “Hand Gestures Drive Car”
[Erhan] has been playing around with the Telegram instant messaging service. Initially, he worked out how to turn on and off LEDs from his cell phone: he sent commands from the phone through the Telegram bot API, to a computer that’s connected over serial to an MSP430 board that actually controlled the LEDs.
But that’s a little bit complicated. Better to cut out the middleman (err…microcontroller) and implement the Telegram reception and LED blinking on a Raspberry Pi. For a project that’s already using a Pi, using the instant messaging service’s resources is a very simple way to interface to a cellphone.
The code for both the standalone RPi project and the MSP430-based microcontroller application are available at [Erhan]’s GitHub. You’re going to be installing Node.js for their telegram-bot-api and jumping through the usual OAuth hoops to get your bot registered with Telegram. But once you’ve done that all on the Raspberry Pi (or target computer of your choice) it’s all just a few lines of fairly high-level code.
We’ve only seen one other Telegram application on Hackaday.io and we’re wondering why. It looks pretty slick, and with the bot’s ability to send a custom “keyboard” to the phone along with the message, it could make cell-phone-based control interfaces a cinch. Anyone else using Telegram for bots?
[Kevin Darrah] put together a good video showing how to control a stepper motor with, not a motor driver, but our fingers. Taking the really low-level approach to do this sort of thing gave us a much better understanding about the features of our stepper driver chips. Such as, for example, why a half step needed twice the current to operate.
[Kevin] starts with the standard explanation of coils, transistors, and magnets that every stepper tutorial does. When he hooks up simple breadboard with passives and buttons, and then begins to activate the switches in sequence is when we had our, “oh,” moment. At first even he has trouble remembering the correct sequence, but the stepper control became intuitive when laid out with tactile switches.
We set-up our own experiment to see if we remembered our lessons on the subject. It was a fun way to review what we already knew, and we learned some more along the way. Video after the break.
Continue reading “Get Really Basic With Steppers and Eight Buttons”
If you’ve built yourself a home theater PC, one of your highest priorities is probably coming up with a convenient control solution. The easiest way to do this is to simply use something like a wireless keyboard and mouse. But, that’s not very conducive to an enjoyable home theater experience, and it feels pretty clunky. However, if you’ve got the right components lying around, [Sebastian Goscik] has instructions and an Arduino sketch that will let you control your HTPC with any IR remote control.
There are a number of ways you could control your HTPC, and we’ve featured more than one build specifically for controlling XBMC over the years. Unfortunately, most of those methods require that you spend your hard earned money (which is better spent on popcorn). [Sebastian’s] setup can be replicated with things you probably have on hand: an Arduino, an IR remote, and a scavenged IR receiver. The IR receiver can be found in many devices, like old stereos or TVs that themselves were controlled via an IR remote.
It starts with an Arduino Sketch that lets you can see on the serial monitor what code is being generated by the button presses on your remote. These are then scripted to perform any task or function you like when those buttons are pushed. The most obvious use here is simple directional control for selecting your movies, but much more complex tasks are possible. Maybe someone can program a T9 script to type using the number buttons on most remotes?