#include <LiquidCrystal_I2C.h>
//----------------define pin ESP8266-------------------------//
// #define LATCH_DIO D4
// #define CLK_DIO D7
// #define DATA_DIO D8
// #define LED D1
// #define BUZZER D3
// #define SW1 D5
// #define SW2 D6
// #define SW3 D0
// #define POT A0
//-----------------------------------------------------------//
//----------------define pin ESP32---------------------------//
#define LED 19
#define BUZZER 23
#define SW1 16
#define SW2 17
#define SW3 18
#define POT 0
//-----------------------------------------------------------//
//-------------------define parameter LCD--------------------//
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
//----------------------------------------------------------//
//-----------------variabel---------------------------------//
int s1 = 0;
int s2 = 0;
int s3 = 0;
int k1 = 0;
int k2 = 0;
int k3 = 0;
int menu = 0;
int data_adc = 0;
//----------------------------------------------------------//
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
pinMode(SW1, INPUT_PULLUP); //SW1
pinMode(SW2, INPUT_PULLUP); //SW2
pinMode(SW3, INPUT_PULLUP); //SW3
pinMode(LED, OUTPUT); //LED
pinMode(BUZZER, OUTPUT); //BUZZER
pinMode(POT, INPUT_PULLUP); //ADC
digitalWrite(LED, 1); //off LED at start
digitalWrite(BUZZER, 1); //off BUZZER at start
Serial.begin(115200);
Serial.println("Hello, ESP32!");
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SIMULASI KIT PAM");
delay(300);
lcd.clear();
}
void loop() {
s1 = digitalRead(SW1);
s2 = digitalRead(SW2);
s3 = digitalRead(SW3);
data_adc = analogRead(POT);
//--------button press release SW1--------------------------//
if(s1 == 0 && k1 == 0){
k1 = 1;
}
if(s1 == 1 && k1 == 1){
lcd.setCursor(0,1);
lcd.print("LED On");
digitalWrite(19,0);
delay(2000);
k1 = 0;
}
else{
lcd.setCursor(0,1);
lcd.print("LED Off");
digitalWrite(19,1);
}
//--------button press release SW2-------------------------//
if(s2 == 0 && k2 == 0){
k2 = 1;
}
if(s2 == 1 && k2 == 1){
menu--;
k2 = 0;
}
if(menu > 3){
menu = 0;
}
if(menu < 0){
menu = 0;
}
if(menu == 0){
//HOME
lcd.setCursor(0, 0);
lcd.print("------HOME------");
lcd.setCursor(0, 1);
lcd.print("----------------");
}
if(menu == 1){
//MENU 1
lcd.setCursor(0, 0);
lcd.print("-----MENU 1-----");
lcd.setCursor(0, 1);
lcd.print("---SW3 for LED--");
//--------button press release SW3--------------------//
if(s3 == 0){
digitalWrite(LED, 0);
}
else{
digitalWrite(LED, 1);
}
}
if(menu == 2){
//MENU 2
lcd.setCursor(0, 0);
lcd.print("-----MENU 2-----");
lcd.setCursor(0, 1);
lcd.print("-SW3 for Buzzer-");
if(s3 == 0){
digitalWrite(BUZZER, 0);
}
else{
digitalWrite(BUZZER, 1);
}
}
if(menu == 3){
//MENU 3
lcd.setCursor(0, 0);
lcd.print("-----MENU 3-----");
lcd.setCursor(0, 1);
lcd.print("isi program lain");
}
// lcd.setCursor(0, 0);
// lcd.print(menu);
// lcd.setCursor(0, 1);
// lcd.print(data_adc);
// Serial.println(s3);
}