#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <Wire.h> // Library komunikasi I2C
#include <EEPROM.h>
#define ResetButton A0
#define PlusButton A1
#define MinButton A2
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
int rom =0;
byte val = 0;
byte valPlus = 0;
byte valMin = 0;
const int SensorPin = 5;
int count=0;
int state = LOW;
void setup()
{
Serial.begin(9600);
lcd.begin(16,2);
lcd.backlight();
lcd.clear();
lcd.print("COUNT ROBOT WELDING");
lcd.setCursor(0, 1);
lcd.print("READY....");
delay(5000);
lcd.clear();
lcd.print("COUNTING");
lcd.setCursor(0, 1);
lcd.print("PCS :");
lcd.print(count);
//server.begin();
pinMode(SensorPin, INPUT_PULLUP);
pinMode(ResetButton, INPUT_PULLUP);
pinMode(PlusButton, INPUT_PULLUP);
pinMode(MinButton, INPUT_PULLUP);
}
void loop() {
int value = digitalRead(SensorPin);
if (value != state){
state=value;
if (state==LOW){
count ++ ;
delay(1000);
Serial.println(count);
lcd.clear();
lcd.print("COUNT-ROBOT");
lcd.setCursor(0, 1);
lcd.print("PCS :");
lcd.print(count);
}
}
val = digitalRead(ResetButton);
valPlus = digitalRead(PlusButton);
valMin = digitalRead(MinButton);
if ( valPlus == LOW ) {
count = count +1;
Serial.println(count);
lcd.clear();
lcd.print("COUNT-ROBOT");
lcd.setCursor(0, 1);
lcd.print("PCS :");
lcd.print(count);
delay(500);
EEPROM.put(rom, count);
}
if ( valMin == LOW ) {
count = count -1;
Serial.println(count);
lcd.clear();
lcd.print("COUNT-ROBOT");
lcd.setCursor(0, 1);
lcd.print("PCS :");
lcd.print(count);
delay(500);
EEPROM.put(rom, count);
}
if ( val == LOW ) {
count=0;
Serial.println(count);
lcd.clear();
lcd.print("COUNT-ROBOT");
lcd.setCursor(0, 1);
lcd.print("PCS :");
lcd.print(count);
delay(100);
EEPROM.write(rom, 0);
}
}