This project was, effectively, my introduction to microcontrollers. I was rather short on time, though, for this (it was a Christmas present, after all), so I’ve had to wait until after the fact to write about it. So, this is a long post.
The idea is that, inside of a frosted plexiglass cube, there’s an accelerometer, a microcontroller, and a few RGB LEDs. As the cube is tilted, it glows different colors. Each axis from the 3-axis accelerometer controls the brightness of each color component in the LEDs. Prior to doing this, I hadn’t had any experience with microcontrollers beyond knowing what they are, so I had a fair amount to learn.
RGB Tilty Cube - [Link]
The Atmel ATTiny85 chip is an 8-pin MCU that is totally awesome. If you’ve been programming with the bigger boys (the ATMega series), these are a nice adventure – you’re rather limited in the number of output pins, but a creative design gives us a lot of flexibility in a very small package.
Apple-style LED pulsing using a $1.30 MCU – [Link]
For 50 years, National has been known for its reliable, energy-efficient power management products. The company continues to bring this knowledge, experience, and manufacturing capability to help customers create better lighting designs. National’s LED drivers incorporate the intelligence that systems need to deliver high-performance, reliable, and robust LED lighting solutions to the market.
National’s New LED Lighting Solutions Guide – [Link]
Here’s a MIDI keyboard interface project from SuLuLab. It uses an Arduino, MIDI Shield, addressable RGB LED strip based on chip HL1606, 5VDC 1.5A PSU for strip supply (USB port current is not enough), and the Arduino’s FastSPI_LED library. [via]
MIDI messages from the keyboard (real or simulated on PC) enter the MIDI Shield’s MIDI IN and are presented to the Arduino serial port. The Arduino firmware interprets the MIDI messages NoteOn NoteOff, associates each key on the five octaves (60 keys) keyboard to a strip LED and lights it with color associated with the note. In the firmware to control the strip we used the FastSPI_LED library that allows you to address every single LED and turn the desired color (R, G, B).
For more details and to download firmware see the SuLuLab website and scroll to bottom of page for English version.
Arduino MIDI RGB display interface – [Link]
rsdio writes: Although this circuit does not directly show how, you can use the same idea to make a 3.3 V tolerant I/O pin control an LED with a much higher voltage. The caveat is that all of the current still passes through the I/O pin, but at least you can control several LEDs in series to get more brightness without the necessary higher voltage posing a problem.
A Darlington transistor pair should allow the current to be increased beyond the I/O pin limits, thus breaking free from both voltage and current limits. The latter is left as an exercise well beyond the app note’s content. [via]
Although many LED-driver ICs operate at relatively low voltage, this application note shows how to operate the MAX6974 at higher voltage by adding a common-base-transistor level shifter, allowing it to drive multiple LEDs in series.
Control high-voltage LEDs with low-voltage pins - [Link]
This project is pretty cool for a few reasons, and driving a huge LED matrix with a single 8-bit controller is just one of them. The idea was born when I bought 120 LEDs of the wrong type, and decided to do something with them. With that many LEDs, there are only a few things you can do, and a matrix is the natural first-place-winner in the competition of those ideas. One of the LEDs did not work, so a 12×10 matrix was out, so I settled for an 11×10 matrix. This meant I had to drive 110 LEDs. The only controller I had free was a PIC16F688 with 11 pins that can be used for output. After deciding not to use any other chips, charlieplexing was the way to go. The maximum number of LEDs one can charlieplex using N pins is N * (N – 1), so for 11 pins that number is 110. What a coincidence!
One-chip 11×10 LED matrix – [Link]
uPOV is a persistence of vision device with an accelerometer. This is the same concept we’re trying for with the USB POV Toy. [via]
The problem I had with most of the current POV units is that they required skill to use effectively, timing your swings so that the message only goes in the one direction, appears in approximately the same spot, etc… So I decided to use an accelerometer in my design!
uPOV persistence of vision with an accelerometer - [Link]
This tutorial describes in very detail about the basic structure of a monochrome LED dot matrix and how static characters and special symbols are displayed on it with a microcontroller.
Basics of LED dot matrix display – [Link]
While reading through Charles Platt’s excellent book Make: Electronics, I came across this nice little circuit for making a gentle pulsing LED. I built it for fun, and was struck by the “humanness” of the pulse, but couldn’t figure out what to do with it. Later I found a heart-shaped tag on some pants I had bought, and well, this is the result. I opted to use mainly scrap parts salvaged from various sources. I liked the hacky recycled feel that gave it.
I took Charles’ circuit, and added a second LED for some symmetry. The bob under the pendant is the power source. The pendant’s chain is part of the circuit, so the clasp becomes the on-off switch.
Beating Heart LED Pendant – [Link]
Using a pair of matched transistors to translate a high-side current-sense signal down to a ground reference, this circuit lets you parallel LED-driver circuits as required to achieve the desired drive current.
App note: Parallel LED drivers for maximum current – [Link]