I made an arduino binary counter, with 4 leds, a +1 button (increase the counter by one) and a reset button (that basically resets the counter), but the reset button doesn't works, and the problem isn't in the hardware, it's in the coding, can someone help me find the problem in the code?
I also attatched the fritzing image for this project
This is the code (the "resetButtonState" is equal low because I was testing if the code was reading low instead of high):
#define buttonPin 7
#define buttonReset 6
int i = 0;
int x;
int buttonState = 0; // current state of the button
int resetButtonState = 0;
int lastButtonState = 0; // previous state of the button
int lastResetButtonState = 1; // Reset button current state
int count = 0; // Count the button presses
void setup(){
pinMode(11,OUTPUT);//8
pinMode(10,OUTPUT);//4
pinMode(9,OUTPUT);//2
pinMode(8,OUTPUT);//1
pinMode(buttonPin,INPUT);//Botão
pinMode(buttonReset,INPUT);//Botão reset
}
void loop() {
for(int i=0; i == 15;);
if(i==0){
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
}else if(i==1){
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
}else if(i==2){
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
}else if(i==3){
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
}else if(i==4){
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
}else if(i==5){
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
}else if(i==6){
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
}else if(i==7){
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
}else if(i==8){
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
}else if(i==9){
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
}else if(i==10){
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
}else if(i==11){
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
}else if(i==12){
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
}else if(i==13){
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
}else if(i==14){
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
}else if(i==15){
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
}
buttonState = digitalRead(buttonPin);
resetButtonState = digitalRead(buttonReset);
if(buttonState != lastButtonState){
if(buttonState == HIGH){
i++;
}
lastButtonState = buttonState;
}
if(resetButtonState != lastResetButtonState){
if(resetButtonState == LOW){
i==1;
}
lastResetButtonState = resetButtonState;
}
}
