Sunday, June 29, 2008

Gif2led released, and with AVR LED Egg demostration!

We have worked on LED matrix for so many times, but mostly for text scrolling, so how about make some animations on it? But we are too lazy to make the animation patterns to the C header file in an array of bytes. We finally finished one tool may be useful for all led matrix lovers!

The gif2led project is written in Ruby, required Rmagick library for gif manipulation. It is mainly designed for 8 or less columns matrix, for instance 8x8 matrix, 10x8 matrix, 5x7 matrix etc. It output an pattern header file with a 2D array frame by frame from an animated gif input. We only tested with AVR-gcc, but it should be useful for other MCUs too. You can find more information on the gif2led project page, http://labs.bitartist.org/gif2led/

Let start with our demonstration, the project is called LED Egg, it is based on a 10x10 matrix (but we only use 10x8 in our case) with an Egg case to hold the circuit board.

To prepare the animated gif, we use macromedia Flash, and here is the screenshot:



Noted that the frame 0 (marked as CAL above) is a special frame, which used for calibration. When used with gif2led tool, the frame 0 is the pattern of your led matrix with all led ON.

and then export the movie to an animated gif:



Then simply run the following command, we can obtain the 2D array header file:
ruby gif2led pattern.gif 20 > pattern.h
//selected ratio is 20.0%
//Cal result: LED Matrix (row*col) = (10*8)
const unsigned char pattern[63][10] PROGMEM = { //Frame 0 {0x42,0x00,0xa5,0x00,0x84,0x21,0x00,0x42,0x21,0x84} //Frame 1 ,{0x00,0xa5,0x00,0x84,0x21,0x00,0x42,0x21,0x84,0x42}
...
...
#define MAX_FRAME 63
#define ROWS 10
Now, we have to prepare the circuit part, we use AVR tiny13 together with 4017, please refer to the circuit diagram<here>. 4017 is used as a row counter, and such that we can only use 1 pin for row shifting. The remaining 4 IOs of the tiny13 would use for column output, we are using 10x8 matrix this time, so we assume the pattern is symteric to save pins, so 1 I/O drive 2 columns in our case. The circuit showed below:



So Lets add an egg case, the egg is made from pu foam plastic, it is used for Easter decoration.





Video demonstration:


Close look on the LED pattern:



To download the gif2led tool, AVR source codes, and flash template, please find in the following links:

Gif2led project page:
http://labs.bitartist.org/gif2led/


Gif2led Rubyforge page:
http://rubyforge.org/projects/gif2led/

Thursday, June 19, 2008

Philips LED Lamp Featuring 16M colors!


Wow, philips worked on many LED products recently, and here we have a LED lamp for your living room.
May be someone can use for some art projects. The controller is very cool, it is a touch wheel and you can change and set the color easily. May be you can try to set the color to reflect your mood everyday. Enjoy.



More Info by unplggd

Saturday, June 14, 2008

The Propeller Clock (POV clock)

Just come across this cool video of a DIY propeller clock, it is based on the concept of POV system. The basic components are motor for spinning, LEDs for display and the microprocessor for the main control. Please take a look:

Tuesday, June 10, 2008

Quad core Arduino tower!

Arduino is an easy to use AVR platform, you can program it easily using serial port, and power it up with USB. With a very nice IDE and cool user library.

If you think the AVR on the arduino is not powerful enough for your project, let's consider the quad core arduino tower:



Link:
Quad core Arduino Tower

Tuesday, June 3, 2008

Parallax Propeller Processor

The Propeller chip makes it easy to rapidly develop embedded applications. Its eight processors (cogs) can operate simultaneously, either independently or cooperatively, sharing common resources through a central hub. The developer has full control over how and when each cog is employed; there is no compiler-driven or operating system-driven splitting of tasks among multiple cogs. A shared system clock keeps each cog on the same time reference, allowing for true deterministic timing and synchronization. Two programming languages are available: the easy-to-learn high-level Spin, and Propeller Assembly which can execute at up to 160 MIPS (20 MIPS per cog).



It is a powerful embedded processor from Parallax Inc, a well known embedded processor "PIC" inventor. With 8 cores, and total about 160MIPS processing power, you can do many amazing projects. You can see the above video involved many image processing!

another amazing project is the ybox2:



Adding an Ethernet chip, now you can access the internet cloud with a microprocessor that's capable of running a TCP/IP stack.
This ybox2 can fetch information like weather, news from the internet and display it on TV which let me think of chumby widget devices.

Project site : ybox2

Processor info: http://www.parallax.com/Default.aspx?tabid=407