[Don] and his wife were looking for a way to teach their two-year old daughter how to tell time. She understood the difference between day and night, but she wasn’t old enough to really comprehend telling the actual time. [Don’s] solution was to simplify the problem by breaking time down into colored chunks representing different tasks or activities. For example, if the clock is yellow that might indicate that it’s time to play. If it’s purple, then it’s time to clean up your room.
[Don] started with a small, battery operated $10 clock from a local retailer. The simple clock had a digital readout with some spare room inside the case for extra components. It was also heavy enough to stay put on the counter or on a shelf. Don opened up the clock and got to work with his Dremel to free up some extra space. He then added a ShiftBrite module as a back light. The ShiftBrite is a high-brightness LED module that is controllable via Serial. This allows [Don] to set the back light to any color he wants.
[Don] already had a Raspberry Pi running his DIY baby monitor, so he opted to just hijack the same device to control the ShiftBrite. [Don] started out using a Hive13 GitHub repo to control the LED, but he found that it wasn’t suitable for this project. He ended up forking the project and altering it. His alterations allow him to set specific colors and then exit the program by typing a single command into the command line.
The color of the ShiftBrite is changed according to a schedule defined in the system’s crontab. [Don] installed Minicron, which provides a nice web interface to make it more pleasant to alter the cron job’s on the system. Now [Don] can easily adjust his daughter’s schedule via web page as needed.
With only a week left until Valentine’s day, [Henry] needed to think on his feet. He wanted to build something for his girlfriend but with limited time, he needed to work with what he had available. After scrounging up some parts and a bit of CAD work, he ended up with a nice animated LED Valentine heart.
[Henry] had a bunch of WS2812 LEDs left over from an older project. These surface mount LED’s are very cool. They come in a small form factor and include red, green, and blue LEDs all in a single package. On top of that, they have a built-in control circuit which makes each LED individually addressable. It’s similar to the LED strips we’ve seen in the past, only now the control circuit is built right into the LED.
Starting with the LEDs, [Henry] decided to build a large animated heart. Being a stickler for details, he worked out the perfect LED placement by beginning his design with three concentric heart shapes. The hearts were plotted in Excel and were then scaled until he ended up with something he liked. This final design showed where to place each LED.
The next step was to design the PCB in Altium Designer. [Henry’s] design is two-sided with large copper planes on either side. He opted to make good use of the extra copper surface by etching a custom design into the back with his girlfriend’s name. He included a space for the ATMega48 chip which would be running the animations. Finally, he sent the design off to a fab house and managed to get it back 48 hours later.
After soldering all of the components in place, [Henry] programmed up a few animations for the LEDs. He also built a custom frame to house the PCB. The frame includes a white screen that diffuses and softens the light from the LEDs. The final product looks great and is sure to win any geek’s heart. Continue reading “Animated LED Valentine Heart”
A Mirror surrounded by a string of brightly lit lamps is something you usually get to see in a Movie Star’s dressing room. [pickandplace] was inspired by the Movies, and a dark bathroom, to come up with a Bathroom Mirror equipped with some bells and whistles. To start with, his planning was quite detailed, sketching out the features and constraints for his design. He chose to use a round mirror with 12 LED bulbs (which are safer than 220V bulbs) so it can work as a clock. User input is handled by a motion sensor to automatically switch it on/off and a capacitive touch dimmer. Under the hood there’s an RTC (for clock and brightness adjustment based on time of day), simple boost PWM LED driver, thermal management for the LEDs which are 10W, temperature sensor to pipe down the current if the LEDs get too hot, and even an anti-fogging heater strip – phew!
His execution is no less brilliant. Starting with building the wooden frame and ending with the code for driving all the electronics. Along the way, you will find detailed notes on the LED’s, PWM Driver, Heat sinking, and capacitive Touch dimmer using Atmel’s AT42QT2160 Qslide – Matrix Sensor IC. He had some trouble with the Motion Sensor PIR module, and hasn’t yet written the code to implement it. His first version used a PIC18F87J50, and the next iteration had an ATXmega256A3BU – but he asks us not to get into the Microchip vs. Amtel debate. We have to agree on that. Sharp readers will point out that neither of the two micro’s can provide 12 PWM channels. Well, worry not, he has it all figured out. He also coded up a simple control interface which is handy when the unit is hooked up over USB to a computer. To top it off, he built a miniature LED ring to use as a “Simulator” while working on the code so he didn’t have to lug the heavy Mirror in and out of the bathroom. How’s that for doing a good job better! Source files are on his Github repo, and links to the hardware schematics are peppered throughout his blog.
If you don’t want to build something so fancy, look up the Bathroom Mirror with HUD which displays Time and Weather
Continue reading “Slick Bathroom Mirror is All Tricked Out”
During a Product Design class, [Oscar de la Hera] designed and built an LED light box that responds to music — and looks good doing it!
He carefully constructed the box out of Oak with a one-way mirror top, enclosing a 6 x 6 matrix array of NeoPixels. Behind the panel is an Arduino Uno which uses an MSGEQ7 chip and two audio jacks to take in an audio signal and create a light show. When the lights are off, it looks like a fancy little mirror — but when you turn on the music it becomes alive.
If you’re curious on how it was made, or if you want to make your own, there’s a full tutorial on how to make your own over at Instructables — and don’t forget to take a look at it in action after the break!
Continue reading “DJ Light Box Grooves to the Beat”
[David] loves to watch football. After his preferred team lost the playoffs, he wanted another reason to watch the big game last Sunday. He ended up building himself a football-shaped lamp that changes color based on who scored last.
[David] started with a Spark Core and a Spark Button. The Spark is the primary microcontroller and includes WiFi. The Spark Button is essentially a shield for the Spark that includes an accelerometer, some LEDs, and a few push buttons. The other part of this build was the housing. [David] used a toy football he got for free as swag from a parade.
As for the code, [David] started by first learning how to control the LEDs on the Spark Button. Then he wrote his own touchdown function to illuminate the football a specific color. Since the Spark uses the REST API, [David] is able to trigger this function by simply visiting the URL of his Spark. This makes it very simple to trigger the event.
The final part of this build was made easy thanks to IfThisThenThat (IFTTT). This is a web service that allows you to monitor and interact with various online web services. It can monitor one service, and then interact with another based on events that happen in the first service. In this case, [David] is using a “channel” added to IFTTT by ESPN. This channel can trigger when certain events happen for whatever team you specify. For this project [David] is monitoring touchdowns.
After combining all of these various services, [David] had a working light that would change colors based on which team scored. He did notice that IFTTT has anywhere between a 1 and 15 minute delay, and he hopes to improve upon this design by hooking directly to an API and skipping the extra service altogether.
Looking for something unique to spice up his music room [Est] decided he wanted to try making a light that responds to the music — kind of like a VU meter, but a little different. He calls it the Light Effect Tower.
The main structure of the tower was cut out of 6mm acrylic using [Est’s] homemade CNC router. He used a V router bit to do the engraving, which when combined with light, produces a high contrast dynamic with the plastic.
He designed the circuit to fit into the triangular base, which uses a PIC micro controller to sample a microphone to produce the lighting effect. The cool thing is, he’s designed it to calculate the max level of noise, to scale the sample accordingly — that way if you’re playing loud music or quiet music, it’ll still work without any adjustments to the microphone gain.
Oh yeah, did we mention this thing is big? It’s actually 1.5 meters tall! Check out the different modes he programmed in — it’s pretty bumping.
Continue reading “CNCs and Acrylic and LEDs oh my!”
[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.