Avoid Negetive

I am very new to arduino programming and sorry for my bad english. I wrote a code to count up and down. I can limit count up as i need but i cant control countdown. It come negetive numbers

This is my code :-

/*

State change detection (edge detection)

Often, you don't need to know the state of a
digital input all the time, but you just need
to know when the input changes from one state to
another. For example, you want to know when a
button goes from OFF to ON. This is called
state change detection, or edge detection.

This example shows how to detect when a button
or button changes from off to on and on to off.

The circuit:

  • pushbutton attached to pin 2 from +5V
  • 10K resistor attached to pin 2 from ground
  • LED attached from pin 13 to ground (or use the
    built-in LED on most Arduino boards)

This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/ButtonStateChange
*/

int buttonState = 0;

int lastButtonState = 0;

int buttonPushCounter = 0;

int bS = 0;

int lBS = 0;

int bPC = 0;

void setup()
{
pinMode(2, INPUT);
Serial.begin(9600);

pinMode(4, INPUT);
Serial.begin(9600);

}

void loop()
{

// read the pushbutton input pin
buttonState = digitalRead(2);
// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH, then the button
// went from off to on
buttonPushCounter += 1;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
} else {
// if the current state is LOW, then the button
// went from on to off
Serial.println("off");
}
// delay a little bit to avoid debouncing
delay(5); // Wait for 5 millisecond(s)
}
// save the current state as the last state, for
// the next time through the loop
lastButtonState = buttonState;

if (buttonPushCounter == 10){
buttonPushCounter = 0;
}

// read the pushbutton input pin
bS = digitalRead(4);
// compare the buttonState to its previous state
if (bS != lBS) {
// if the state has changed, increment the counter
if (bS == HIGH) {
// if the current state is HIGH, then the button
// went from off to on
buttonPushCounter -= 1;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
} else {
// if the current state is LOW, then the button
// went from on to off
Serial.println("off");
}
// delay a little bit to avoid debouncing
delay(5); // Wait for 5 millisecond(s)
}
// save the current state as the last state, for
// the next time through the loop
lBS = bS;

}

Plz help me

but i cant control countdown

What have you tried ?

You have this to limit the maximum value

if (buttonPushCounter == 10){
  buttonPushCounter = 0; 
  }

and this sort of thing will limit the lower value

if (buttonPushCounter < 0{
  buttonPushCounter = 0; 
  }

Or, if you want it to go from 0 back to 10

if (buttonPushCounter == 0){
  buttonPushCounter = 10; 
  }

Note that it is generally safer to test for >= 10 and for <= 0

…R