#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
int button1 = 2;
int button2 = 3;
int potPin = A0;
// Variabel untuk menyimpan status tombol
int button1State = 0;
int button2State = 0;
bool Menu1 = false;
bool Menu2 = false;
void setup() {
lcd.begin(16,2);
lcd.backlight();
// Inisialisasi pin tombol sebagai input
pinMode(button1, INPUT); // Menggunakan resistor pull-up internal
pinMode(button2, INPUT);
pinMode(potPin, INPUT);
// Tampilkan pesan awal
Menu();
Serial.begin(9600);
}
void loop() {
// Baca status tombol
button1State = digitalRead(button1);
button2State = digitalRead(button2);
// Jika tombol 1 ditekan, ubah status tampilan data
if (button1State == HIGH) {
Menu1 = !Menu1;
delay(200); // Debounce delay
}else if (button2State == HIGH){
Menu2 = !Menu2;
delay(200);
}
// Jika tampilan data diaktifkan, baca dan tampilkan nilai potensiometer
if(Menu1) {
tampil_data();
}else if (Menu2){
kirim_data();
}
}
void tampil_data(){
int potValue = analogRead(potPin); // Baca nilai potensiometer
// Tampilkan nilai potensiometer pada LCD
lcd.setCursor(14,0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("Potentiometer:");
lcd.setCursor(0, 1);
lcd.print("Value: ");
lcd.print(potValue);
lcd.setCursor(9, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Value: ");
lcd.print(potValue);
}
void kirim_data(){
lcd.setCursor(12,0);
lcd.print(" ");
// lcd.setCursor(0,1);
// lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("Data dikirim");
lcd.setCursor(0,1);
lcd.print(" ");
int potValue = analogRead(potPin);
Serial.println(potValue);
delay(500);
}
void Menu(){
lcd.setCursor(0, 0);
lcd.print("1.Tampilkan data");
lcd.setCursor(0, 1);
lcd.print("2.Kirim data");
}