const int buttonPin = 14;
const int potPin = 34;
const int ledPins[] = {2, 4, 5, 18, 19, 21, 22, 23, 25, 26};
bool cleaning = false;
int progress = 0;
bool lastButtonState = HIGH;
void setup() {
Serial.begin(115200);
for (int i = 0; i < 10; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
bool buttonState = digitalRead(buttonPin);
if (buttonState == LOW && lastButtonState == HIGH) {
delay(50);
cleaning = !cleaning;
if (!cleaning) {
resetProgress();
}
}
lastButtonState = buttonState;
if (cleaning && progress < 10) {
int potValue = analogRead(potPin);
int speedDelay = map(potValue, 0, 4095, 1000, 100);
digitalWrite(ledPins[progress], HIGH);
progress++;
delay(speedDelay);
}
}
void resetProgress() {
for (int i = 0; i < 10; i++) {
digitalWrite(ledPins[i], LOW);
}
progress = 0;
}