As you see at the topic, the problem is that counter increases continually if button is clicked (even though when I wash my hands of it). However, I want it to do it one by one. The code is below. 'sayac' = 'counter'.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int blueled=13;
const int redled=12;
const int buton1=6;
const int buton2=7;
const int buton3=8;
int sayac = 0;
void setup()
{
lcd.begin();
pinMode(blueled,OUTPUT);
pinMode(redled,OUTPUT);
pinMode(buton1,INPUT);
pinMode(buton2,INPUT);
digitalWrite(redled,LOW);
digitalWrite(blueled,LOW);
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Test Ediliyor...");
lcd.setCursor(15,0);
lcd.setCursor(4,1);
lcd.print("Sayac : ");
lcd.setCursor(12,1);
lcd.print(sayac);
if(digitalRead(buton1)==HIGH)
{
digitalWrite(redled,LOW);
digitalWrite(blueled,HIGH);
sayac=sayac+1;
delay(2000);
}
if(digitalRead(buton2)==HIGH)
{
digitalWrite(blueled,LOW);
delay(5000);
digitalWrite(redled,LOW);
digitalWrite(redled,HIGH);
}
if (digitalRead(buton3) == HIGH)
{
sayac = 0;
}
}
Should I use millis function to avoid repeating?
Is there any code to detect the situation when button is unclicked?
Thank you.