Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [code]
- #include <FastLED.h>
- #define NUM_LEDS 600
- #define DATA_PIN 51
- #define strips 10
- #include <Wire.h>
- #include <SPI.h>
- #include <RTClib.h>
- #include <RTC_DS1307.h>
- RTC_DS1307 RTC;
- CRGB leds[NUM_LEDS];
- int on = 1;
- int counter =0;
- int allLEDS[strips][60];
- int mode = 12;
- int globalR = 39;
- int globalG = 135;
- int globalB= 232;
- int backR=0;
- unsigned long resetTime =0;
- int backG=0;
- int backB=0;
- int maxBrightness=255;
- int backGroundBrightness = 35;
- int myDelay = 20;
- //color cycle/flash
- int cycleNum = 0;
- int flashNum = 0;
- int flashCount = 0;
- int flashCount1 = 255;
- //middle expand
- int middleExpPos=30;
- int expR =0;
- int expG=0;
- int expB=0;
- //alien
- int alCount=0;
- int timeKeep = 0;
- int alMode = 1;
- //color forward/back
- int forwardOrBack = 0;
- int countF=0;
- int countB=0;
- //mario display vars
- int backOrForward=1;
- //message display vars
- int messageLines[3]={
- 2,2,1};
- char message11[8]={
- '','','',' ',' ','','\0','\0'};
- char message12[8]={
- '','','','',' ','',',''};
- char message21[8]={
- 'w','e','l','c','o','m','e','\0'};
- char message22[8]={
- 'h','o','m','e','\0','\0','\0','\0'};
- char message31[8]={
- '','','','',' ','','',''};
- char message32[8]={
- ' ',' ',' ',' ',' ',' ',' ',' '};
- int currentMessage=2;
- void setup() {
- Serial.begin(9600);
- FastLED.addLeds<NEOPIXEL,DATA_PIN>(leds,NUM_LEDS);
- Wire.begin();
- RTC.begin();
- for(int i = 0;i<strips;i++){
- for(int j = 0;j<60;j++){
- if(i %2==0)
- allLEDS[i][j]=j+(i*60);
- else
- allLEDS[i][j]=(59-j)+(i*60);
- }
- }
- if(RTC.isrunning())
- RTC.adjust(DateTime(__DATE__, __TIME__));
- randomSeed(analogRead(8));
- FastLED.clear();
- int randNum = random(3);
- switch(randNum){//random clock colors on startup
- case 0:
- mode =20;
- break;
- case 1:
- mode = 21;
- break;
- case 2:
- mode = 22;
- break;
- }
- pinMode(7,OUTPUT);
- digitalWrite(7,LOW);
- FastLED.clear();
- startup();
- }
- void loop(){
- if(on == 0&& millis()-resetTime>=5000000){
- digitalWrite(7,LOW);
- delay(1000);
- digitalWrite(7,HIGH);
- }
- DateTime now = RTC.now();
- int a;
- switch(mode)
- {
- case 123:
- while(!Serial.available());
- break;
- case 0 :
- matrixRun();
- break;
- case 1 ://american flag
- merica();
- break;
- case 2 : // clock
- FastLED.clear();
- clock(now.minute(),now.hour(),brightnessLimit(globalR),brightnessLimit(globalG),brightnessLimit(globalB));
- setBackground(backgroundLimit(backR),backgroundLimit(backG),backgroundLimit(backB));
- break;
- case 3://middle expansion
- expR = brightnessLimit(random(20,255));
- expG = brightnessLimit(random(20,255));
- expB = brightnessLimit(random(20,255));
- middleExpPos = 30;
- mode = 30;
- break;
- case 30://middle expansion
- middleExpand(expR,expG,expB);
- break;
- case 4://dtd
- FastLED.clear();
- dtd();
- setBackground(brightnessLimit(40),brightnessLimit(12),brightnessLimit(75));
- break;
- case 5://dtd with scrolling
- FastLED.clear();
- dtd();
- myDelay=50;
- setBackground(brightnessLimit(40),brightnessLimit(12),brightnessLimit(75));
- mode = 111;
- break;
- case 6://custom message setting
- Serial.println(F("Change which preset message (1,2 or 3):"));
- while(!Serial.available());
- currentMessage = Serial.parseInt();
- delay(10);
- Serial.read();
- messageInterpret(currentMessage);
- FastLED.clear();
- mode = 7;
- break;
- case 7://custom message display
- FastLED.clear();
- messagePrint();
- setBackground(backgroundLimit(backR),backgroundLimit(backG),backgroundLimit(backB));
- break;
- case 8://all 1 color
- for(int i = 0;i<NUM_LEDS;i++)
- {
- leds[i].setRGB(brightnessLimit(globalR),brightnessLimit(globalG),brightnessLimit(globalB));
- }
- FastLED.show();
- break;
- case 10://mario
- FastLED.clear();
- mario();
- mode=1000;
- break;
- case 1000:
- shellBounce();
- break;
- case 11://color fade
- FastLED.clear();
- mode=1100;
- break;
- case 1100:
- colorCycle();
- break;
- case 12://color flash
- FastLED.clear();
- mode=1200;
- flashCount =0;
- flashCount1 = brightnessLimit(255);
- break;
- case 1200:
- colorFlash();
- break;
- case 13:
- FastLED.clear();
- FastLED.show();
- mode = 1300;
- break;
- case 1300://color follow
- a = random(10);
- if (forwardOrBack==0){
- if(countF==0)leds[0].setRGB(brightnessLimit(150),0,brightnessLimit(random(220)));
- else if(countF==2)leds[0].setRGB(brightnessLimit(random(220)),0,brightnessLimit(150));
- else if(countF==1)leds[0].setRGB(brightnessLimit(random(220)),brightnessLimit(140),brightnessLimit(0));
- }
- else{
- if(countB==0)leds[NUM_LEDS-1].setRGB(brightnessLimit(0),brightnessLimit(140),brightnessLimit(random(220)));
- else if(countB==1) leds[NUM_LEDS-1].setRGB(brightnessLimit(0),brightnessLimit(random(220)),brightnessLimit(150));
- else if(countB==2) leds[NUM_LEDS-1].setRGB(brightnessLimit(150),brightnessLimit(random(220)),brightnessLimit(0));
- }
- mode = 1301;
- break;
- case 1301:
- if(forwardOrBack == 0){
- forwardFollow();
- if(leds[0]==leds[NUM_LEDS-1]){
- forwardOrBack=1;
- countF++;
- if(countF>2)countF=0;
- mode = 1300;
- }
- }
- else if(forwardOrBack == 1){
- backFollow();
- if(leds[0]==leds[NUM_LEDS-1]){
- forwardOrBack=0;
- mode = 1300;
- countB++;
- if(countB>2)countB=0;
- }
- }
- break;
- case 14:
- FastLED.clear();
- FastLED.show();
- alMode = 3;
- mode = 1400;
- break;
- case 1400:
- alienSelect();
- break;
- case 20:// preset blue clock red background
- FastLED.clear();
- clock(now.minute(),now.hour(),brightnessLimit(39),brightnessLimit(135),brightnessLimit(232));
- setBackground(brightnessLimit(backgroundLimit(254)),brightnessLimit(backgroundLimit(126)),brightnessLimit(backgroundLimit(42)));
- break;
- case 21:// preset pink clock green background
- FastLED.clear();
- clock(now.minute(),now.hour(),brightnessLimit(195),brightnessLimit(26),brightnessLimit(76));
- setBackground(brightnessLimit(backgroundLimit(60)),brightnessLimit(backgroundLimit(255)),brightnessLimit(backgroundLimit(40)));
- break;
- case 22://preset tan clock purple background
- FastLED.clear();
- clock(now.minute(),now.hour(),brightnessLimit(254),brightnessLimit(126),brightnessLimit(42));
- setBackground(brightnessLimit(backgroundLimit(150)),brightnessLimit(backgroundLimit(64)),brightnessLimit(backgroundLimit(255)));
- break;
- case 111://scrolling effect
- scrollText();
- break;
- default :
- int rand = (180);
- forwardColor(180,0,random(180));
- delay(500);
- backwardColor(0,140,random(180));
- delay(500);
- forwardColor(random(180),200,0);
- delay(500);
- backwardColor(random(180),0,130);
- delay(500);
- }
- if(Serial.available()){
- char inputChar;
- inputChar = Serial.read();
- // Serial.println(inputChar);
- Serial.read();
- if(inputChar==111)//o for on
- {
- on = 1;
- int randNum = random(3);
- switch(randNum){//random clock colors on startup
- case 0:
- mode =20;
- break;
- case 1:
- mode = 21;
- break;
- case 2:
- mode = 22;
- break;
- }
- digitalWrite(7,LOW);
- }
- else if(inputChar==79)//O for off
- {
- digitalWrite(7,HIGH);
- on = 0;
- mode =123;
- resetTime = millis();
- }
- else if(on ==1){
- if(inputChar==104)//h for help
- {
- startup();
- }
- else if (inputChar ==108){//l for list of modes
- modeList();
- }
- else if (inputChar ==112){//p for pretty colors
- colors();
- }
- else{
- Serial.println("Enter Parameters");
- while(!Serial.available()){
- }
- switch(inputChar){
- case 109://m for mode
- mode = Serial.parseInt();
- // Serial.println(mode);
- break;
- case 98://b for background
- backR=brightnessLimit(Serial.parseInt());
- backG=brightnessLimit(Serial.parseInt());
- backB=brightnessLimit(Serial.parseInt());
- // Serial.print((backR));
- // Serial.print(F("."));
- // Serial.print((backG));
- // Serial.print(F("."));
- // Serial.println((backB));
- break;
- case 99://c for color
- globalR=brightnessLimit(Serial.parseInt());
- globalG=brightnessLimit(Serial.parseInt());
- globalB=brightnessLimit(Serial.parseInt());
- // Serial.print((globalR));
- // Serial.print(F("."));
- // Serial.print((globalG));
- // Serial.print(F("."));
- // Serial.println((globalB));
- break;
- case 100://d for delay
- myDelay = Serial.parseInt();
- // Serial.println(myDelay);
- break;
- case 115://s for set display message
- currentMessage = Serial.parseInt();
- // Serial.println(myDelay);
- break;
- case 105://i for intensity of light
- maxBrightness = Serial.parseInt();
- // Serial.println(maxBrightness);
- break;
- case 122://z for background brightness
- backGroundBrightness = Serial.parseInt();
- break;
- }
- Serial.read();
- }
- }
- }
- }
- void alienSelect(){
- int d = 1600;
- switch(alMode){
- case 0:
- alienBlink(120,0,255,d);
- break;
- case 1://image 1
- alienHead(1);
- alMode = 4;
- break;
- case 2://image 2
- alienHead(2);
- alMode = 4;
- break;
- case 3://image 3
- alienHead(3);
- alMode = 4;
- break;
- case 4://counting
- if(alCount==d) alMode =0;
- else if (alCount == d*2) alMode = 0;
- else if (alCount >= d*4) {
- alMode = 0;
- alCount = 0;
- }
- break;
- }
- alCount++;
- }
- void alienBlink(int r, int g,int b, int d){
- int wait = 50;
- for(int j = 21;j<25;j++){
- leds[allLEDS[2][j]].setRGB(brightnessLimit(r),brightnessLimit(g),brightnessLimit(b));
- }
- for(int j = 34;j<38;j++){
- leds[allLEDS[2][j]].setRGB(brightnessLimit(r),brightnessLimit(g),brightnessLimit(b));
- }
- FastLED.show();
- delay(wait);
- for(int j = 21;j<25;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(r),brightnessLimit(b),brightnessLimit(b));
- }
- for(int j = 34;j<38;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(r),brightnessLimit(g),brightnessLimit(b));
- }
- FastLED.show();
- delay(wait+20);
- if(alCount<d)
- {
- alMode =1;
- leds[allLEDS[3][24]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- leds[allLEDS[3][37]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- for(int j = 21;j<24;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j =34;j<37;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- FastLED.show();
- }
- else if(alCount<d*2)
- {
- alMode = 2;
- leds[allLEDS[3][21]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- leds[allLEDS[3][34]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- for(int j = 22;j<25;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = 35;j<38;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- FastLED.show();
- }
- else {
- alMode = 3;
- for(int j = 21;j<25;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = 34;j<38;j++){
- leds[allLEDS[3][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- FastLED.show();
- }
- delay(wait);
- }
- void alienHead(int face){
- int sp = 20;
- int ep= sp+19;
- switch(face){
- case 1:
- for (int i = 0;i<strips;i++){
- switch(i){
- case 0:
- for(int j = sp-1;j<ep+1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- case 1:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 2:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+1;j<sp+5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-5;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 3:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][24]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- leds[allLEDS[i][37]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- for(int j = sp+1;j<sp+4;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-5;j<ep-2;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 4:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 5:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 6:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 7:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+5;j<ep-5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(255),brightnessLimit(255));
- }
- break;
- case 8:
- leds[allLEDS[i][sp+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 9:
- for(int j = sp+1;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- }
- }
- break;
- case 2:
- for (int i = 0;i<strips;i++){
- switch(i){
- case 0:
- for(int j = sp-1;j<ep+1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- case 1:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 2:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+1;j<sp+5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-5;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 3:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][21]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- leds[allLEDS[i][34]].setRGB(brightnessLimit(0),brightnessLimit(0),brightnessLimit(0));
- for(int j = sp+2;j<sp+5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-4;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 4:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 5:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 6:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 7:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+5;j<ep-5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(255),brightnessLimit(255));
- }
- break;
- case 8:
- leds[allLEDS[i][sp+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 9:
- for(int j = sp+1;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- }
- }
- break;
- case 3:
- for (int i = 0;i<strips;i++){
- switch(i){
- case 0:
- for(int j = sp-1;j<ep+1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- case 1:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 2:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+1;j<sp+5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-5;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 3:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+1;j<sp+5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- for(int j = ep-5;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- break;
- case 4:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-4]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 5:
- leds[allLEDS[i][sp-3]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 6:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 7:
- leds[allLEDS[i][sp-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- for(int j = sp+5;j<ep-5;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(255),brightnessLimit(255));
- }
- break;
- case 8:
- leds[allLEDS[i][sp+1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][sp]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-2]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- leds[allLEDS[i][ep-1]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- break;
- case 9:
- for(int j = sp+1;j<ep-1;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- break;
- }
- }
- break;
- }
- FastLED.show();
- }
- void forwardFollow(){
- for(int i = NUM_LEDS-1;i>0;i--){
- leds[i]=leds[i-1];
- }
- FastLED.show();
- }
- void backFollow(){
- for(int i = 0;i<NUM_LEDS-1;i++){
- leds[i]=leds[i+1];
- }
- FastLED.show();
- }
- //color flash
- void colorFlash(){
- switch(flashNum){
- case 0://red
- if(flashTransitionUp(brightnessLimit(255),0,0))flashNum=10;
- break;
- case 1://green
- if(flashTransitionUp(0,brightnessLimit(255),0))flashNum=11;
- break;
- case 2://blue
- if(flashTransitionUp(0,0,brightnessLimit(255)))flashNum=21;
- break;
- case 3://violet
- if(flashTransitionUp(brightnessLimit(248),brightnessLimit(75),brightnessLimit(226)))flashNum=31;
- break;
- case 4://tan
- if(flashTransitionUp(brightnessLimit(254),brightnessLimit(126),brightnessLimit(42)))flashNum=41;
- break;
- case 5://light Green
- if(flashTransitionUp(brightnessLimit(80),brightnessLimit(255),brightnessLimit(60)))flashNum=51;
- break;
- case 6://yellow
- if(flashTransitionUp(brightnessLimit(255),brightnessLimit(255),brightnessLimit(0)))flashNum=61;
- break;
- case 7://deep blue
- if(flashTransitionUp(brightnessLimit(39),brightnessLimit(135),brightnessLimit(232)))flashNum=71;
- break;
- case 10://red
- if(flashTransitionDown(brightnessLimit(255),0,0))flashNum=1;
- break;
- case 11://green
- if(flashTransitionDown(0,brightnessLimit(255),0))flashNum=2;
- break;
- case 21://blue
- if(flashTransitionDown(0,0,brightnessLimit(255)))flashNum=3;
- break;
- case 31://violet
- if(flashTransitionDown(brightnessLimit(248),brightnessLimit(75),brightnessLimit(226)))flashNum=4;
- break;
- case 41://tan
- if(flashTransitionDown(brightnessLimit(254),brightnessLimit(126),brightnessLimit(42)))flashNum=5;
- break;
- case 51://light Green
- if(flashTransitionDown(brightnessLimit(80),brightnessLimit(255),brightnessLimit(60)))flashNum=6;
- break;
- case 61://yellow
- if(flashTransitionDown(brightnessLimit(255),brightnessLimit(255),brightnessLimit(0)))flashNum=7;
- break;
- case 71://deep blue
- if(flashTransitionDown(brightnessLimit(39),brightnessLimit(135),brightnessLimit(232)))flashNum=0;
- break;
- }
- if(maxBrightness<110) delay(10);
- FastLED.show();
- }
- void colorCycle(){
- switch(cycleNum){
- case 0://red
- if(colorTransition(brightnessLimit(255),0,0))cycleNum=1;
- break;
- case 1://green
- if(colorTransition(0,brightnessLimit(255),0))cycleNum=2;
- break;
- case 2://blue
- if(colorTransition(0,0,brightnessLimit(255)))cycleNum=3;
- break;
- case 3://violet
- if(colorTransition(brightnessLimit(208),brightnessLimit(75),brightnessLimit(226)))cycleNum=4;
- break;
- case 4://tan
- if(colorTransition(brightnessLimit(254),brightnessLimit(126),brightnessLimit(42)))cycleNum=5;
- break;
- case 5://light Green
- if(colorTransition(brightnessLimit(80),brightnessLimit(255),brightnessLimit(60)))cycleNum=6;
- break;
- case 6://yellow
- if(colorTransition(brightnessLimit(255),brightnessLimit(255),brightnessLimit(0)))cycleNum=0;
- break;
- }
- if(maxBrightness<110) delay(10);
- FastLED.show();
- }
- int colorTransition(int r, int g, int b){
- for(int i = 0;i<NUM_LEDS;i++){
- if(leds[i].r>r)leds[i].r--;
- else if(leds[i].r<r)leds[i].r++;
- if(leds[i].g>g)leds[i].g--;
- else if(leds[i].g<g)leds[i].g++;
- if(leds[i].b>b)leds[i].b--;
- else if(leds[i].b<b)leds[i].b++;
- }
- if(leds[0].r==r&&leds[0].g==g&&leds[0].b==b)return 1;
- else return 0;
- }
- int flashTransitionUp(int r, int g, int b){
- int var = 2;
- int largestVal;
- int newR,newB,newG;
- if(max(r,g)==r){
- if(max(r,b)==r) largestVal=r;
- else largestVal=b;
- }
- else{
- if (max(g,b)==g)largestVal=g;
- else largestVal=b;
- }
- flashCount++;
- newR=map(flashCount,0,largestVal,0,r);
- newG=map(flashCount,0,largestVal,0,g);
- newB=map(flashCount,0,largestVal,0,b);
- for(int i = 0;i<NUM_LEDS;i++){
- leds[i].setRGB(newR,newG,newB);
- }
- if(leds[0].r==r&&leds[0].g==g&&leds[0].b==b){
- flashCount = 0;
- return 1;
- }
- else return 0;
- }
- int flashTransitionDown(int r, int g, int b){
- int var = 2;
- int largestVal;
- int newR,newB,newG;
- if(max(r,g)==r){
- if(max(r,b)==r) largestVal=r;
- else largestVal=b;
- }
- else{
- if (max(g,b)==g)largestVal=g;
- else largestVal=b;
- }
- newR=map(flashCount1,0,largestVal,0,r);
- newG=map(flashCount1,0,largestVal,0,g);
- newB=map(flashCount1,0,largestVal,0,b);
- if(flashCount1>2)
- flashCount1-=2;
- else flashCount1--;
- for(int i = 0;i<NUM_LEDS;i++){
- leds[i].setRGB(newR,newG,newB);
- }
- if(leds[0].r==0&&leds[0].g==0&&leds[0].b==0){
- flashCount1 = brightnessLimit(255);
- return 1;
- }
- else return 0;
- }
- //american flag
- void merica(){
- int r = brightnessLimit(255);
- int g = brightnessLimit(255);
- int b = brightnessLimit(255);
- for(int i = 0;i<5;i++){
- for(int j = 0;j<60;j++){
- if(j<20){
- if(j==0 ||j == 19)
- leds[allLEDS[i][j]].setRGB(0,0,b);
- else if(j%2==0)
- {
- if(i%2==0)
- leds[allLEDS[i][j]].setRGB(r,g,b);
- else
- leds[allLEDS[i][j]].setRGB(0,0,b);
- }
- else{
- if(i%2==0)
- leds[allLEDS[i][j]].setRGB(0,0,b);
- else
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- if(i%2 == 0)
- leds[allLEDS[i][j]].setRGB(r,0,0);
- else
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- for(int i = 5;i<strips;i++){
- for(int j = 0;j<60;j++){
- if(i%2==0)
- leds[allLEDS[i][j]].setRGB(r,0,0);
- else
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- FastLED.show();
- }
- void windFlap(int start){
- for(int k = 0;k<3;k++){
- for(int i = 0;i<strips;i++){
- leds[allLEDS[i][start-1]].maximizeBrightness();
- if(k==1)
- leds[allLEDS[i][start-1]]%=84;
- if(k==2)
- leds[allLEDS[i][start-1]]%=169;
- for(int j = start;j<(start+12);j++){
- if(j-start>4)
- {
- leds[allLEDS[i][j%60]]%=204;
- }
- else if(j-start>8){
- leds[allLEDS[i][j%60]]%=179;
- }
- else{
- leds[allLEDS[i][j%60]]%=204;
- }
- }
- }
- FastLED.show();
- }
- }
- void middleExpand(int r, int g, int b){
- // Serial.print((r));
- // Serial.print(F("."));
- // Serial.print((g));
- // Serial.print(F("."));
- // Serial.println((b));
- if(middleExpPos>=0){
- for(int i = 0;i<strips;i++)
- {
- leds[allLEDS[i][middleExpPos]].setRGB(r,g,b);
- leds[allLEDS[i][59-middleExpPos]].setRGB(r,g,b);
- }
- FastLED.show();
- delay(myDelay);
- }
- middleExpPos--;
- if(middleExpPos<0) mode=3;
- }
- //text interpreter
- void messageInterpret(int presetNum){
- Serial.println(F("Do you want to enter a 1 or 2 line message (input 1 or 2):"));
- while(!Serial.available());
- if(presetNum==1){
- messageLines[presetNum-1]=Serial.parseInt();
- Serial.println(F("current message 1:"));
- for(int i = 0;i<sizeof(message11);i++){
- Serial.print(message11[i]);
- }
- if(messageLines[presetNum-1]==2){
- Serial.println("");
- for(int i = 0;i<sizeof(message12);i++){
- Serial.print(message12[i]);
- }
- }
- }
- if(presetNum==2){
- messageLines[presetNum-1]=Serial.parseInt();
- Serial.println(F("current message 2:"));
- for(int i = 0;i<sizeof(message21);i++){
- Serial.print(message21[i]);
- }
- if(messageLines[presetNum-1]==2){
- Serial.println("");
- for(int i = 0;i<sizeof(message22);i++){
- Serial.print(message22[i]);
- }
- }
- }
- if(presetNum==3){
- messageLines[presetNum-1]=Serial.parseInt();
- Serial.println(F("current message 3:"));
- for(int i = 0;i<sizeof(message31);i++){
- Serial.print(message31[i]);
- }
- if(messageLines[presetNum-1]==2){
- Serial.println("");
- for(int i = 0;i<sizeof(message32);i++){
- Serial.print(message32[i]);
- }
- }
- }
- Serial.println("");
- Serial.read();
- if(messageLines[presetNum-1] ==1){
- Serial.println(F("Enter your new message followed by a period (.):"));
- while(!Serial.available());
- switch(presetNum){
- case 1:
- memset(message11,'\0',sizeof(message11));
- Serial.readBytesUntil('.',message11,10);
- break;
- case 2:
- memset(message21,'\0',sizeof(message21));
- Serial.readBytesUntil('.',message21,10);
- break;
- case 3:
- memset(message31,'\0',sizeof(message31));
- Serial.readBytesUntil('.',message31,10);
- break;
- }
- }
- else if(messageLines[presetNum-1] ==2){
- Serial.println(F("Enter the first line of your message followed by a period (.):"));
- while(!Serial.available());
- switch(presetNum){
- case 1:
- memset(message11,'\0',sizeof(message11));
- Serial.readBytesUntil('.',message11,10);
- break;
- case 2:
- memset(message21,'\0',sizeof(message21));
- Serial.readBytesUntil('.',message21,10);
- break;
- case 3:
- memset(message31,'\0',sizeof(message31));
- Serial.readBytesUntil('.',message31,10);
- break;
- }
- delay(50);
- Serial.read();
- Serial.println(F("Enter the second line of your message followed by a period (.):"));
- while(!Serial.available());
- delay(50);
- switch(presetNum){
- case 1:
- memset(message12,'\0',sizeof(message11));
- Serial.readBytesUntil('.',message12,10);
- break;
- case 2:
- memset(message22,'\0',sizeof(message12));
- Serial.readBytesUntil('.',message22,10);
- break;
- case 3:
- memset(message32,'\0',sizeof(message12));
- Serial.readBytesUntil('.',message32,10);
- break;
- }
- }
- delay(50);
- Serial.read();
- }
- void messagePrint(){
- int numBlanks = 0;
- switch(currentMessage){
- case 1:
- if(messageLines[currentMessage-1]==1){
- for(int i = 0;i<sizeof(message11);i++){
- if(message11[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message11);i++){
- letters(1,((i*7)+1)+(59-(8-numBlanks)*7)/2,message11[i],globalR,globalG,globalB);
- }
- }
- if(messageLines[currentMessage-1]==2){
- for(int i = 0;i<sizeof(message11);i++){
- if(message11[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message11);i++){
- letters(0,((i*7)+1)+(59-(8-numBlanks)*7)/2,message11[i],globalR,globalG,globalB);
- }
- numBlanks=0;
- for(int i = 0;i<sizeof(message12);i++){
- if(message12[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message12);i++){
- letters(2,((i*7)+1)+(59-(8-numBlanks)*7)/2,message12[i],globalR,globalG,globalB);
- }
- }
- break;
- case 2:
- if(messageLines[currentMessage-1]==1){
- for(int i = 0;i<sizeof(message21);i++){
- if(message21[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message21);i++){
- letters(1,((i*7)+1)+(59-(8-numBlanks)*7)/2,message21[i],globalR,globalG,globalB);
- }
- }
- if(messageLines[currentMessage-1]==2){
- for(int i = 0;i<sizeof(message21);i++){
- if(message21[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message21);i++){
- letters(0,((i*7)+1)+(59-(8-numBlanks)*7)/2,message21[i],globalR,globalG,globalB);
- }
- numBlanks=0;
- for(int i = 0;i<sizeof(message22);i++){
- if(message22[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message22);i++){
- letters(2,((i*7)+1)+(59-(8-numBlanks)*7)/2,message22[i],globalR,globalG,globalB);
- }
- }
- break;
- case 3:
- if(messageLines[currentMessage-1]==1){
- for(int i = 0;i<sizeof(message31);i++){
- if(message31[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message31);i++){
- letters(1,((i*7)+1)+(59-(8-numBlanks)*7)/2,message31[i],globalR,globalG,globalB);
- }
- }
- if(messageLines[currentMessage-1]==2){
- for(int i = 0;i<sizeof(message31);i++){
- if(message31[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message31);i++){
- letters(0,((i*7)+1)+(59-(8-numBlanks)*7)/2,message31[i],globalR,globalG,globalB);
- }
- numBlanks=0;
- for(int i = 0;i<sizeof(message32);i++){
- if(message32[i]=='\0') numBlanks++;
- }
- for(int i = 0;i<sizeof(message32);i++){
- letters(2,((i*7)+1)+(59-(8-numBlanks)*7)/2,message32[i],globalR,globalG,globalB);
- }
- }
- break;
- }
- }
- //mario pipes
- void mario(){
- for(int i = 0;i<strips;i++)
- {
- if (i<2)
- for(int j = 0;j<10;j++)
- {
- leds[allLEDS[i][j]].setRGB(0,brightnessLimit(255),0);
- leds[allLEDS[i][59-j]].setRGB(0,brightnessLimit(255),0);
- }
- else if(i<7){
- for(int j = 2;j<8;j++)
- {
- leds[allLEDS[i][j]].setRGB(0,brightnessLimit(255),0);
- leds[allLEDS[i][59-j]].setRGB(0,brightnessLimit(255),0);
- }
- }
- else if(i>7){
- for(int j =0;j<60;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(90),0);
- }
- }
- else{
- for(int j =0;j<60;j++){
- leds[allLEDS[i][j]].setRGB(brightnessLimit(20),brightnessLimit(255),30);
- }
- }
- }
- for(int i = 3;i<strips-3;i++){
- if(i == 5)
- for(int j = 8;j<20;j++)
- {
- if(j ==8||j==9||j==19||j==18)
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(255),brightnessLimit(255));
- else
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- if(i == 6)
- for(int j = 10;j<18;j++)
- {
- // if(j ==10||j==11||j==17||j==16)
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(255),brightnessLimit(255));
- // else
- // leds[allLEDS[i][j]].setRGB(brightnessLimit(0),brightnessLimit(255),brightnessLimit(0));
- }
- if(i == 4)
- for(int j = 10;j<18;j++)
- {
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- if(i == 3)
- for(int j = 11;j<17;j++)
- {
- leds[allLEDS[i][j]].setRGB(brightnessLimit(255),brightnessLimit(0),brightnessLimit(0));
- }
- }
- FastLED.show();
- }
- void shellBounce(){
- if(leds[allLEDS[5][8]].r==0&&leds[allLEDS[5][8]].g==0&&leds[allLEDS[5][8]].b==0&&leds[allLEDS[5][51]].r!=0&&leds[allLEDS[5][51]].g!=0&&leds[allLEDS[5][51]].b!=0){
- backOrForward=0;
- }
- if(leds[allLEDS[5][8]].r!=0&&leds[allLEDS[5][8]].g!=0&&leds[allLEDS[5][8]].b!=0&&leds[allLEDS[5][51]].r==0&&leds[allLEDS[5][51]].g==0&&leds[allLEDS[5][51]].b==0){
- backOrForward=1;
- }
- if(backOrForward==0) {
- for(int i = 3;i<strips-3;i++){
- for(int j = 8;j<51;j++){
- leds[allLEDS[i][j]]=leds[allLEDS[i][j+1]];
- }
- }
- leds[allLEDS[5][51]].setRGB(0,0,0);
- }
- else
- {
- for(int i = 3;i<strips-3;i++){
- for(int j = 51;j>8;j--){
- leds[allLEDS[i][j]]=leds[allLEDS[i][j-1]];
- }
- }
- leds[allLEDS[5][8]].setRGB(0,0,0);
- }
- delay(myDelay);
- FastLED.show();
- }
- //matrix effect
- void matrixRun(){
- matrixInit();
- matrixFall();
- int bc = brightnessLimit(10);
- int counter = 0;
- for(int i = 0;i<60;i++){
- if(leds[allLEDS[1][i]].g>bc&&leds[allLEDS[2][i]].g>bc&&leds[allLEDS[3][i]].g>bc&&leds[allLEDS[4][i]].g>bc)
- leds[allLEDS[0][i]].g=bc;
- }
- delay(50);
- }
- void matrixInit(){
- int counter=0;
- int temp2 = random (60);
- int temp = 4;
- while(counter<temp){
- leds[temp2].setRGB(0,brightnessLimit(255),0);
- temp2 = random(60);
- counter++;
- }
- FastLED.show();
- }
- void matrixFall(){
- for(int i = strips-1;i>0;i--){
- for(int j =0;j<60;j++){
- leds[allLEDS[i][j]]=leds[allLEDS[i-1][j]];
- }
- }
- FastLED.show();
- }
- void forwardColor(int r, int g, int b){
- for(int i = 0;i<NUM_LEDS;i++){
- leds[i].setRGB(r,g,b);
- FastLED.show();
- // delay(5);
- }
- }
- void backwardColor(int r, int g, int b){
- for(int i = NUM_LEDS-1;i>=0;i--){
- leds[i].setRGB(r,g,b);
- FastLED.show();
- // delay(5);
- }
- }
- void dimColor(int r, int g, int b){
- int largestVal;
- int newR,newB,newG;
- if(max(r,g)==r){
- if(max(r,b)==r) largestVal=r;
- else largestVal=b;
- }
- else{
- if (max(g,b)==g)largestVal=g;
- else largestVal=b;
- }
- for(int i = largestVal; i>=0;i--){
- newR=map(i,0,largestVal,0,r);
- newG=map(i,0,largestVal,0,g);
- newB=map(i,0,largestVal,0,b);
- for(int j =0;j<NUM_LEDS;j++){
- leds[j].setRGB(newR,newG,newB);
- }
- FastLED.show();
- }
- }
- //array functions
- int contains(int a[],int b){
- for(int i = 0;i<sizeof(a);i++){
- if (a[i]==b)
- return 1;
- }
- return 0;
- }
- void number(int startPosition, int number,int r, int g, int b){
- switch(number){
- case 0:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- break;
- case 1:
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-3]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-2]].setRGB(r,g,b);
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+2]].setRGB(r,g,b);
- break;
- case 4:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- break;
- case 5:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+7]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 7:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 8:
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-3]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10-2]].setRGB(r,g,b);
- break;
- case 9:
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- break;
- }
- }
- break;
- case 1:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- break;
- case 1:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- break;
- case 2:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 4:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 5:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 7:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 8:
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 9:
- for(int j=startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 2:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- break;
- case 1:
- leds[allLEDS[i][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+7]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+8]].setRGB(r,g,b);
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+8]].setRGB(r,g,b);
- break;
- case 4:
- leds[allLEDS[i][startPosition+7]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+8]].setRGB(r,g,b);
- break;
- case 5:
- leds[allLEDS[i][startPosition+7]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- break;
- case 7:
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- break;
- case 8:
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- break;
- case 9:
- for(int j=2+startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 3:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 6:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 7:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 4:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 5:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 6:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 7:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 8:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 9:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- }
- }
- break;
- case 10:
- for(int i = 0;i<strips;i++){
- if(i ==0 || i ==strips-1||i==strips-2||i==1){
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- }
- }
- break;
- case 11:
- for (int i = 0;i<strips;i++){
- leds[allLEDS[i][startPosition+3]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+5]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+6]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+7]].setRGB(r,g,b);
- };
- break;
- case 12:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 6:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 7:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 13:
- for (int i = 0;i<strips;i++){
- if(i ==0||i==1||i==8||i==9||i==4||i==5){
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- }
- }
- break;
- case 14:
- for (int i = 0;i<strips;i++){
- if(i==4||i==5){
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if (i <4){
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- }
- else{
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- }
- }
- break;
- case 15:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 7:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 16:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 7:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 17:
- for(int i = 0;i<strips;i++){
- if(i <2){
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPosition+10-i]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+11-i]].setRGB(r,g,b);
- }
- }
- break;
- case 18:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 7:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- case 19:
- for(int i =0;i<strips;i++){
- switch(i){
- case 0:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 1:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 7:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 6:
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 4:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 5:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 2:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- break;
- case 3:
- leds[allLEDS[i][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+10]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+9]].setRGB(r,g,b);
- break;
- case 8:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- case 9:
- for(int j =startPosition;j<startPosition+11;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- break;
- }
- }
- break;
- }
- }
- int brightnessLimit(int c){
- return map(c,0,255,0,maxBrightness);
- }
- int backgroundLimit(int c){
- return map(c,0,255,0,backGroundBrightness);
- }
- void clock(int minute,int hour, int r,int g,int b){
- number(2,((hour %12)/10)+10,r,g,b);
- number(16,((hour %12)%10)+10,r,g,b);
- number(33,(minute/10)+10,r,g,b);
- number(47,(minute%10)+10,r,g,b);
- leds[allLEDS[3][29]].setRGB(r,g,b);
- leds[allLEDS[2][29]].setRGB(r,g,b);
- leds[allLEDS[6][29]].setRGB(r,g,b);
- leds[allLEDS[7][29]].setRGB(r,g,b);
- leds[allLEDS[3][30]].setRGB(r,g,b);
- leds[allLEDS[2][30]].setRGB(r,g,b);
- leds[allLEDS[6][30]].setRGB(r,g,b);
- leds[allLEDS[7][30]].setRGB(r,g,b);
- }
- void setBackground(int r,int g, int b){
- for(int i = 0;i<NUM_LEDS;i++)
- {
- if(leds[i].r==0&&leds[i].g==0&&leds[i].b==0){
- leds[i].setRGB(r,g,b);
- }
- }
- FastLED.show();
- }
- void dtd(){
- int startPosition = 13;
- int r = brightnessLimit(255);
- int g = brightnessLimit(165);
- int b = brightnessLimit(0);
- leds[allLEDS[0][startPosition]].setRGB(r,g,b);
- leds[allLEDS[0][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[0][startPosition-1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition-1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition-2]].setRGB(r,g,b);
- for(int i = 2;i<strips-3;i++){
- leds[allLEDS[i][startPosition-i]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+i]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition-i-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+i+1]].setRGB(r,g,b);
- }
- for(int i = strips-3;i<strips-1;i++)
- {
- for(int j = startPosition-8;j<startPosition+9;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- startPosition = 45;
- leds[allLEDS[0][startPosition]].setRGB(r,g,b);
- leds[allLEDS[0][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[0][startPosition-1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition+1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition-1]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition+2]].setRGB(r,g,b);
- leds[allLEDS[1][startPosition-2]].setRGB(r,g,b);
- for(int i = 2;i<strips-3;i++){
- leds[allLEDS[i][startPosition-i]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+i]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition-i-1]].setRGB(r,g,b);
- leds[allLEDS[i][startPosition+i+1]].setRGB(r,g,b);
- }
- for(int i = strips-3;i<strips-1;i++)
- {
- for(int j = startPosition-8;j<startPosition+9;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- startPosition = 29;
- for(int i = 0;i<2;i++){
- for(int j = startPosition-8;j<startPosition+9;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- for(int i = 2;i<strips-1;i++)
- {
- for (int j = startPosition -1;j<startPosition+2;j++){
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- void scrollText(){
- for(int i = 0;i <strips;i++){
- int r= leds[allLEDS[i][59]].r;
- int g= leds[allLEDS[i][59]].g;
- int b = leds[allLEDS[i][59]].b;
- for(int j = 59;j>0;j--){
- leds[allLEDS[i][j]]=leds[allLEDS[i][j-1]];
- }
- leds[allLEDS[i][0]].r=r;
- leds[allLEDS[i][0]].g=g;
- leds[allLEDS[i][0]].b=b;
- }
- FastLED.show();
- delay(myDelay);
- }
- void colors(){
- Serial.println(F(""));
- Serial.println(F("************************************* Color Combos *********************************"));
- Serial.println(F("Dtd Gold"));
- Serial.println(F("255.165.0"));
- Serial.println(F("Deep Blue"));
- Serial.println(F("27.89.244"));
- Serial.println(F("Deep Blue2"));
- Serial.println(F("39.135.232"));
- Serial.println(F("Violet"));
- Serial.println(F("188.64.206"));
- Serial.println(F("Pink"));
- Serial.println(F("195.26.76"));
- Serial.println(F("Tan"));
- Serial.println(F("254.126.42"));
- Serial.println(F("Baby Blue "));
- Serial.println(F("90.200.209"));
- Serial.println(F("Light Green"));
- Serial.println(F("60.255.40"));
- }
- void startup(){
- Serial.println(F(""));
- Serial.println(F("************************************* Help Menu *********************************"));
- Serial.println(F("---Adjusting the lights works by entering a character followed by a number."));
- Serial.println(F("---All action will be paused during settings changes"));
- Serial.println(F("---If more than one number is required, enter a period . inbetween numbers."));
- Serial.println(F("---For example to change to mode 2:"));
- Serial.println(F("m"));
- Serial.println(F("2"));
- Serial.println(F("---To set a green background:"));
- Serial.println(F("b"));
- Serial.println(F("0.255.0"));
- Serial.println(F(""));
- Serial.println(F("---Menus:"));
- Serial.println(F("-List of pretty colors: p"));
- Serial.println(F("-Help Menu: h"));
- Serial.println(F("-Modes List: l"));
- Serial.println(F(""));
- Serial.println(F("---List of Functions:"));
- Serial.println(F("-To select a mode: m"));
- Serial.println(F("Mode#"));
- Serial.println(F("-To set a background: b"));
- Serial.println(F("Red#.Green#.Blue#"));
- Serial.println(F("-To set a background brightness: z"));
- Serial.println(F("Brightness#"));
- Serial.println(F("-To change color in a mode: c"));
- Serial.println(F("Red#.Green#.Blue#"));
- Serial.println(F("-To set maximum brightness: i"));
- Serial.println(F("Brightness#"));
- Serial.println(F("-To set delay: d"));
- Serial.println(F("Milliseconds#"));
- Serial.println(F("-To select a preset message: s"));
- Serial.println(F("Message#"));
- }
- void modeList(){
- Serial.println(F(""));
- Serial.println(F("************************************* Mode List *********************************"));
- Serial.println(F("**********************************"));
- Serial.println(F("m0: Matrix"));
- Serial.println(F("m1: American Flag"));
- Serial.println(F("m2: Clock"));
- Serial.println(F("m20: Preset blue clock, orange back"));
- Serial.println(F("m21: Preset pink clock, green back"));
- Serial.println(F("m22: Preset tan clock, purple back"));
- Serial.println(F("m3: Center Expansion"));
- Serial.println(F("m4: DTD"));
- Serial.println(F("m5: DTD Scroll"));
- Serial.println(F("m6: Set Preset Message"));
- Serial.println(F("m7: Display Preset Message"));
- Serial.println(F("m8: Single Color"));
- Serial.println(F("m10: Koopa Shell"));
- Serial.println(F("m11: Color Fade"));
- Serial.println(F("m12: Color Flash"));
- Serial.println(F("m111: Scroll"));
- Serial.println(F("m123: Clear Lights"));
- // Serial.println(F("m13: rule30"));
- // Serial.println(F("m14: random_march"));
- // Serial.println(F("m15: rwb_march"));
- // Serial.println(F("m16: radiation"));
- // Serial.println(F("m17: color_loop_vardelay"));
- // Serial.println(F("m18: white_temps"));
- // Serial.println(F("m19: sin_bright_wave"));
- // Serial.println(F("m20: pop_horizontal"));
- // Serial.println(F("m21: quad_bright_curve"));
- // Serial.println(F("m22: flame"));
- // Serial.println(F("m23: rainbow_vertical"));
- // Serial.println(F("m25: random_color_pop"));
- // Serial.println(F("m26: ems_lightsSTROBE"));
- // Serial.println(F("m27: rgb_propeller"));
- // Serial.println(F("m28: kitt"));
- // Serial.println(F("m29: matrix"));
- // Serial.println(F("m30: xmas"));
- // Serial.println(F("m50: strip_march_ccw"));
- // Serial.println(F("m51: strip_march_cw"));
- // Serial.println(F("m88: rainbow_rotate"));
- // Serial.println(F("m888: demo_modeA"));
- // Serial.println(F("m889: demo_modeB"));
- // Serial.println(F("m999: (break out of loop)"));
- Serial.println(F("**********************************"));
- }
- //top 0 bot 1
- void letters(int topOrBot, int startPos, char letter, int r, int g, int b) {
- r = brightnessLimit(r);
- g= brightnessLimit(g);
- b=brightnessLimit(b);
- if(topOrBot ==1)
- topOrBot =2;
- else if(topOrBot==2)
- topOrBot=5;
- switch(letter){
- case 'a':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i !=topOrBot+2){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else{
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 'b':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot||i==topOrBot+2||i==topOrBot+4){
- for(int j = startPos;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i !=topOrBot+2 ||i !=topOrBot+4){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'c':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot||i==topOrBot+4){
- for(int j = startPos+1;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- }
- break;
- case 'd':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i == topOrBot||i==topOrBot+4){
- for(int j = startPos;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i !=topOrBot+2 ||i !=topOrBot+4){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'e':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i == topOrBot||i==topOrBot+4||i==topOrBot+2){
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- }
- break;
- case 'f':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i == topOrBot||i==topOrBot+2){
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- }
- break;
- case 'g':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot||i==topOrBot+4){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if (i ==topOrBot+2){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else if (i== topOrBot+3){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- break;
- case 'h':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i !=topOrBot+2){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else{
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 'i':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i !=topOrBot&&i!=topOrBot+4){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- else{
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 'j':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if( i!= topOrBot+3 && i !=topOrBot+4){
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if(i==topOrBot+4){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- }
- break;
- case 'k':
- for(int i = topOrBot;i<topOrBot+5;i++){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- if(i ==topOrBot||i==topOrBot+4)
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- else if(i ==topOrBot+1||i==topOrBot+3){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- }
- break;
- case 'l':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i!=topOrBot+4){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- else{
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 'm':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i !=topOrBot&&i!=topOrBot+1){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if (i == topOrBot+1){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- }
- break;
- case 'n':
- for(int i = topOrBot;i<topOrBot+5;i++){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+i-topOrBot]].setRGB(r,g,b);
- }
- break;
- case 'o':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot ||i==topOrBot+4){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'p':
- for(int i = topOrBot;i<topOrBot+5;i++){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- if(i ==topOrBot||i==topOrBot+2){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if (i ==topOrBot+1)
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- break;
- case 'q':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else if(i ==topOrBot+4)
- {
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if (i == topOrBot+3){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else if (i == topOrBot+2){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'r':
- for(int i = topOrBot;i<topOrBot+5;i++){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- if(i ==topOrBot||i==topOrBot+2){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i==topOrBot+3){
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- break;
- case 's':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i==topOrBot){
- for(int j = startPos+1;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i==topOrBot+1){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- }
- else if(i==topOrBot+2){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if(i==topOrBot+3){
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if(i==topOrBot+4){
- for(int j = startPos;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 't':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i !=topOrBot){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- else{
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- }
- break;
- case 'u':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i==topOrBot+4){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else{
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'v':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i!=topOrBot+4&&i!=topOrBot+3){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if (i ==topOrBot+3){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else{
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- }
- break;
- case 'w':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot+4){
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- }
- else if(i !=topOrBot+3 && i !=topOrBot+2){
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else {
- leds[allLEDS[i][startPos]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- }
- break;
- case 'x':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot||i==topOrBot+4){
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+0]].setRGB(r,g,b);
- }
- else if(i ==topOrBot+1 || i ==topOrBot+3){
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else {
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- }
- break;
- case 'y':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot){
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+0]].setRGB(r,g,b);
- }
- else if(i ==topOrBot+1){
- leds[allLEDS[i][startPos+1]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else {
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- }
- break;
- case 'z':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot||i==topOrBot+4){
- for(int j = startPos;j<startPos+5;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else {
- leds[allLEDS[i][startPos+4-(i-topOrBot)]].setRGB(r,g,b);
- }
- }
- break;
- case '!':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i!=topOrBot+3)
- {
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- }
- break;
- case '?':
- for(int i = topOrBot;i<topOrBot+5;i++){
- if(i ==topOrBot){
- for(int j = startPos+1;j<startPos+4;j++)
- {
- leds[allLEDS[i][j]].setRGB(r,g,b);
- }
- }
- else if (i ==topOrBot+1){
- leds[allLEDS[i][startPos+4]].setRGB(r,g,b);
- }
- else if(i == topOrBot+2){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- leds[allLEDS[i][startPos+3]].setRGB(r,g,b);
- }
- else if (i!= topOrBot+3){
- leds[allLEDS[i][startPos+2]].setRGB(r,g,b);
- }
- }
- break;
- }
- }
- [/code]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement