const int ledPins[] = {2, 4, 16, 17, 5};
const int switchPins[] = {12, 13, 14};
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
for (int i = 0; i < 5; i++) {
pinMode(ledPins[i], OUTPUT);
}
for (int i = 0; i < 3; i++) {
pinMode(switchPins[i], INPUT_PULLUP);
}
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(switchPins[0]) == LOW) //mode 1
{
Serial.println("MODE 1");
for(int i = 0 ; i < 5 ; i++)
{
digitalWrite(ledPins[i], HIGH);
}
}
else if (digitalRead(switchPins[1]) == LOW) //mode 2
{
Serial.println("MODE 2");
for(int i = 0 ; i < 5 ; i++)
{
digitalWrite(ledPins[i], LOW);
}
}
else if(digitalRead(switchPins[2]) == LOW) //Mode 3
{
bool checkPress = true;
while(checkPress)
{
for(int i = 0 ; i < 5 ; i++)
{
Serial.println("MODE 3");
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
if(digitalRead(switchPins[0]) == LOW || digitalRead(switchPins[1]) == LOW)
{
checkPress = false;
break;
}
}
for(int i = 4 ; i > 0 ; i--)
{
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
if(digitalRead(switchPins[0]) == LOW || digitalRead(switchPins[1]) == LOW)
{
checkPress = false;
break;
}
}
}
}
}