#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
int LEDlength =32;
int LEDHeight =8;
#define NUM_LEDS LEDlength * LEDHeight
#define PIN 3
int NoColor =6;
int i,j,k;
int effect1Time =1;
int effect2Time =1;
int effect3Time =1;
int effect4Time =1;
int effect5Time =1;
int effect6Time =1;
int effect7Time =1;
int effect8Time =1;
int effect9Time =1;
int effect10Time =1;
int effect11Time =1;
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(LEDlength,LEDHeight , PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE, //ZIGZAG PROGRESSIVE
NEO_GRB + NEO_KHZ800);
const uint16_t colors[] = {
matrix.Color(255, 0, 0 ), // Red Color
matrix.Color(0, 255, 0 ), // Green Color
matrix.Color(0, 0, 255 ), // Blue color
matrix.Color(255, 0, 255 ), // Pink Color
matrix.Color(255, 255, 0 ), // Yellow Color
matrix.Color(0, 255, 255 ), // Yellow Color
};
void setup() {
Serial.begin(9600);
Serial.println("Serial");
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(100);
matrix.setTextColor(colors[0]);
matrix.fillScreen(0);
}
int x = matrix.width();
int y = matrix.height();
void loop() {
effect1();
effect2();
effect3();
effect4();
effect5();
effect6();
effect7();
effect8();
effect9();
effect10();
effect11();
}
void effect11()
{
for(i=x;i<2*x; i++)
{
for (k=0; k<10 ; k++)
{matrix.drawRect(-8+i-k*10,y/2-3,8,6,colors[j]);
matrix.drawRect(-7+i-k*10,y/2-2,6,4,colors[j]);
j++;
if (j==NoColor)
j=0;
}
matrix.show();
delay(effect11Time*200);
matrix.fillScreen(0);
matrix.show();
}
Serial.println("Completed");
}
void effect10()
{
for(i=x;i<2*x; i++)
{
for (k=0; k<10 ; k++)
{matrix.drawRect(-8+i-k*10,y/2-3,8,6,colors[j]);
matrix.drawRect(-7+i-k*10,y/2-2,6,4,colors[j]);
}
j++;
if (j==NoColor)
j=0;
matrix.show();
delay(effect10Time*200);
matrix.fillScreen(0);
matrix.show();
}
Serial.println("Completed");
}
void effect9()
{
matrix.fillScreen(0);
matrix.show();
for (j=0; j<NoColor; j++)
{
for (i=0; i<x/2; i++)
{
matrix.fillTriangle(x/2-1,0,x/2-1,y-1,x/2-i,y/2,colors[j]);
matrix.fillTriangle(x/2-1,0,x/2-1,y-1,x/2+i,y/2,colors[j]);
matrix.show();
delay(effect9Time);
}
for (i=0; i<x/2; i++)
{matrix.fillScreen(0);
matrix.show();
matrix.fillTriangle(x/2-1,0,x/2-1,y-1,x-i-1,y/2,colors[j]);
matrix.fillTriangle(x/2-1,0,x/2-1,y-1,i,y/2,colors[j]);
matrix.show();
delay(effect9Time);
}
}
}
void effect8()
{
matrix.fillScreen(0);
matrix.show();
j=0;
matrix.drawPixel(1,0,colors[j]);
matrix.drawPixel(2,0,colors[j]);
matrix.drawPixel(3,0,colors[j]);
matrix.drawPixel(1,1,colors[j]);
matrix.drawPixel(2,1,colors[j]);
matrix.drawPixel(3,1,colors[j]);
matrix.drawPixel(1,2,colors[j]);
matrix.drawPixel(2,2,colors[j]);
matrix.drawPixel(3,2,colors[j]);
matrix.drawPixel(2,3,colors[j]);
matrix.drawPixel(2,4,colors[j]);
matrix.drawPixel(1,4,colors[j]);
matrix.drawPixel(3,4,colors[j]);
matrix.drawPixel(2,5,colors[j]);
matrix.drawPixel(2,6,colors[j]);
matrix.drawPixel(0,7,colors[j]);
matrix.drawPixel(1,7,colors[j]);
matrix.drawPixel(2,7,colors[j]);
matrix.drawPixel(3,7,colors[j]);
matrix.drawPixel(4,7,colors[j]);
matrix.drawPixel(x-2,0,colors[j]);
matrix.drawPixel(x-3,0,colors[j]);
matrix.drawPixel(x-4,0,colors[j]);
matrix.drawPixel(x-2,1,colors[j]);
matrix.drawPixel(x-3,1,colors[j]);
matrix.drawPixel(x-4,1,colors[j]);
matrix.drawPixel(x-2,2,colors[j]);
matrix.drawPixel(x-3,2,colors[j]);
matrix.drawPixel(x-4,2,colors[j]);
matrix.drawPixel(x-3,3,colors[j]);
matrix.drawPixel(x-3,4,colors[j]);
matrix.drawPixel(x-2,4,colors[j]);
matrix.drawPixel(x-4,4,colors[j]);
matrix.drawPixel(x-3,5,colors[j]);
matrix.drawPixel(x-3,6,colors[j]);
matrix.drawPixel(x-2,6,colors[j]);
matrix.drawPixel(x-4,6,colors[j]);
matrix.drawPixel(x-1,7,colors[j]);
matrix.drawPixel(x-2,7,colors[j]);
matrix.drawPixel(x-3,7,colors[j]);
matrix.drawPixel(x-4,7,colors[j]);
matrix.drawPixel(x-5,7,colors[j]);
matrix.show();
delay(1000);
}
void effect7()
{
matrix.fillScreen(0);
matrix.show();
for (k=0; k<5; k++)
{
for (j=0; j<NoColor; j++)
{for (i=0; i<x/2; i++)
{
matrix.drawLine(x/2+i,0,x/2+i,y-1, colors[j]);
matrix.drawLine(x/2-i,0,x/2-i,y-1, colors[j]);
matrix.show();
delay(effect7Time*5);
}
j++;
for (i=0; i<x/2; i++)
{
matrix.drawLine(x-i,0,x-i,y-1, colors[j]);
matrix.drawLine(i,0,i,y-1, colors[j]);
matrix.show();
delay(effect7Time*5);
}
}
}
}
void effect6()
{
for (int l=0; l<3; l++)
{matrix.fillScreen(0);
matrix.show();
for (j=0; j<NoColor; j++)
{
for ( i=0; i<=y/2; i++)
{
for (k=0; k<x/y; k++)
{matrix.drawRect(i+k*9,i,y-i*2,y-i*2, colors[j]);}
matrix.show();
delay(effect6Time*10);
}
matrix.fillScreen(0);
matrix.show();
delay(effect6Time*100);
j++;
for ( i=y/2; i>=0; i--)
{
for (k=0; k<x/y; k++)
{matrix.drawRect(i+k*9,i,y-i*2,y-i*2, colors[j]);}
matrix.show();
delay(effect6Time*10);
}
matrix.fillScreen(0);
matrix.show();
delay(effect6Time*50);
}
}
}
void effect5()
{
matrix.fillScreen(0);
matrix.show();
j=0;
for (int z=0; z<5; z++)
{ k=0;
for (i=0; i<x+8; i++)
{
matrix.drawLine(x-1-i,y-1,x+6-i,0, colors[j]);
matrix.show();
delay(effect5Time*2);
k++;
if (k>4)
{j++;
k=0;
if(j==NoColor)
j=0;
}
}
k=0;
j=0;
for (i=0; i<x+8; i++)
{
matrix.drawLine(i,0,i,y-1, colors[j]);
matrix.show();
delay(effect5Time*2);
k++;
if (k>4)
{j++;
k=0;
if(j==NoColor)
j=0;
}
}
}
}
void effect4()
{
matrix.fillScreen(0);
matrix.show();
for (int k=0;k<5; k++)
{
for (j=0; j<NoColor; j++)
{
for ( i=0; i<x/2; i++)
{
matrix.drawLine(x/2-i,0,x/2-i,y-1, colors[j]);
matrix.drawLine(x/2+i,0,x/2+i,y-1, colors[j]);
matrix.show();
delay(effect4Time*2);
}
j++;
for ( i=0; i<x/2; i++)
{
matrix.drawLine(x-i,0,x-i,y-1, colors[j]);
matrix.drawLine(i,0,i,y-1, colors[j]);
matrix.show();
delay(effect4Time*2);
}
j++;}
}
}
void effect3()
{
matrix.fillScreen(0);
matrix.show();
for (int k=0;k<5; k++)
{
for (j=0; j<NoColor; j++)
{
for(i=0; i<y; i++)
{
matrix.drawLine(0,i,x-1,i, colors[j]);
matrix.show();
delay(effect3Time*5);
}
matrix.fillScreen(0);
matrix.show();
for(i=y-1; i>=0; i--)
{
matrix.drawLine(0,i,x-1,i, colors[j]);
matrix.show();
delay(effect3Time*5);
}
matrix.fillScreen(0);
matrix.show();
}
}
}
void effect2()
{matrix.fillScreen(0);
matrix.show();
for (j=0; j<NoColor; j++)
{
for ( i=0; i<x; i++)
{
matrix.drawLine(x-i,0,x-1-i,y-1, colors[j]);
matrix.show();
delay(effect2Time);
}
matrix.fillScreen(0);
matrix.show();
for ( i=0; i<x; i++)
{
matrix.drawLine(i,0,i,y-1, colors[j]);
matrix.show();
delay(effect2Time);
}
matrix.fillScreen(0);
matrix.show();
}
}
void effect1()
{
matrix.fillScreen(0);
matrix.show();
for ( j=0; j<NoColor; j++)
{
for ( i=0; i<x; i++)
{
matrix.drawLine(x-i,0,x-1,y-1, colors[j]);
matrix.show();
delay(effect1Time);
}
for ( i=0; i<y; i++)
{
matrix.drawLine(x-1,y-1,0,i, colors[j]);
matrix.show();
delay(effect1Time);
}
matrix.fillScreen(0);
matrix.show();
for ( i=0; i<x; i++)
{
matrix.drawLine(0,y-1,i,0, colors[j]);
matrix.show();
delay(effect1Time);
}
}
for ( i=0; i<y; i++)
{
matrix.drawLine(0,y-1,x-1,i, colors[j-1]);
matrix.show();
delay(effect1Time);
}
matrix.fillScreen(0);
matrix.show();
delay(100);
}
FPS: 0
Power: 0.00W
Power: 0.00W