Hello Leds!
Saturday, October 4th, 2008

Using TLC5940 with a power supply (12v transformer+ LM7805), and, 70 LEDs


Using TLC5940 with a power supply (12v transformer+ LM7805), and, 70 LEDs
| These two weeks, I have been focusing on creating the lighting effects for Resonant Wave. I use twenty six LEDs. Each of them represents a key on a computer keyboard. The Texas Instrument 4950 allows me to increase output pins from the Arduino board. I will study how to use a power supply for this in the following week, since my flower-like sculptures have hundreds of LEDs |
![]() |
| The lighting effects include four steps. In the beginning, a light will brighten up far from the dancer’s position. It attracts her to come close to it. The according to the dancer’s location, a bright light will start to fallow her. After a while, groups of lights will follow her movements. At the end, she will create a light pattern according to her trail. Also, the brightness of the light is according to the sound she makes. |
| I used MaxMsp to control the time, the computer keyboard, and sound analysis. I used Arduino to control the light. And use Seiral.read to make Maxmsp and Ardino able to communicate with each other. |
| “Little by little!!” My flamenco teacher always says this to me. This is principle can be used in almost everything.
1) This is first step. How to use an audio amplifier to send a signal??? I used LM386, a low voltage power amplifier. Thanks Liubo! |
![]() |
| 2) After making sure everthing was ok, I soldered the circuit on a board.:) I learned during my internship. Thanks Ayah! |
![]() |
| 3) I did a little more programming testing with Arduino. Making sure that the lighting effect will be as I expected! |
![]() |
| 4) Then I used the same trick that I worte about it before. Tada!! Yes, the wire wrap tool and wrap to connect the LEDs with the cute Lily Pad. (Lily Pad! What a good invetion!!) |
![]() |
| 5) Almost there, but how can I power it? I used the DL2032 3v button battery in the beginning. However, sadly the current is not strong enough. After testing with several kinds of batteries, PANASONIC CR2450 is the winner!! |
![]() |
| 6) haha… It is sitll not the end but today I will teach everyone a saying, which comes from Zhou Dunyi, a philosopher of the Song Dynasty of China. In his famous articl, LOVE LOTUS SAYING, he said “ |
![]() |
| Sometimes a very simple thing can make people crazy. Last night I suffered this kind of pain. I swear that I followed the instruction from Leah Buechley’s website.
” Press the reset switch on your LilyPad then Quickly click on the Upload button in the software.” (I also test my ATmega 168 Arduino board with the same process and it worked.) The only thing I didn’t do was: “See http://www.arduino.cc/en/Guide/Troubleshooing#upload” |
![]() |
| This morning I am as obstinate as usual and decide to give my pad the last try. This is what I read and it help: “However, on some computers, you may need to press the reset button on the board after you hit the upload button in the Arduino environment. Try different intervals of time between the two, up to 10 seconds or more.
“ When I had a chance to perform with my friends, I always enjoyed making us pretty!! This is my last performance in Taiwan. |
![]() |
| Tada!! I made butterfly necklaces. |
![]() |
| Now, I plan to make an interactive bracelet for my Resonant Wave performance. |
![]() |
| Coming soon: the bracelet!! |
| Yes, I know simple is good. However, my complex brain always bring me to another direction. The photo was taken on Feb 14th. At the time, my ceiling was kind of empty. |
![]() |
| After making flower-like sculptures the whole summer time. |
![]() |
| Tada!! There are at least 150 flower-like pieces on the ceiling now. |
![]() |
| It’s not the end. There will be LEDs inside. |
The Motor and Light Connector
| My floor will control the rotating effect of my ceiling sculpture. However, before designing my pad, how I can make my light rotate without twisting its wires is a big problem. After discussing with my cousin, a professional machine designer, PC_Wang , he designed the motor and light connector for me. Itconsists of two bearings, carbon brush, and a gear motor. It allows my LED sculpture to rotate without the problems of twisting wires. The image below is sample. |
![]() |
![]() |
| After solving the crucial problem, I am working on my floor pad. The principle of how my floor pad works is pretty similar to the DDR (Dancing Dace Revolution) dancing pad. There will be a form between tow conductor layers. There are several holes on the very thin form. When people step on it, the conducting part will influence the result on the screen. The following images showsa DDR dancing pad which is taken apart. |
![]() |
| Based on the same principle, I will make a floor pad which has the same function. It will allow the dancer to control the rotating effects of my sculptures. The flowing videos shows my teacher and I testing the floor pad. |
| In the video, different parts of the pad can control the different lights on the screen |
| Get the Flash Player to see this player. |
These days I am testing the LED driver. The first video is using 5940 LED driver chip. The code and circuit for this was developed thanks to Peter. Please visit Peter’s blog. There is a very clear description.
![]() |
| Test 1: Using LED driver chip with 16 LEDs |
| Get the Flash Player to see this player. |
| Test 2: Using LED driver chip with more LEDs |
![]() |
| note: |
![]() |
Step 1: I finally have a studio space!! (I love PRATT!) Step 2: Painting drywall tracks and studs. Step 3: Building a hanging ceiling system. Step 4: Marking the Floor. Step 5: Hanging my flower-like sculptures. Step 6: My favorite part… Designing my chair cover = simple = easy = pretty. Special Thanks: Peter Patchen, Maowei, and, Joe Herzfeld








*Reading Arduino’s Serial.print(data) in MaxMsp
Example:
In Arduino, we can turn on the serial monitor to print out the values. However, how can we keep monitoring the values in MaxMsp? J Let’s try.
Arduino:
Set the value and use the function Serial.print();
Serial.print(” “); //This will create a space between each value.
Serial.printl(); //This start a new line for vales.

MaxMsp:
Using “metro” object to start printing the values.
Using “serial” object to read and receive data from serial port.
Using “itoa” object to translate the integer to ASCII characters?
Using “print” object to get the same monitor effect as Arduino

What’s the difference between Arduino’s Serial Monitor and Max?
1. In Arduino, the value ,168, is printed on one line. In Max, each character is printed on a line so 168 prints on three line.
2. In Max, Serial.print(” “); is printed as a empty line.
For example:
aread:
3. In Max, Serial.printl(); is printed as two empty lines.
For example:
aread:
aread:
Thoughts:
The above example helps me to know what the serial port is reading when I use MaxMsp to give my Arduino port some information.
Thanks Liubo
Resonant Wave is an interactive artwork which combines a ceiling installation and an experimental flamenco performance. It attempts to represent the invisible movement of air and the indistinguishable vibrations of sound with the interaction between the dancer and the installation. The form of the installation is inspired by the shape of a wave and a sweeping shawl. It consists of thirty individual pieces. Each piece includes LEDs and a geared motor. In the beginning, the installation is motionless and dark. According to the dancer’s positions, each piece will rotate. Also, according to her location, if she does some hand clapping and foot stamping, some groups LEDs will light up. The dancer’s performance will gradually lead the audience to observe the various interactions between the space, dancer, airflow and sound. <