#define AIN1 0 #define AIN2 1 int i = 0; int down0 = 0; int down1 = 0; int color = 0; int rate = 250; void setup() { pinMode(AIN1, OUTPUT); pinMode(AIN2, OUTPUT); analogReadResolution(8); } void set_color() { if (i % (2 * rate) < rate) digitalWrite(AIN1, LOW), digitalWrite(AIN2, LOW); else { if (color) digitalWrite(AIN1, HIGH), digitalWrite(AIN2, LOW); else digitalWrite(AIN1, LOW), digitalWrite(AIN2, HIGH); } } void loop() { if (i % rate == 0) set_color(); // Toggle color // Make sure this is a press and the button isn't already down if (analogRead(A0) > 200) { if (!down0) color = !color, set_color(); down0 = 1; } else down0 = 0; if (analogRead(A1) > 200) { if (!down1) rate = (rate == 250 ? 500 : 250), set_color(); down1 = 1; } else down1 = 0; delay(1); i++; }