Hello, I am new to this forum so forgive me if there is anything I've left out here.
I am trying to run a simple sketch that runs a 4x4x4 LED cube I created using the arduino Mega2560. The cube consists of 16 anode columns and 4 cathode layers similar to:
The columns are activated by ditial I/O (22-37) and layers (50-53).
I have created a sketch that works fine by declaring each pin to a variable like so:
int led22 = 22;
int led23 = 23;
int led24 = 24;
etc...
But when I try to run it using this code, It doesn't seem to work at all:
int led[] = {22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37};
int ground[] = {50,51,52,53};
void setup() {
pinMode(led[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37], OUTPUT);
pinMode(ground[50,51,52,53], OUTPUT);
digitalWrite(ground[50], LOW);
digitalWrite(ground[51], HIGH);
digitalWrite(ground[52], HIGH);
digitalWrite(ground[53], HIGH);
}
void loop() {
digitalWrite(led[22], HIGH);
delay(250);
digitalWrite(led[22], LOW);
delay(250);
digitalWrite(led[23], HIGH);
delay(250);
digitalWrite(led[23], LOW);
delay(250);
digitalWrite(led[24], HIGH);
delay(250);
digitalWrite(led[24], LOW);
delay(250);
digitalWrite(led[25], HIGH);
delay(250);
digitalWrite(led[25], LOW);
delay(250);
digitalWrite(led[26], HIGH);
delay(250);
digitalWrite(led[26], LOW);
delay(250);
digitalWrite(led[27], HIGH);
delay(250);
digitalWrite(led[27], LOW);
delay(250);
digitalWrite(led[28], HIGH);
delay(250);
digitalWrite(led[28], LOW);
delay(250);
digitalWrite(led[29], HIGH);
delay(250);
digitalWrite(led[29], LOW);
delay(250);
digitalWrite(led[30], HIGH);
delay(250);
digitalWrite(led[30], LOW);
delay(250);
digitalWrite(led[31], HIGH);
delay(250);
digitalWrite(led[31], LOW);
delay(250);
digitalWrite(led[32], HIGH);
delay(250);
digitalWrite(led[32], LOW);
delay(250);
digitalWrite(led[33], HIGH);
delay(250);
digitalWrite(led[33], LOW);
delay(250);
digitalWrite(led[34], HIGH);
delay(250);
digitalWrite(led[34], LOW);
delay(250);
digitalWrite(led[35], HIGH);
delay(250);
digitalWrite(led[35], LOW);
delay(250);
digitalWrite(led[36], HIGH);
delay(250);
digitalWrite(led[36], LOW);
delay(250);
digitalWrite(led[37], HIGH);
delay(250);
digitalWrite(led[37], LOW);
delay(250);
}
Any idea what could be going wrong here?