Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« on: August 08, 2011, 12:39:06 pm » |
The project I am trying to complete is to have a set of shiftbrites (currently just 10) change from red to blue in sequence. They need to all start out being RED then slowly change to BLUE but only 1 at a time as they work down the chain, and as it works down the chain the upper most LEDs will go out. Kind of hard to explain. Basically I want to create the effect of a GAS (RED) being compressed to a liquid (BLUE) and make it look as if there is a "plunger" of some sort above it pushing it down (compressing it). Ending at 2 LEDS showing bright BLUE with the plunger (white or black or brown..does not matter) sitting right above it. I started with the code used for the ShiftBrite Knight Rider @ http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1217291822/27#27The code change was easy to just get the red and blue but beyond that I'm lost. I am new to this and have ordered 2 Arduino books as well as looking everywhere to learn. All help greatly appreciated as this is a project for work they expect me to get done knowing I have never done this type of work before. THANKS!
|
|
|
|
« Last Edit: August 08, 2011, 01:50:51 pm by ibourdon »
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #1 on: August 08, 2011, 02:44:07 pm » |
Is what I am trying to accomplish to difficult with this setup?
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Online
Brattain Member
Karma: 277
Posts: 25553
Solder is electric glue
|
 |
« Reply #2 on: August 08, 2011, 03:33:55 pm » |
Is what I am trying to accomplish to difficult with this setup? A change in the setup is not going to make it any easier. You have two choices when it comes to sequences like this. The first one is to work out what you need to do for every step and implement it problematically. So each step in the fade sequence needs to be created by some sort of algorithm. The second one is to work out what you need to do for every step and implement it by means of a look up table, that is to say a pre defined array that you keep reading the values out of and sending to all the light modules. It's not one of those things some one is going to write for you, you will have to learn how to program.
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #3 on: August 08, 2011, 06:48:34 pm » |
I don't necessarily want any one to write it for me but I would like a little guidance on how to write the code to control each individual shiftbrite module in the chain. Do I use a variation of shiftout() to identify each shiftbrite? How can I tell the 2nd shiftbrite to turn black while at the same time be telling the 9th & 10th shiftbrites to turn blue, while the ones inbetween stay red?
I guess I just need direction on how to implement this. I am new to this, though I do have some experience programming in c++.
|
|
|
|
« Last Edit: August 08, 2011, 06:50:26 pm by ibourdon »
|
Logged
|
|
|
|
|
SF Bay Area
Offline
Edison Member
Karma: 6
Posts: 1215
Arduino Ninja
|
 |
