[Alex] needed a project for his microcomputer circuits class. He wanted something that would challenge him on both the electronics side of things, as well as the programming side. He ended up designing an 8 by 16 grid of LED’s that was turned into a game of Tetris.
He arranged all 128 LED’s into the grid on a piece of perfboard. All of the anodes were bent over and connected together into rows of 8 LED’s. The cathodes were bent perpendicularly and forms columns of 16 LED’s. This way, if power is applied to one row and a single column is grounded, one LED will light up at the intersection. This method only works reliably to light up a single LED at a time. With that in mind, [Alex] needed to have a very high “refresh rate” for his display. He only ever lights up one LED at a time, but he scans through the 128 LED’s so fast that persistence of vision prevents you from noticing. To the human eye, it looks like multiple LED’s are lit up simultaneously.
[Alex] planned to use an Arduino to control this display, but it doesn’t have enough outputs on its own to control all of those lights. He ended up using multiple 74138 decoder/multiplexer IC’s to control the LED’s. Since the columns have inverted outputs, he couldn’t just hook them straight up to the LED’s. Instead he had to run the signals through a set of PNP transistors to flip the logic. This setup allowed [Alex] to control all 128 LED’s with just seven bits, but it was too slow for him.
His solution was to control the multiplexers with counter IC’s. The Arduino can just increment the counter up to the appropriate LED. The Arduino then controls the state of the LED using the active high enable line from the column multiplexer chip.
[Alex] wanted more than just a static image to show off on his new display, so he programmed in a version of Tetris. The controller is just a piece of perfboard with four push buttons. He had to work out all of the programming to ensure the game ran smoothly while properly updating the screen and simultaneously reading the controller for new input. All of this ran on the Arduino.
Can’t get enough Tetris hacks? Try these on for size.
We’re surprised we haven’t seen this kind of clock before, or maybe we have, but forgot about it in the dark filing cabinets of our minds. The above picture of [danjhamer’s] Matrix Clock doesn’t quite do it justice, because this is a clock that doesn’t just tick away and idly update the minutes/hours.
Instead, a familiar Matrix-esque rain animation swoops in from above, exchanging old numbers for new. For the most part, the build is what you would expect: a 16×8 LED Matrix display driven by a TLC5920 LED driver, with an Arduino that uses a DS1307 RTC (real-time clock) with a coin cell battery to keep track of time when not powered through USB. [danjhamer] has also created a 3D-printed enclosure as well as added a piezo speaker to allow the clock to chime off customizable musical alarms.
You can find schematics and other details on his Hackaday.io project page, but first, swing down below the jump to see more of the clock’s simple but awesome animations.
Continue reading “What is the Matrix…Clock?”
A word clock – a clock that tells time with words, not dials or numbers – is one of those builds that’s on every Arduino neophyte’s ‘To Build’ list. It’s a bit more complex than blinking a LED, but an easily attainable goal that’s really only listening to a real time clock and turning a few LEDs on and off in the right pattern.
One of the biggest hurdles facing anyone building a word clock is the construction of the LED matrix; each LED or word needs to be in its own light-proof box. There is another option, and it’s something we’ve never seen before: you can just buy 8×8 LED matrices, so why not make a word clock out of that? That’s what [Daniel] did, and the finished project is just crying out to be made into a word watch.
[Daniel]’s word clock only uses eight discrete components: an ATMega328p, a DS1307 real time clock, some passives, and an 8×8 LED matrix. A transparency sheet with printed letters fits over the LED matrix forming the words, and the entire device isn’t much thicker than the LED matrix itself.
All the files to replicate this build can be found on [Daniel]’s webpage, with links to the Arduino code, the EAGLE board files, and link to buy the board on OSH Park.
compact keyboards that do away with a third of the keys you would usually find on a normal-sized keyboard are all the rage now, but for [jonhiggs], they weren’t good enough. There is a long tradition of Unix shortcuts these compact keyboards don’t pay attention to – CTRL-A being the Home key, and CTRL-D being the Page Down key. To fix this horrible oversight of Unix history, [jon] tore apart one of these compact keyboards, rewired the switch matrix, and made his own perfect keyboard.
The keyboard [jon] is using is a Filco Minila, a very nice and high quality keyboard in its own right. After mapping out the switch matrix, [jon] wired all the switches up to a Teensy 2.0 loaded up with the TMK firmware. This is a pretty standard way of building a custom keyboard, and [jon] could have just cut a switch plate and installed panel-mount switches and wired up the matrix and diodes point to point. The case for the keyboard is constructed out of Lego.
Because this is a true, modern Unix keyboard, [jon] needed to connect this keyboard to a box running his *nix of choice. He’s doing this in the most future-retro way possible, with an Amazon EC2 instance. This project isn’t done yet, and [jon] is hoping to add an ARM dev board, an iPad Retina display, battery, and SSD, turning this into a completely homebrew laptop designed around [jon]’s needs.
Let’s face it, we all have keyboard peculiarities. Don’t try to deny it, everyone who types a lot has an opinion of the keyboard they stroke so frequently. We know [Brian Benchoff] swears by his model M, and we’re guessing he was the one that bumped into [Evan] and convinced him to write about his conversion of a Commodore 64 keyboard for use as a USB device.
This is not [Evan’s] first rodeo. We recently saw him fixing up the worn off letters of his own model M. But this time around there’s some clever microcontroller work at play. Apparently mapping 122 keys using an Atmel AVR 32u4 chip (built in USB connectivity) is quite a task. Luckily someone’s already worked out all kinds of good things and is sharing the love with the Soarer’s Keyboard Controller Firmware. Of course it handles scanning, but also includes debounce, muxing, and the trick to scan more keys than the uC has pins for. We still don’t fully understand that bit of it. But [Evan] did post the config file he’s using so perhaps after we get elbow-deep in the code we’ll have a better understanding.
If you give this a try, we want to hear about it. Anyone have any modern keyboards they’re in love with? Leave a comment below.
Simple tools used well can produce fantastic results. The hardware which [Gilad] uses in this project is the definition of common. We’d bet you have most if not all of them on hand right now. But the end product is a light box which seems to dance and twirl with every sound in the room. You should go watch the demo video before reading the bill of materials so that the simplicity doesn’t spoil it for you.
A wooden craft box serves as the enclosure. Inside you’ll find an Arduino board, microphone, and an 8×8 RGB module. The front cover of the project box diffuses the light using a sheet of tracing paper on a frame of foam board. It’s the code that brings everything together. He wrote his own particle system library to generate interesting animations.
If you don’t have a project box on hand this might work with an extra-deep picture frame.
Continue reading “Arduino particle light box generates animations from sound”
[Sprite_TM] is was sent an old LED Marquee by an anonymous fan of his hacking projects. The display isn’t full color, but it’s large — 224 by 48 pixels — and he figured he could render some okay images with the bi-color diodes. In the end, he replaced the controller and turned it into a video player.
The original system work well enough, but the 100 MHz 486 industrial style PC that drove the display seems a little comical these days. After giving it a spin and testing out how it drives the display [Sprite] hooked up an FTDI chip and managed to get it playing video from his computer. Above you can see part of the opening sequence of The Simpsons.
Now that he had learned its secrets he set out to give it an embedded controller. His first attempt was with a Carambola board which he’s worked with before. That proved to be a little slow for all the pixel data he was pushing so he upgraded to a Raspberry Pi and never looked back. You can see the demo video after the jump.
Continue reading “Old LED marquee turned embedded video player”