#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int pb = 7;
const int led = 4;
const int buzzer = 5;
int pbvalue;
unsigned long previousMillis = 0;
unsigned long interval = 2000; //ms
unsigned long intervalBuzzer = 500;
bool switchstate = false;
int buzzerstate = 0;
/*#include "LoRa.h"
#include <SoftwareSerial.h>
SoftwareSerial myserial(15, 14);
e220ttl = (myserial);*/
void setup() {
//e220ttl.begin();
lcd.init();
lcd.clear();
lcd.backlight();
Serial.begin(9600);
pinMode(pb, INPUT_PULLUP);
pinMode(4, OUTPUT);
digitalWrite(4, 0);
pinMode(5, OUTPUT);
digitalWrite(5, 0);
}
void loop() {
unsigned long currentMillis = millis();
pbvalue = digitalRead(pb);
//Serial.println(pbvalue);
if ((pbvalue) == 0){
switchstate = true;
//Serial.println(switchstate);
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
Serial.println("sesuatu");
}
digitalWrite(4, 1);
if (currentMillis - previousMillis >= intervalBuzzer){
previousMillis = currentMillis;
if (buzzerstate == 0){
buzzerstate = 1;
}
else{
buzzerstate = LOW;
}
digitalWrite(5, buzzerstate);
Serial.println(buzzerstate);
}
}
else{
switchstate = false;
Serial.println(switchstate);
digitalWrite(4, 0);
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
Serial.println("aman");
}
}
lcd.setCursor(0,0);
lcd.print("Status :");
lcd.setCursor(9,0);
lcd.print(switchstate);
//lcd.read(switchstate);
if (switchstate == true){
lcd.setCursor(0,1);
lcd.print("DNG");
}
else {
lcd.setCursor(0,1);
lcd.print("OK ");
}
delay(100);
}