#define A 9 #define B 10 #define C 11 #define CC 3 #define BB 5 #define AA 6 #define DELAY 50 #define STEPS 6 void setup() { pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(AA, OUTPUT); pinMode(BB, OUTPUT); pinMode(CC, OUTPUT); Serial.begin(115200); } void set(int x, int y) { switch (x) { case AA: digitalWrite(AA, 1); break; case BB: digitalWrite(BB, 1); break; case CC: digitalWrite(CC, 1); break; } switch (y) { case A: digitalWrite(A, 1); break; case B: digitalWrite(B, 1); break; case C: digitalWrite(C, 1); break; } delay(1); switch (x) { case AA: digitalWrite(BB, 0); digitalWrite(CC, 0); break; case BB: digitalWrite(AA, 0); digitalWrite(CC, 0); break; case CC: digitalWrite(AA, 0); digitalWrite(BB, 0); break; } switch (y) { case A: digitalWrite(B, 0); digitalWrite(C, 0); break; case B: digitalWrite(A, 0); digitalWrite(C, 0); break; case C: digitalWrite(A, 0); digitalWrite(B, 0); break; } } int currStep = 0; void loop() { switch (currStep) { case 0: set(CC, A); break; case 1: set(CC, B); break; case 2: set(AA, B); break; case 3: set(AA, C); break; case 4: set(BB, C); break; case 5: set(BB, A); break; } currStep += 1; if (currStep >= STEPS) currStep = 0; delay(DELAY); }