Escolar Documentos
Profissional Documentos
Cultura Documentos
h>
#define SIZE 3
#define COLS (SIZE*SIZE)
//#define DEBUG
#ifdef DEBUG
#include <memdebug.h>
void showmem(const char label[] = "")
{
char buffer[100];
Serial.println(buffer);
}
#endif
void setup ()
{
#ifdef DEBUG
Serial.begin(9600);
#endif
}
void loop ()
{
delay(10);
#ifdef DEBUG
showmem("start");
#endif
// paste UI output here (https://rawgithub.com/gzip/arduino-ledcube/master/ui/index.html)
cubeFrame* f[] = {
cube.createFrame((const byte[]) {0,6, 1,6, 2,6}, 6, 80),
cube.createFrame((const byte[]) {0,7, 1,7, 2,7}, 6, 70),
cube.createFrame((const byte[]) {0,8, 1,8, 2,8}, 6, 60),
cube.createFrame((const byte[]) {0,5, 1,5, 2,5}, 6, 50),
cube.createFrame((const byte[]) {0,2, 1,2, 2,2}, 6, 40),
cube.createFrame((const byte[]) {0,1, 1,1, 2,1}, 6, 30),
cube.createFrame((const byte[]) {0,0, 1,0, 2,0}, 6, 20),
cube.createFrame((const byte[]) {0,3, 1,3, 2,3}, 6, 10)
};
#ifdef DEBUG
showmem("before free");
#endif
cube.lightFrames(f, 8);
// random columns
cube.randomColumn(25);
// helicopter effect
byte topSeq[8] = {0,3,6,7,8,5,2,1};
byte botSeq[8] = {8,5,2,1,0,3,6,7};
for(byte loops = 0, delay = 50; loops<=8; loops++)
{
for(byte s=0; s<8; s++)
{
byte seq[] = {2,topSeq[s], 1,4, 0,botSeq[s]};
cube.lightSequence(seq, sizeof(seq), delay);
}
if(loops < 5) delay-=10; else delay += 10;
}