Rainbow Cube kit - RGB 4*4*4 (Rainbowduino Compatible)

Rainbow Cube Kit is a 3D RGB LED Cube useful for creating colorful design. The 3D Cube is artistically crafted with sixty-four 8mm RGB LEDs arranged in a 4 x 4 x 4 manner. Rainbow Cube Kit can be used to create many beautiful visual effects with A Rainbowduino. The Rainbow Cube Kit comes with an inbuilt 3.3V / 1 Amp LDO useful for powering the kit independently. A XBee compatible socket is provided as well, this can be used to connect Rainbowduino with a PC or an Arduino wirelessly.


This is sold in a Kit form. For a fully assembled kit see Rainbow Cube


Model: KIT101E1P

Unassembled Rainbow Cube Kit



Rainbow Cube Kit illuminated with random colors


Kit Contents

1. 8mm RGB LED x70 2. Cube Panel X1 3. Slim Panel PCB X4
4. Side A slim PCB X4 5. Side B slim PCB X4 6. 2.54mm 40pin male header X5
7. 2.54mm 40pin femail header X2 8. 2.54mm 16pin female header X3 9. 2.0mm 10pin female header X2
10. 8pin female header X5 11. 2X3 female header X1 12. JST power cable X1
13 3.5mm 4pin green terminal X1 14 3.5mm DC jack X1 15 3mm LED red X1
16. 3mm LED green X1 17. 1K 1/8w resistor X4 18. 10k 1/8w resistor X1
19. 15k 1/8w resistor X1 20. linear voltage regulator X1 21. 10uF_16v_E-CAP X2

Features

Application Ideas

Schematic

Specification

Operating Voltage
LEDs

Pin definition and Rating

All pins are accessible from the Panel board show below.

Panel board (bottom view)



2 x 16 pin header connector



2 x 16 pin header connector


Construction

Before starting to build your Cube, please read though all the instructions first. Building the Cube is not difficult, but it will take you about 90 minutes to finish it.


RGB Rainbow Cube Kit (assembled)



Mechanical Dimensions

Assembled cube is of approx. of 10cm (l) X 10cm (b) X 12cm (h) dimension.

Understanding the Schematic

To easily understand the working of Rainbow Cube kit, a very simplified schematic is presented below. In essence, 64 RGB LEDs are arranged in a form consisting of 8 common anodes(positive pins) and 8 common cathodes(gtound pins) for each color Red, Green and Blue.


Schematic in a 2D RGB LED Matrix form



RGB Cube Kit from driver software view point



RGB Cube Kit LED's 3D Positions illustrated


Usage

Hardware Installation


2x16 pin header positioning



A Rainbowduino properly connected to Rainbow Cube kit


Programming

Let us get started with a simple example:

/*
 Rainbowduino v3.0 Library examples:  Cube1
 
 Sets pixels on 3D plane (4x4x4 cube)
*/
 
#include <Rainbowduino.h>
 
void setup()
{
  Rb.init(); //initialize Rainbowduino driver
}
 
void loop()
{
  //Set (Z,X,Y):(0,0,0) pixel BLUE
  Rb.setPixelZXY(0,0,0,0x0000FF); //uses 24bit RGB color Code
 
  //Set (Z,X,Y):(0,3,0) pixel RED
  Rb.setPixelZXY(0,3,0,0xFF,0,0); //uses R, G and B color bytes
 
  //Set (Z,X,Y):(3,0,3) pixel GREEN
  Rb.setPixelZXY(3,0,3,0x00FF00); //uses 24bit RGB color Code
}
Output

Cube1.pde Demo


Application Programming Interfaces


In the above example, we have used few of the below APIs

init()

First we need to initialize the driver using init()

Usage:

Rb.init();//initialize Rainbowduino driver. This should be placed inside setup()

To set a LED in the 3D Cube we use the below two APIs.

setPixelZXY(Z,X,Y,R,G,B)

To set a LED (Z,X,Y) we use setPixelZXY(Z,X,Y,R,G,B).

Usage:

Rb.setPixelZXY(unsigned char x, unsigned char y, unsigned char  colorR,  unsigned char colorG, unsigned char colorB); //This sets the pixel (z,x,y) by specifying each channel(color) with a 8bit number.
setPixelZXY(Z,X,Y,24bRGB)

Alternatively a LED (Z,X,Y) can be set by using setPixelZXY(Z,X,Y,24bRGB).

Usage:

Rb.setPixelZXY(unsigned char z, unsigned char x, unsigned char y, uint32_t colorRGB /*24-bit RGB Color*/) //This sets the LED (z,x,y) by specifying a 24bit RGB color code
blankDisplay(void)

At times, it useful to blank all the LEDs. For this there is an API blankDisplay(void).

Usage:

Rb.blankDisplay(); 
//Clear the LEDs (make all LEDs blank)

Demos

/*
 Rainbowduino v3.0 Library examples:  Cube2
 
 Sets pixels on 3D plane (4x4x4 cube)
*/
 
#include <Rainbowduino.h>
 
void setup()
{
  Rb.init(); //initialize Rainbowduino driver
}
 
unsigned int z,x,y;
 
void loop()
{
  for(x=0;x<4;x++)
  {
    for(y=0;y<4;y++)
    {
     //Paint layer 0 Green
     Rb.setPixelZXY(0,x,y,0x00FF00); //uses 24bit RGB color Code
    }
  }  
 
  for(x=0;x<4;x++)
  {
    for(y=0;y<4;y++)
    {
     //Paint layer 3 Blue
     Rb.setPixelZXY(3,x,y,0x0000FF); //uses 24bit RGB color Code
    }
  }
}
Output


Cube2.pde Demo


/*
 Rainbowduino v3.0 Library examples:  Cube3
 
 Sets pixels on 3D plane (4x4x4 cube)
*/
 
#include <Rainbowduino.h>
 
void setup()
{
  Rb.init(); //initialize Rainbowduino driver
}
 
unsigned int z,x,y;
 
void loop()
{
 for(z=0;z<4;z++)
 { 
  for(x=0;x<4;x++)
  {
    for(y=0;y<4;y++)
    {
     //Paint random colors
     Rb.setPixelZXY(z,x,y,random(0xFF),random(0xFF),random(0xFF)); //uses R, G and B color bytes
    }
  }
 }
delay(5000);
Rb.blankDisplay(); //Clear the LEDs (make all blank)
}
Output


Cube3.pde Demo


Third-party Demos

http://i.ytimg.com/vi/JXr-Jgzgigs/0.jpg

http://0.gvt0.com/vi/cC_xqA5irLA/0.jpg

Support

If you have questions or other better design ideas, you can go to our forum or wish to discuss.

Version Tracker

Revision Descriptions Release
v1.0 Initial public release Jan 04, 2010

Resources

Copyright (c) 2008-2016 Seeed Development Limited (www.seeedstudio.com / www.seeed.cc)
This static html page was created from http://www.seeedstudio.com/wiki