Go Down

Topic: Program initializing a variable with 1 even when 0 is mentoned (Read 232 times) previous topic - next topic

thespeedracer38

Quote

const int switchPin = 26;
const int ledPin = 10;

int state;
int lastState;
int ledState;
int pressCounter = 0;

void setup()
{
  pinMode(switchPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  state = digitalRead(switchPin);
  
  if(state != lastState)
  {
    if(state == HIGH)
    {
      pressCounter += 1;
      Serial.println(pressCounter);
    }
    else
    {//Do nothing
    }
    lastState = state;
  }
  
  if(pressCounter % 5 == 0)
  {
    ledState = HIGH;
    Serial.println("Hurray! You've pressed 5 times");
  }
  else
  {
    ledState = LOW;
  }

digitalWrite(ledPin, ledState);
delay(20);
}
 
        



The pressCounter variable is always getting initialized with 1 even when I have specified the initial value to be 0. Where am I going wrong?
This program turns on an led when the switch is pressed five times.

JimboZA

Well the first time you print pressCounter is after you increment it.... why not put a print in setup() so you can verify that it starts out as 0?
Repeal Ohm's Law

No PMs for help please

Go Up