Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //This is a computer lighting program, it controls 12 fan mounted LED's plus 30 window mounted LEDs on a strip called WS2812-B's, it's controlled by an arduino nano. Notes about the program. White is all values equal at about 15% power, Light has an exponential relationship, and so any gradients appear hyperbolic, lowering the numbers to so low makes gradients appear somewhat linear. Basically this display will show 2 colours at once in various forms. There are 4 colour presets, and 4 buttons. the first 2 colours are custom and saved into EEPROM, 3rd colour is white, 4th is black/off. Button 1 is basically imagined to have a "<" symbol on it, 2 is "c" and 3 is ">", hitting any 2 buttons allows us to customise the colours, hitting < makes it less white, and > makes it more white, c will pause and then hitting < will save into position 1 and > will save into position 2. Button 4 turns everything off and cycles until button 2 is pressed (I wanted to use 4 but it became finicky with release times). The program mostly works by shuffling around arrays and as such a few global arrays exist. all functions work and compiling is fine. The program uses approx 60% of storage, 0.5% of EEPROM, Globals consume 25% of RAM. The most RAM intense function should be 'Attack()' [I named things the first thing that came to my mind to describe things, changing my mind might just confuse me down the line, don't mock me]. Only issue is if there's more ways to make it more efficient, or I have some bad logic.
- #include <Arduino.h>
- #include<Tlc5940.h>
- #include <FastLED.h>
- #include <EEPROM.h>
- #define NUM_LEDS 30
- #define DATA_PIN 8
- const int button1 = 4;
- const int button2 = 5;
- const int button3 = 6;
- const int button4 = 7;
- CRGB leds[NUM_LEDS];
- int first = 0; //these three ints determine the colours put into a mode and what colours that mode will make
- int second = 3;
- int mode = 1;
- int RedSelect[] = {0, 0, 30, 0};
- int GreenSelect[] = {0, 0, 30, 0};
- int BlueSelect[] = {0, 0, 30, 0}; // initiallising the 3 arrays that determine the 4 colours, 3 and 4 are defaults, 1 and 2 get set in setup/colourset.
- int Primary[3];
- int Secondary[3];
- int RedOut[42] = { 0 };
- int BlueOut[42] = { 0 };
- int GreenOut[42] = { 0 };
- void setup() {
- FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
- pinMode(button1, INPUT);
- pinMode(button2, INPUT);
- pinMode(button3, INPUT);
- pinMode(button4, INPUT);
- RedSelect[0] = EEPROM.read(1);
- GreenSelect[0] = EEPROM.read(2);
- BlueSelect[0] = EEPROM.read(3);
- RedSelect[1] = EEPROM.read(4);
- GreenSelect[1] = EEPROM.read(5);
- BlueSelect[1] = EEPROM.read(6);
- Tlc.init(0);
- }
- void loop() {
- Primary[0] = RedSelect[first];
- Secondary[0] = RedSelect[second]; //associates values with arrays to define colour mode
- Primary[1] = GreenSelect[first];
- Secondary[1] = GreenSelect[second];
- Primary[2] = BlueSelect[first];
- Secondary[2] = BlueSelect[second];
- int action = 0;
- switch ( mode ) { //mode control menu
- case 1:
- action = Static();
- break;
- case 2:
- action = HoriGrad();
- break;
- case 3:
- action = VertiGrad();
- break;
- case 4:
- action = Pulse();
- break;
- case 5:
- action = Attack();
- break;
- case 6:
- action = Chase();
- break;
- }
- delay(300);
- switch ( action ) { //the button controls
- case 0:
- break;
- case 1:
- mode--;
- if (mode <= 0) {
- mode = 6;
- }
- break;
- case 2:
- colourhop();
- break;
- case 3:
- colourset();
- break;
- case 4:
- mode++;
- if (mode > 6) {
- mode = 1;
- } //menu loop
- break;
- case 5:
- colourset();
- break;
- case 6:
- colourset();
- break;
- case 7:
- break;
- colourset();
- default:
- break;
- }
- }
- void colourset() { //cycles through colours til one is selected completed
- int reddir = 1;
- int greendir = 0;
- int bluedir = -1;
- int i = 0;
- int red = 220;
- int green = 0;
- int blue = 0;
- boolean flag = true;
- int swap = 0;
- do {
- if (red == 220) {
- reddir = -1;
- bluedir = 1;
- greendir = 0;
- blue = 0;
- green = 0;
- }
- if (blue == 220) {
- bluedir = -1;
- greendir = 1;
- red = 0;
- green = 0;
- reddir = 0;
- }
- if (green == 220) {
- greendir = -1;
- reddir = 1;
- red = 0;
- blue = 0;
- bluedir = 0;
- }
- red = red + reddir;
- blue = blue + bluedir;
- green = green + greendir;
- int outred = i + red;
- int outblue = i + blue;
- int outgreen = i + green;
- GlobalSet(outred, outgreen, outblue);
- delay(10);
- int operate = buttoncheck();
- if (operate == 1 && i >= 0) {
- i = i - 1;
- delay(40);
- }
- if (operate == 4 && i <= 30) {
- i++;
- delay(40);
- }
- if (operate == 7) {
- flag = false;
- }
- if (operate == 2) {
- delay(350);
- boolean repflag = true;
- do {
- int choice = buttoncheck();
- if (choice == 1) {
- repflag = false;
- flag = false;
- EEPROM.write(1, outred);
- EEPROM.write(2, outgreen);
- EEPROM.write(3, outblue);
- RedSelect[0] = outred;
- GreenSelect[0] = outgreen;
- BlueSelect[0] = outblue;
- first = 0;
- second = 2;
- }
- if (choice == 4) {
- repflag = false;
- flag = false;
- EEPROM.write(4, outred);
- EEPROM.write(5, outgreen);
- EEPROM.write(6, outblue);
- RedSelect[1] = outred;
- GreenSelect[1] = outgreen;
- BlueSelect[1] = outblue;
- first = 1;
- second = 2;
- }
- if (choice == 2) {
- repflag = false;
- }
- delay(500);
- } while (repflag = true);
- }
- } while (flag = true);
- return;
- }
- int Static() { //outputs a static colour into every value
- int out = 0;
- GlobalSet(Primary[0], Primary [1], Primary [2]);
- do {
- out = buttoncheck();
- delay(400);
- } while (out == 0);
- return (out);
- }
- int HoriGrad() { //horizontal gradient - completed
- int AllReds[] = {Primary[0], Primary[0] * 0.9 + Secondary[0] * 0.1, Primary[0] * 0.8 + Secondary[0] * 0.2, Primary[0] * 0.7 + Secondary[0] * 0.3, Primary[0] * 0.6 + Secondary[0] * 0.4, Primary[0] * 0.5 + Secondary[0] * 0.5, Primary[0] * 0.4 + Secondary[0] * 0.6, Primary[0] * 0.3 + Secondary[0] * 0.7, Primary[0] * 0.2 + Secondary[0] * 0.8, Primary[0] * 0.1 + Secondary[0] * 0.9,
- Secondary[0]
- };
- int AllGreens[] = {Primary[1], Primary[1] * 0.9 + Secondary[1] * 0.1, Primary[1] * 0.8 + Secondary[1] * 0.2, Primary[1] * 0.7 + Secondary[1] * 0.3, Primary[1] * 0.6 + Secondary[1] * 0.4, Primary[1] * 0.5 + Secondary[1] * 0.5, Primary[1] * 0.4 + Secondary[1] * 0.6, Primary[1] * 0.3 + Secondary[1] * 0.7, Primary[1] * 0.2 + Secondary[1] * 0.8, Primary[1] * 0.1 + Secondary[1] * 0.9,
- Secondary[1]
- };
- int AllBlues[] = {Primary[2], Primary[2] * 0.9 + Secondary[2] * 0.1, Primary[2] * 0.8 + Secondary[2] * 0.2, Primary[2] * 0.7 + Secondary[2] * 0.3, Primary[2] * 0.6 + Secondary[2] * 0.4, Primary[2] * 0.5 + Secondary[2] * 0.5, Primary[2] * 0.4 + Secondary[2] * 0.6, Primary[2] * 0.3 + Secondary[2] * 0.7, Primary[2] * 0.2 + Secondary[2] * 0.8, Primary[2] * 0.1 + Secondary[2] * 0.9,
- Secondary[2]
- };
- int tempyRed[42] = {AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[1], AllReds[2], AllReds[3], AllReds[4], AllReds[5], AllReds[5], AllReds[6], AllReds[7], AllReds[8], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[8], AllReds[7], AllReds[6], AllReds[5], AllReds[5], AllReds[4], AllReds[3], AllReds[2], AllReds[1], AllReds[0]};
- int tempyGreen[42] = {AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[1], AllGreens[2], AllGreens[3], AllGreens[4], AllGreens[5], AllGreens[5], AllGreens[6], AllGreens[7], AllGreens[8], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[8], AllGreens[7], AllGreens[6], AllGreens[5], AllGreens[5], AllGreens[4], AllGreens[3], AllGreens[2], AllGreens[1], AllGreens[0]};
- int tempyBlue[42] = {AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[1], AllBlues[2], AllBlues[3], AllBlues[4], AllBlues[5], AllBlues[5], AllBlues[6], AllBlues[7], AllBlues[8], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[8], AllBlues[7], AllBlues[6], AllBlues[5], AllBlues[5], AllBlues[4], AllBlues[3], AllBlues[2], AllBlues[1], AllBlues[0]};
- for (int count = 0; count < 42; count++) {
- RedOut[count] = tempyRed[count];
- GreenOut[count] = tempyGreen[count];
- BlueOut[count] = tempyBlue[count];
- }
- DisplayArrays();
- int out = 0;
- do {
- out = buttoncheck();
- delay(100);
- } while (out == 0);
- return (out);
- }
- int Chase() {
- GlobalSet(Secondary[0], Secondary[1], Secondary[2]);
- RedOut[0] = Primary[0];
- GreenOut[0] = Primary[1];
- BlueOut[0] = Primary[2];
- int out = 0;
- do {
- DisplayArrays();
- int swap[3] = {RedOut[41], GreenOut[41], BlueOut[41]};
- for (int count = 41; count > 0; count--) {
- RedOut[count] = RedOut[count - 1];
- GreenOut[count] = GreenOut[count - 1];
- BlueOut[count] = BlueOut[count - 1];
- }
- RedOut[0] = swap[0];
- GreenOut[0] = swap[1];
- BlueOut[0] = swap[2];
- delay(50);
- out = buttoncheck();
- } while (out == 0);
- return (out);
- }
- int VertiGrad() { //verticle gradient - completed
- int AllReds[] = {Primary[0], Primary[0] * 0.9 + Secondary[0] * 0.1, Primary[0] * 0.8 + Secondary[0] * 0.2, Primary[0] * 0.7 + Secondary[0] * 0.3, Primary[0] * 0.6 + Secondary[0] * 0.4, Primary[0] * 0.5 + Secondary[0] * 0.5, Primary[0] * 0.4 + Secondary[0] * 0.6, Primary[0] * 0.3 + Secondary[0] * 0.7, Primary[0] * 0.2 + Secondary[0] * 0.8, Primary[0] * 0.1 + Secondary[0] * 0.9,
- Secondary[0]
- };
- int AllGreens[] = {Primary[1], Primary[1] * 0.9 + Secondary[1] * 0.1, Primary[1] * 0.8 + Secondary[1] * 0.2, Primary[1] * 0.7 + Secondary[1] * 0.3, Primary[1] * 0.6 + Secondary[1] * 0.4, Primary[1] * 0.5 + Secondary[1] * 0.5, Primary[1] * 0.4 + Secondary[1] * 0.6, Primary[1] * 0.3 + Secondary[1] * 0.7, Primary[1] * 0.2 + Secondary[1] * 0.8, Primary[1] * 0.1 + Secondary[1] * 0.9,
- Secondary[1]
- };
- int AllBlues[] = {Primary[2], Primary[2] * 0.9 + Secondary[2] * 0.1, Primary[2] * 0.8 + Secondary[2] * 0.2, Primary[2] * 0.7 + Secondary[2] * 0.3, Primary[2] * 0.6 + Secondary[2] * 0.4, Primary[2] * 0.5 + Secondary[2] * 0.5, Primary[2] * 0.4 + Secondary[2] * 0.6, Primary[2] * 0.3 + Secondary[2] * 0.7, Primary[2] * 0.2 + Secondary[2] * 0.8, Primary[2] * 0.1 + Secondary[2] * 0.9,
- Secondary[2]
- };
- int tempyRed[42] = {AllReds[1], AllReds[2], AllReds[3], AllReds[4], AllReds[5], AllReds[6], AllReds[7], AllReds[8], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[8], AllReds[8], AllReds[8], AllReds[8], AllReds[7], AllReds[6], AllReds[5], AllReds[4], AllReds[3], AllReds[2], AllReds[1], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0]};
- int tempyGreen[42] = {AllGreens[1], AllGreens[2], AllGreens[3], AllGreens[4], AllGreens[5], AllGreens[6], AllGreens[7], AllGreens[8], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[8], AllGreens[8], AllGreens[8], AllGreens[8], AllGreens[7], AllGreens[6], AllGreens[5], AllGreens[4], AllGreens[3], AllGreens[2], AllGreens[1], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0]};
- int tempyBlue[42] = {AllBlues[1], AllBlues[2], AllBlues[3], AllBlues[4], AllBlues[5], AllBlues[6], AllBlues[7], AllBlues[8], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[8], AllBlues[8], AllBlues[8], AllBlues[8], AllBlues[7], AllBlues[6], AllBlues[5], AllBlues[4], AllBlues[3], AllBlues[2], AllBlues[1], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0]};
- for (int count = 0; count < 42; count++) {
- RedOut[count] = tempyRed[count];
- GreenOut[count] = tempyGreen[count];
- BlueOut[count] = tempyBlue[count];
- }
- DisplayArrays();
- int out = 0;
- do {
- out = buttoncheck();
- delay(100);
- } while (out == 0);
- return (out);
- }
- int Attack() { //horigrad moving - Completed
- int AllReds[10] = {Primary[0], Primary[0] * 0.75 + Secondary[0] * 0.25, Primary[0] * 0.5 + Secondary[0] * 0.5, Primary[0] * 0.25 + Secondary[0] * 0.75, Secondary[0], Secondary[0], Secondary[0], Secondary[0], Secondary[0], Secondary[0]};
- int AllGreens[10] = {Primary[1], Primary[1] * 0.75 + Secondary[1] * 0.25, Primary[1] * 0.5 + Secondary[1] * 0.5, Primary[1] * 0.25 + Secondary[1] * 0.75, Secondary[1], Secondary[1], Secondary[1], Secondary[1], Secondary[1], Secondary[1]};
- int AllBlues[10] = {Primary[2], Primary[2] * 0.75 + Secondary[2] * 0.25, Primary[2] * 0.5 + Secondary[2] * 0.5, Primary[2] * 0.25 + Secondary[2] * 0.75, Secondary[2], Secondary[2], Secondary[2], Secondary[2], Secondary[2], Secondary[2]};
- int out = 0;
- do {
- int tempyRed[42] = {AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[0], AllReds[1], AllReds[2], AllReds[3], AllReds[4], AllReds[5], AllReds[5], AllReds[6], AllReds[7], AllReds[8], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[9], AllReds[8], AllReds[7], AllReds[6], AllReds[5], AllReds[5], AllReds[4], AllReds[3], AllReds[2], AllReds[1], AllReds[0]};
- int tempyGreen[42] = {AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[0], AllGreens[1], AllGreens[2], AllGreens[3], AllGreens[4], AllGreens[5], AllGreens[5], AllGreens[6], AllGreens[7], AllGreens[8], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[9], AllGreens[8], AllGreens[7], AllGreens[6], AllGreens[5], AllGreens[5], AllGreens[4], AllGreens[3], AllGreens[2], AllGreens[1], AllGreens[0]};
- int tempyBlue[42] = {AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[0], AllBlues[1], AllBlues[2], AllBlues[3], AllBlues[4], AllBlues[5], AllBlues[5], AllBlues[6], AllBlues[7], AllBlues[8], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[9], AllBlues[8], AllBlues[7], AllBlues[6], AllBlues[5], AllBlues[5], AllBlues[4], AllBlues[3], AllBlues[2], AllBlues[1], AllBlues[0]};
- for (int count = 0; count < 42; count++) {
- RedOut[count] = tempyRed[count];
- GreenOut[count] = tempyGreen[count];
- BlueOut[count] = tempyBlue[count];
- }
- int swap[3] = {AllReds[9], AllGreens[9], AllBlues[9]};
- for (int count = 9; count > 0; count--) {
- AllReds[count] = AllReds[count - 1];
- AllGreens[count] = AllGreens[count - 1];
- AllBlues[count] = AllBlues[count - 1];
- }
- AllReds[0] = swap[0];
- AllGreens[0] = swap[1];
- AllBlues[0] = swap[2];
- DisplayArrays();
- out = buttoncheck();
- delay(40);
- } while (out == 0);
- return (out);
- }
- int Pulse() { //swaps between the two colours back and fourt in incriments -Completed
- int out = 0;
- int count = 0;
- int invert = 0;
- boolean Rising = true;
- float tempr = 0;
- float tempg = 0;
- float tempb = 0;
- int r, b, g;
- do {
- if (Rising) {
- if (count < 100) {
- count++;
- invert = 100 - count;
- tempr = (((Primary[0] * count) + (Secondary[0] * invert)) / 100);
- tempb = (((Primary[2] * count) + (Secondary[2] * invert)) / 100);
- tempg = (((Primary[1] * count) + (Secondary[1] * invert)) / 100);
- }
- else {
- Rising = false;
- }
- }
- if (Rising = false) {
- if ( count > 0 ) {
- count--;
- invert = 100 - count;
- tempr = (((Primary[0] * count) + (Secondary[0] * invert)) / 100);
- tempb = (((Primary[2] * count) + (Secondary[2] * invert)) / 100);
- tempg = (((Primary[1] * count) + (Secondary[1] * invert)) / 100);
- }
- else {
- Rising = true;
- }
- }
- out = buttoncheck();
- r = int(tempr);
- b = int(tempb);
- g = int(tempg);
- GlobalSet(r, g, b);
- delay(20);
- } while (out == 0);
- return (out);
- }
- void colourhop() { //shuffles the colours, completed
- first++;
- if (first == second) {
- first++;
- }
- if (first == 4) {
- first = 0;
- second ++;
- }
- if (second == 4) {
- second = 0;
- }
- if (second == first) {
- second++;
- }
- }
- void GlobalSet(int red, int green, int blue) {
- for (int count = 0; count < 42; count++) {
- RedOut[count] = red;
- GreenOut[count] = green;
- BlueOut[count] = blue;
- }
- DisplayArrays();
- return;
- }
- int buttoncheck() { //returns a value between 0-7 (3 binary) completed
- int out = 0;
- if (digitalRead(button1) == HIGH) {
- out = out + 1;
- }
- if (digitalRead(button2) == HIGH) {
- out = out + 2;
- }
- if (digitalRead(button3) == HIGH) {
- out = out + 4;
- }
- if (digitalRead(button4) == HIGH) { //button 4 is like a sleep button
- GlobalSet(0 , 0 , 0);
- out = 10;
- while (digitalRead(button2 == LOW)){
- delay(400);
- }
- }
- return (out);
- }
- void Tlcdo(int addr, int powr) { //roughly changes range from 0-255 to 0-4095, exact numbers don't matter much
- int temp = powr * 16;
- Tlc.set(addr, temp);
- return;
- }
- void DisplayArrays() { //turns arrays into actions completed
- int WS = 0; //number for the LED position, the LED is called a WS2812B.
- for (int count = 8; count < 42; count++) {
- if (count == 18) {
- count = count + 4; //lumps the 30 LED's together, and this lets me skip over the fan in the back
- }
- leds[WS].r = RedOut[count];
- leds[WS].g = GreenOut[count];
- leds[WS].b = BlueOut[count];
- WS++;
- }
- FastLED.show();
- Tlcdo(1, BlueOut[0]);
- Tlcdo(2, GreenOut[0]);
- Tlcdo(3, RedOut[0]);
- Tlcdo(4, BlueOut[1]);
- Tlcdo(5, GreenOut[1]);
- Tlcdo(6, RedOut[1]);
- Tlcdo(7, BlueOut[2]);
- Tlcdo(8, GreenOut[2]);
- Tlcdo(9, RedOut[2]);
- Tlcdo(10, BlueOut[3]);
- Tlcdo(11, GreenOut[3]);
- Tlcdo(12, RedOut[3]);
- Tlcdo(17, BlueOut[4]);
- Tlcdo(18, GreenOut[4]);
- Tlcdo(19, RedOut[4]);
- Tlcdo(20, BlueOut[5]);
- Tlcdo(21, GreenOut[5]);
- Tlcdo(22, RedOut[5]);
- Tlcdo(23, BlueOut[6]);
- Tlcdo(24, GreenOut[6]);
- Tlcdo(25, RedOut[6]);
- Tlcdo(26, BlueOut[7]);
- Tlcdo(27, GreenOut[7]);
- Tlcdo(28, RedOut[7]);
- Tlcdo(33, BlueOut[18]);
- Tlcdo(34, GreenOut[18]);
- Tlcdo(35, RedOut[18]);
- Tlcdo(36, BlueOut[19]);
- Tlcdo(37, GreenOut[19]);
- Tlcdo(38, RedOut[19]);
- Tlcdo(39, BlueOut[20]);
- Tlcdo(40, GreenOut[20]);
- Tlcdo(41, RedOut[20]);
- Tlcdo(42, BlueOut[21]);
- Tlcdo(43, GreenOut[21]);
- Tlcdo(44, RedOut[21]);
- Tlc.update();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement