#define LED1 5
#define LED2 18
#define LED3 19
#define BTN1 21
#define BTN2 22
#define BTN3 23
int currentPick = 1;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BTN1, INPUT_PULLUP);
pinMode(BTN2, INPUT_PULLUP);
pinMode(BTN3, INPUT_PULLUP);
Serial.begin(115200);
startPick(currentPick);
}
void loop() {
switch (currentPick) {
case 1:
if (digitalRead(BTN1) == LOW) {
finishPick(1);
}
break;
case 2:
if (digitalRead(BTN2) == LOW) {
finishPick(2);
}
break;
case 3:
if (digitalRead(BTN3) == LOW) {
finishPick(3);
}
break;
default:
// All picks done
break;
}
}
void startPick(int pickNum) {
Serial.print("Start Pick: ");
Serial.println(pickNum);
if (pickNum == 1) digitalWrite(LED1, HIGH);
if (pickNum == 2) digitalWrite(LED2, HIGH);
if (pickNum == 3) digitalWrite(LED3, HIGH);
}
void finishPick(int pickNum) {
Serial.print("Picked Item: ");
Serial.println(pickNum);
if (pickNum == 1) digitalWrite(LED1, LOW);
if (pickNum == 2) digitalWrite(LED2, LOW);
if (pickNum == 3) digitalWrite(LED3, LOW);
currentPick++;
startPick(currentPick);
}