#include <Adafruit_GFX.h>
#include <SPI.h>
#include<Wire.h>
#include <Adafruit_SSD1306.h>
#define button A0
#define lebar 128
#define tinggi 64
#define reset 4
int buttonState;
bool lastButtonState = HIGH;
unsigned long pressTime = 0;
int debounce_Button = 10;
int count = 0;
Adafruit_SSD1306 display(lebar, tinggi, &Wire, reset);
void setup() {
// put your setup code here, to run once:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
pinMode(button, INPUT_PULLUP);
display.clearDisplay();
}
void loop() {
increase_Button();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(lebar/2, tinggi/2);
display.print(count);
display.display();
display.clearDisplay();
}
void increase_Button(){
unsigned long currentTime = millis();
bool readButton = digitalRead(button);
if(readButton != lastButtonState){
pressTime = millis();
}
if((currentTime - pressTime) > debounce_Button)
{
if(readButton != buttonState){
buttonState = readButton;
if(buttonState == LOW){
count++;
}
}
}
lastButtonState = readButton;
}