// // outward_8 // digital outs 2-9, // // from two innermost // proceding outward // // 11 // 1098765432 const word dimbits[] = { 0b0000000001100000, // frame 1 0b0000000001100000, 0b0000000001100000, 0b0000000001100000, 0b0000000001100000, 0b0000000001100000, 0b0000000001100000, 0b0000000001100000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 11 // 1098765432 0b0000000011110000, // frame 2 0b0000000011110000, 0b0000000011110000, 0b0000000011110000, 0b0000000011110000, 0b0000000010010000, 0b0000000010010000, 0b0000000010010000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 23 // 1098765432 0b0000000111111000, // frame 3 0b0000000111111000, 0b0000000111111000, 0b0000000110011000, 0b0000000110011000, 0b0000000100001000, 0b0000000100001000, 0b0000000100001000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 35 // 1098765432 0b0000001111111100, // frame 4 0b0000001110011100, 0b0000001110011100, 0b0000001100001100, 0b0000001100001100, 0b0000001000000100, 0b0000001000000100, 0b0000001000000100, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 47 // 1098765432 0b0000001110011100, // frame 5 **** 0b0000001100001100, 0b0000001100001100, 0b0000001000000100, 0b0000001000000100, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 59 // 1098765432 0b0000001100001100, // frame 6 0b0000001000000100, 0b0000001000000100, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 71 // 1098765432 0b0000001000000100, // frame 7 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 83 // 1098765432 0b0000000000000000, // frame 8 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, // 95 // 1098765432 0b0000000000000000, // frame 9 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000000}; // 108 unsigned long duration = 0; unsigned long times_out = 10000; // frame's time out "speed" // 500 for way fast // 50000 for way slow int idx; byte framepointer = 0; void setup () { //pinMode(13,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); //PORTD &= 0b00000011; } void loop () { // framepointer limit == number of frames * 12 // it's the total of words in the dimbits[] array for (framepointer = 0; framepointer < 108; framepointer = (framepointer + 12)) // 0-11,12-33,24-35,36-47,48-59,60-71,72-83,84-95,96-107, // 108-119,120-131,132-143,144-155,156-167 { for(duration=0; duration