There is no problem using pulldown resistors other than the fact that they have to be fitted
Here is your code based on mine but with your pin number and pulldown resistor taken account of
const byte buttonPin = 2;
byte mode = 0;
const byte maxMode = 1;
byte currentState = HIGH;
byte prevState = HIGH;
void setup()
{
Serial.begin(115200);
pinMode(buttonPin, INPUT);
}
void loop()
{
currentState = digitalRead(buttonPin);
if (currentState == HIGH && prevState == LOW) //button became pressed
{
mode++;
if (mode > maxMode)
{
mode = 0;
}
Serial.println(mode);
}
prevState = currentState;
switch (mode)
{
case 0:
Serial.println("running code for mode 0");
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(50);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(50);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(50);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(50);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(50);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(50);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(50);
break;
case 1:
Serial.println("running code for mode 1");
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(1000);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(1000);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
delay(1000);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(1000);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(1000);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(1000);
break;
}
}
However, I can't stress enough that the delay()s, particularly in mode 1 will cause problems because there are several seconds when the input is not read