I planed a 6x6 matrix with a Arduino Nano as controller. Its only possible to let one LED in the matrix lighten up. Any idea how I get the Code smaller? (Im a C Noobie ^^)
~Nico
Code:
void setup() { pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(14, INPUT); pinMode(15, INPUT); pinMode(16, INPUT); pinMode(17, INPUT); } void loop() { int value1 = digitalRead(14); int value2 = digitalRead(15); int value3 = digitalRead(16); int test = digitalRead(17); int x1 = 2; int x2 = 3; int x3 = 4; int x4 = 5; int x5 = 6; int x6 = 7; int y1 = 8; int y2 = 9; int y3 = 10; int y4 = 11; int y5 = 12; int y6 = 13; // put your main code here, to run repeatedly: if (test == HIGH) { digitalWrite(x1, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x1, LOW); digitalWrite(x2, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x2, LOW); digitalWrite(x3, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x3, LOW); digitalWrite(x4, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x4, LOW); digitalWrite(x5, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x5, LOW); digitalWrite(x6, HIGH); digitalWrite(y1, HIGH); delay(15); digitalWrite(y1, LOW); digitalWrite(y2, HIGH); delay(15); digitalWrite(y2, LOW); digitalWrite(y3, HIGH); delay(15); digitalWrite(y3, LOW); digitalWrite(y4, HIGH); delay(15); digitalWrite(y4, LOW); digitalWrite(y5, HIGH); delay(15); digitalWrite(y5, LOW); digitalWrite(y6, HIGH); delay(15); digitalWrite(y6, LOW); digitalWrite(x6, LOW); } }
for
loops and possibly arrays. – Mark Smith Mar 17 '17 at 19:07