IDUINO for maker’s life User Manual For 8 x 8 LED RGB Matrix Display Driver Board (ST1149) www.openplatform.
IDUINO for maker’s life Description: This is a magic RGB LED dot-matrix driver compatible with Arduino .It pairs the M54564 with a single DM163 constant current driver. By using the DM163, it gains three 8+6bit channels of hardware PWM control of the LED’s freeing up the MCU from having to implement it in software. This gives the ATmega328 more CPU bandwidth for performing other tasks.It is easy to cascade by IIC and Power interface.
IDUINO for maker’s life PinOut Pin Name SDA SCL Gnd VDD RXD TXD DTR VIN MI MO SCK RST Type I/O I/O G P I/O I/O I P I/O I/O I/O I/O Description Data wire of IIC Bus Clock wire of IIC Bus Ground plane Power wire for all digital components Data Wire of UART Bus Data Wire of UART Bus Special Reset Wire for Arduino Program Power wire for all LEDs and Super current driver Data input of ISP Data output of ISP Clock input of ISP Reset input of ISP Example We use FT232 program downloader(ST1125) connect the board
IDUINO for maker’s life *******code begin********* #include typedef struct { unsigned char r; unsigned char g; unsigned char b; } ColorRGB; //a color with 3 components: h, s and v typedef struct { unsigned char h; unsigned char s; unsigned char v; } ColorHSV; unsigned char plasma[ColorduinoScreenWidth][ColorduinoScreenHeight]; long paletteShift; //Converts an HSV color to RGB color void HSVtoRGB(void *vRGB, void *vHSV) www.openplatform.
IDUINO for maker’s life { float r, g, b, h, s, v; float f, p, q, t; int i; ColorRGB *colorRGB=(ColorRGB *)vRGB; ColorHSV *colorHSV=(ColorHSV *)vHSV; h = (float)(colorHSV->h / 256.0); s = (float)(colorHSV->s / 256.0); v = (float)(colorHSV->v / 256.0); if(s == 0.0) { b = v; g = b; r = g; } else { h *= 6.0; i = (int)(floor(h)); f = h - i;//the fractional part of h p = (float)(v * (1.0 - s)); q = (float)(v * (1.0 - (s * f))); t = (float)(v * (1.0 - (s * (1.
IDUINO for maker’s life dist(float a, float b, float c, float d) { return sqrt((c-a)*(c-a)+(d-b)*(d-b)); } void plasma_morph() { unsigned char x,y; float value; ColorRGB colorRGB; ColorHSV colorHSV; for(y = 0; y < ColorduinoScreenHeight; y++) for(x = 0; x < ColorduinoScreenWidth; x++) { { value = sin(dist(x + paletteShift, y, 128.0, 128.0) / 8.0) + sin(dist(x, y, 64.0, 64.0) / 8.0) + sin(dist(x, y + paletteShift / 7, 192.0, 64) / 7.0) + sin(dist(x, y, 192.0, 100.0) / 8.0); colorHSV.
IDUINO for maker’s life } Colorduino.FlipPage(); } void setup() { Colorduino.Init(); // initialize the board // whiteBalVal[0]=red // whiteBalVal[1]=green // whiteBalVal[2]=blue unsigned char whiteBalVal[3] = {36,63,63}; // for LEDSEE 6x6cm round matrix Colorduino.