« Reply #4 on: August 08, 2011, 07:28:25 pm » |
If you check the code examples you can see that you don't even have to worry about how to tell each ShiftBrite to be a specific color. There's an array that holds all the RGB values and there's a WriteLEDArray() function that already does everything for you, when you want to update the actual LEDs with the contents array you have in memory. All you need to do is arbitrarily write any pixels with any colors you want, and then call the WriteLEDArray() function.
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #5 on: August 15, 2011, 04:02:13 pm » |
Thanks for the help. I started with a basic sketch to get the colors to change how I need them. I have not simplified the code yet as I would like to get this to work exactly as needed before I try to condense the code. Here is my code as of now ( WITHOUT LOOP() )... Could some one guide me on adding a fade effect to the arrays I have so that the colors transition smoothly? const int clockpin = 13; // DI const int enablepin = 10; // LI const int latchpin = 9; // EI const int datapin = 11; // CI
const int NumLEDs = 10; // Number of LEDs in chain int fade = 64; int LEDChannels[NumLEDs][3] = {0}; int SB_CommandMode; int SB_RedCommand; int SB_GreenCommand; int SB_BlueCommand; void setup() { pinMode(datapin, OUTPUT); pinMode(latchpin, OUTPUT); pinMode(enablepin, OUTPUT); pinMode(clockpin, OUTPUT); SPCR = (1<<SPE)|(1<<MSTR)|(0<<SPR1)|(0<<SPR0); digitalWrite(latchpin, LOW); digitalWrite(enablepin, LOW); } void SB_SendPacket() { if (SB_CommandMode == B01) { SB_RedCommand = 120; SB_GreenCommand = 100; SB_BlueCommand = 100; } SPDR = SB_CommandMode << 6 | SB_BlueCommand>>4; while(!(SPSR & (1<<SPIF))); SPDR = SB_BlueCommand<<4 | SB_RedCommand>>6; while(!(SPSR & (1<<SPIF))); SPDR = SB_RedCommand << 2 | SB_GreenCommand>>8; while(!(SPSR & (1<<SPIF))); SPDR = SB_GreenCommand; while(!(SPSR & (1<<SPIF))); } void WriteLEDArray() { SB_CommandMode = B00; // Write to PWM control registers for (int h = 0;h<NumLEDs;h++) { SB_RedCommand = LEDChannels[h][0]; SB_GreenCommand = LEDChannels[h][1]; SB_BlueCommand = LEDChannels[h][2]; SB_SendPacket(); } delayMicroseconds(15); digitalWrite(latchpin,HIGH); // latch data into registers delayMicroseconds(15); digitalWrite(latchpin,LOW); SB_CommandMode = B01; // Write to current control registers for (int z = 0; z < NumLEDs; z++) SB_SendPacket(); delayMicroseconds(15); digitalWrite(latchpin,HIGH); // latch data into registers delayMicroseconds(15); digitalWrite(latchpin,LOW); } //void Fade(int Steps) //This is the start of fade code I was trying to write. //{ //if (Steps >= 0) { // return 64[Steps]; // } else if (Steps <= 0) { // return 1023; // } // else if (Steps >= 1023) { // return 0; // }
|
|
|
|
« Last Edit: August 15, 2011, 04:09:47 pm by ibourdon »
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #6 on: August 15, 2011, 04:03:14 pm » |
Here is the loop() section void loop() { //1 LEDChannels[0][0] = 1023; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 1023; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 1023; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 1023; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 1023; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 1023; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 1023; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 1023; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 1023; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 1023; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //2 LEDChannels[0][0] = 200; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 500; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 700; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 1023; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 1023; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 1023; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 1023; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 1023; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 900; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 900; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //3 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 200; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 500; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 700; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 1023; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 1023; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 1023; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 1023; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 900; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 700; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //4 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 200; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 500; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 700; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 900; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 900; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 800; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 700; LEDChannels[8][1] = 0; LEDChannels[8][2] = 00; LEDChannels[9][0] = 500; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //5 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 200; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 500; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 700; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 700; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 700; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 500; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 300; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //6 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 0; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 200; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 500; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 500; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 300; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 200; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 100; LEDChannels[9][1] = 0; LEDChannels[9][2] = 0; WriteLEDArray(); delay(200); //7 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 0; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 0; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 200; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 300; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 200; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 100; LEDChannels[8][1] = 0; LEDChannels[8][2] = 0; LEDChannels[9][0] = 0; LEDChannels[9][1] = 250; LEDChannels[9][2] = 350; WriteLEDArray(); delay(200); //8 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 0; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 0; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 0; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 350; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 250; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 0; LEDChannels[8][1] = 250; LEDChannels[8][2] = 350; LEDChannels[9][0] = 0; LEDChannels[9][1] = 0; LEDChannels[9][2] = 800; WriteLEDArray(); delay(200); //9 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 0; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 0; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 0; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 0; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 0; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 0; LEDChannels[8][1] = 300; LEDChannels[8][2] = 420; LEDChannels[9][0] = 0; LEDChannels[9][1] = 0; LEDChannels[9][2] = 1023; WriteLEDArray(); delay(200); //10 LEDChannels[0][0] = 0; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 0; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0; LEDChannels[2][0] = 0; LEDChannels[2][1] = 0; LEDChannels[2][2] = 0; LEDChannels[3][0] = 0; LEDChannels[3][1] = 0; LEDChannels[3][2] = 0; LEDChannels[4][0] = 0; LEDChannels[4][1] = 0; LEDChannels[4][2] = 0; LEDChannels[5][0] = 0; LEDChannels[5][1] = 0; LEDChannels[5][2] = 0; LEDChannels[6][0] = 0; LEDChannels[6][1] = 0; LEDChannels[6][2] = 0; LEDChannels[7][0] = 0; LEDChannels[7][1] = 0; LEDChannels[7][2] = 0; LEDChannels[8][0] = 0; LEDChannels[8][1] = 0; LEDChannels[8][2] = 1023; LEDChannels[9][0] = 0; LEDChannels[9][1] = 0; LEDChannels[9][2] = 1023; WriteLEDArray(); delay(800); }
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Online
Brattain Member
Karma: 277
Posts: 25553
Solder is electric glue
|
 |
« Reply #7 on: August 15, 2011, 04:38:47 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #8 on: August 15, 2011, 04:59:43 pm » |
Thanks for the link, I have implemented the fadeall() function but still can't get that smooth transition. I will play with it. Thanks
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #9 on: August 17, 2011, 01:42:34 pm » |
I can't seem to get this to function, I keep getting: fadetest.cpp: In function 'void loop()': fadetest:102: error: invalid conversion from 'void (*)(int)' to 'int' What am I doing wrong here? void fade(int Steps) { if (Steps >= 0) { Steps = 64; } else if (Steps <= 0) { Steps = 1023; } else if (Steps >= 1023) { Steps = 0; } }
void loop() { //1 LEDChannels[0][0] = fade; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; LEDChannels[1][0] = 1023; LEDChannels[1][1] = 0; LEDChannels[1][2] = 0;
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Online
Brattain Member
Karma: 277
Posts: 25553
Solder is electric glue
|
 |
« Reply #10 on: August 17, 2011, 03:42:45 pm » |
You need to post the bit of the code that gives the error. That is where you are trying to call that function.
It sounds like you are not using the right argument to pass to the function.
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #11 on: August 17, 2011, 05:24:57 pm » |
The most recent code I posted is giving me the error.
This line particularly: LEDChannels[0][0] = fade; LEDChannels[0][1] = 0; LEDChannels[0][2] = 0; ... ...There are 10 LEDs worth of code, I just omitted all those.. ... WriteLEDArray();
fadetest.cpp: In function 'void loop()': fadetest:102: error: invalid conversion from 'void (*)(int)' to 'int'
If I pass that line a variable, i.e.. LEDChannels[0][0] = fade(65);
The code will compile correctly but It does not fade.. Think I'm going about this a**backwards...
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Online
Brattain Member
Karma: 277
Posts: 25553
Solder is electric glue
|
 |
« Reply #12 on: August 18, 2011, 10:29:41 pm » |
Well that last code you posted makes no sense at all. 1) You can't assign a function to a variable. so writing LEDChannels[0][0] = fade(65); simply sets LEDChannels[0][0] to the value returned by the fade function. The function is defined as void which means it doesn't return a value anyway. 2) That fade() function doesn't do anything anyway. The code will compile correctly but It does not fade That is because you are not doing any fading at all. To fade you need to 1) write the brightness values into the LEDChannels array. 2) call the WriteLEDArray(); 3) delay for some time to allow you to see that brightness 4) change the value and go back to 1 This needs to be in a loop that repeats until the fade is done.
|
|
|
|
« Last Edit: August 20, 2011, 03:49:17 am by Grumpy_Mike »
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #13 on: August 19, 2011, 03:13:55 pm » |
Well that makes sense. Thanks for the help. I will eventually figure it out.
|
|
|
|
|
Logged
|
|
|
|
|
Texas
Offline
Jr. Member
Karma: 0
Posts: 69
Lost in SPI FADE land
|
 |
