// pin[xx] on led matrix connected to nn on Arduino (-1 is dummy to make array start at pos 1) int pins[17]= {-1,13,18,4,3,17,2,16,15,5,0,14,7,1,11,6,12}; // row[xx] of leds = pin yy on led matrix int cols[8] = {pins[13], pins[3], pins[4], pins[10], pins[06], pins[11], pins[15], pins[16]}; // col[xx] of leds = pin yy on led matrix int rows[8] = {pins[9], pins[14], pins[8], pins[12], pins[1], pins[7], pins[2], pins[5]}; void setup() { // sets the pins as output for (int i = 1; i <= 16; i++) { pinMode(pins[i], OUTPUT); } // set up cols and rows for (int i = 1; i <= 8; i++) { digitalWrite(cols[i - 1], LOW); } for (int i = 1; i <= 8; i++) { digitalWrite(rows[i - 1], LOW); } } void loop() { display(); } // Interrupt routine void display() { digitalWrite(cols[0], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[1], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[2], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[3], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[4], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[5], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[6], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[7], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); digitalWrite(cols[8], HIGH); digitalWrite(rows[0], LOW); digitalWrite(rows[1], LOW); digitalWrite(rows[2], LOW); digitalWrite(rows[3], LOW); digitalWrite(rows[4], LOW); digitalWrite(rows[5], LOW); digitalWrite(rows[6], LOW); digitalWrite(rows[7], LOW); }