Paso 3: El programa completo
#include < Colorduino.h >
#include < Wire.h >
#include < Time.h >
#include < DS1307RTC.h >
int R = 30;
int B = 40;
int G = 50;
int fila = 0;
int g = 0;
int GKB = 0;
int incremento = 12;
int initalG = 0;
void setup()
{
Colorduino.Init();
unsigned char whiteBalVal [3] = {28,60,44}; //RGB
Colorduino.SetWhiteBal(whiteBalVal);
}
void binaryOutput(int number)
{
Si (número > = 10)
{
int decenas = número / 10;
int unidades = número - (decenas * 10);
setBinary(units,ROW);
FILA = FILA + 1;
setBinary(tens,ROW);
}
otra cosa
{
int decenas = 0;
int unidades = número;
setBinary(units,ROW);
FILA = FILA + 1;
setBinary(tens,ROW);
}
}
void setBinary (int valor, int whichRow)
{
FILA = whichRow;
int XYZ = 8;
int COL = 3;
para (int i = 0; i < 4; i ++)
{
getColor(g);
Si (valor > = XYZ)
{
Colorduino.SetPixel(ROW,COL,R,G,B);
valor = valor - XYZ;
}
otra cosa
{
Colorduino.SetPixel(ROW,COL,0,0,0);
}
XYZ = XYZ / 2;
COL = COL - 1;
}
}
void getColor(int rainbow)
{
Si (arco iris < 255)
{
R = arco iris;
B = 255 - arco iris;
G = 0;
}
else if (arco iris < 511)
{
Rainbow = arcoiris - 255;
R = 255 - arco iris;
B = 0;
G = arco iris;
}
otra cosa
{
Rainbow = arcoiris - 510;
R = 0;
B = arco iris;
G = 255 - arco iris;
}
g = g + incremento;
Si (g > (765 - incremento))
{
g = 0;
}
}
void loop()
{
tmElements_t tm;
Si (RTC.read(tm))
{
initalG = g;
binaryOutput (tm. En segundo lugar);
FILA = FILA + 1;
binaryOutput (tm. Minuto);
FILA = FILA + 1;
binaryOutput (tm. Hora);
FILA = 0;
Delay(6);
g = initalG + 1;
Si (g > (765 - incremento))
{
g = 0;
}
}
Colorduino.FlipPage();
}