« Reply #14 on: August 25, 2011, 03:33:44 pm » |
I'm still lost here and have been looking through every fade sketch I can find that involves shiftbrites. I think its the SPI interface that is boggling me. I have my sketch (without fading) setup how it needs to be. (Thanks to robtillaart & Grumpy_Mike) But even looking at all the examples I have come across I don't know how to implement the fade as I need it. yes I can make the shiftbrites fade to different colors but only all at once, not individually fade to different colors at the same time. I know its nobody's job on here to do this for me but I'm stumped and have been with this part for a while now. Here is the current code. (Which all fits in one post now, YAY!) //LNG Lighting const int clockpin = 13; // DI const int enablepin = 10; // LI const int latchpin = 9; // EI const int datapin = 11; // CI
const int NumLEDs = 10; // Number of LEDs in chain int LEDChannels[NumLEDs][3] = {0}; int SB_CommandMode; int SB_RedCommand; int SB_GreenCommand; int SB_BlueCommand; void setup() { pinMode(datapin, OUTPUT); pinMode(latchpin, OUTPUT); pinMode(enablepin, OUTPUT); pinMode(clockpin, OUTPUT); SPCR = (1<<SPE)|(1<<MSTR)|(0<<SPR1)|(0<<SPR0); digitalWrite(latchpin, LOW); digitalWrite(enablepin, LOW); } void SB_SendPacket() { if (SB_CommandMode == B01) { SB_RedCommand = 120; SB_GreenCommand = 100; SB_BlueCommand = 127; } SPDR = SB_CommandMode << 6 | SB_BlueCommand>>4; while(!(SPSR & (1<<SPIF))); SPDR = SB_BlueCommand<<4 | SB_RedCommand>>6; while(!(SPSR & (1<<SPIF))); SPDR = SB_RedCommand << 2 | SB_GreenCommand>>8; while(!(SPSR & (1<<SPIF))); SPDR = SB_GreenCommand; while(!(SPSR & (1<<SPIF))); } void WriteLEDArray() { SB_CommandMode = B00; // Write to PWM control registers for (int h = 0;h<NumLEDs;h++) { SB_RedCommand = LEDChannels[h][0]; SB_GreenCommand = LEDChannels[h][1]; SB_BlueCommand = LEDChannels[h][2]; SB_SendPacket(); } delayMicroseconds(15); digitalWrite(latchpin,HIGH); // latch data into registers delayMicroseconds(15); digitalWrite(latchpin,LOW); SB_CommandMode = B01; // Write to current control registers for (int z = 0; z < NumLEDs; z++) SB_SendPacket(); delayMicroseconds(15); digitalWrite(latchpin,HIGH); // latch data into registers delayMicroseconds(15); digitalWrite(latchpin,LOW); }
void loop() { //1 for (int i=0; i<10; i++) { LEDChannels[i][0] = 1023; LEDChannels[i][1] = 0; LEDChannels[i][2] = 0; } WriteLEDArray(); delay(200); //2 LEDChannels[0][0] = 200; LEDChannels[1][0] = 500; LEDChannels[2][0] = 700; LEDChannels[8][0] = 900; LEDChannels[9][0] = 900;
WriteLEDArray(); delay(200); //3 LEDChannels[0][0] = 0; LEDChannels[1][0] = 200; LEDChannels[2][0] = 500; LEDChannels[3][0] = 700; LEDChannels[8][0] = 900; LEDChannels[9][0] = 700; WriteLEDArray(); delay(200); //4 LEDChannels[2][0] = 200; LEDChannels[3][0] = 500; LEDChannels[4][0] = 700; LEDChannels[5][0] = 900; LEDChannels[6][0] = 900; LEDChannels[7][0] = 800; LEDChannels[8][0] = 700; LEDChannels[9][0] = 500;
WriteLEDArray(); delay(200); //5 LEDChannels[1][0] = 0; LEDChannels[2][0] = 0; LEDChannels[3][0] = 200; LEDChannels[4][0] = 500; LEDChannels[5][0] = 700; LEDChannels[6][0] = 700; LEDChannels[7][0] = 700; LEDChannels[8][0] = 500; LEDChannels[9][0] = 300;
WriteLEDArray(); delay(200); //6 LEDChannels[3][0] = 0; LEDChannels[4][0] = 200; LEDChannels[5][0] = 500; LEDChannels[6][0] = 500; LEDChannels[7][0] = 300; LEDChannels[8][0] = 200; LEDChannels[9][0] = 100;
WriteLEDArray(); delay(200); //7 LEDChannels[4][0] = 0; LEDChannels[5][0] = 200; LEDChannels[6][0] = 300; LEDChannels[7][0] = 200; LEDChannels[8][0] = 100; LEDChannels[9][0] = 0; LEDChannels[9][1] = 250; LEDChannels[9][2] = 350; WriteLEDArray(); delay(200); //8 LEDChannels[5][0] = 0; LEDChannels[6][0] = 350; LEDChannels[7][0] = 250; LEDChannels[8][0] = 0; LEDChannels[8][1] = 250; LEDChannels[8][2] = 350; LEDChannels[9][1] = 0; LEDChannels[9][2] = 800; WriteLEDArray(); delay(200); //9 LEDChannels[6][0] = 0; LEDChannels[7][0] = 0; LEDChannels[8][1] = 300; LEDChannels[8][2] = 420; LEDChannels[9][2] = 1023; WriteLEDArray(); delay(200); //10 LEDChannels[8][1] = 0; LEDChannels[8][2] = 1023; LEDChannels[9][2] = 1023; WriteLEDArray(); delay(800); }
|
|
|
|
|
Logged
|
|
|
|
|
|