/*======================================================================
PROGRAM INPUT DIGITAL & INPUT ANALOG untuk menguji :
- ESP8266 WeMos_D1_Mini
- ESP32 WeMos_D1_R32 board
- ESP32 DevKitC_V4 board
--------------------------------------------------------------------
Input digital : pin 0 dan pin 2
Input Analog melalui Potensiometer : pin A0 (untuk D1_Mini)
LCD-I2C dikoneksi ke pin SDA dan SCL
Lihat datasheet untuk menentukan pin pada ketiga ESP tersebut
====================================================================*/
#include <LiquidCrystal_I2C.h> //deklarasi library LCD-I2C
LiquidCrystal_I2C lcd(0x27,16,2); //membuat nama objek lcd
int potPin = A0; //pin A0 sbg input pin untuk tegangan analog (D1_Mini)
int PB1 = 14; //deklarasi pin 14 terhubung ke Push Button 1
int PB2 = 16; //deklarasi pin 16 terhubung ke Push Button 2
int potValue, digValue1, digValue2 ; //deklarasi berbagai variabel
void setup() {
Serial.begin(9600);//Aktifkan UART utk tampilkan tegangan analog ke PC
pinMode(PB1, INPUT_PULLUP); pinMode(PB2, INPUT_PULLUP);
//pinMode(PB1, INPUT); pinMode(PB2, INPUT);
lcd.init(); lcd.backlight(); //Inisialisasi dan nyalakan LCD
lcd.setCursor(0,0); //pindahkan kursor ke kolom-0 baris-0
lcd.print("Program Uji ESPx"); //tulis ke LCD : "Program Uji ESPx"
lcd.setCursor(0,1); //pindahkan kursor ke kolom-0 baris-1
lcd.print("input dig+Analog"); //tulis ke LCD : "Led-Blink & LCD"
delay(2000); lcd.clear(); //delat dan hapus LCD
lcd.setCursor(0,0); lcd.print("Push PB1 or PB2 ");
}
void loop() {
potValue=analogRead(potPin);//baca tegangan dari pin input analog
Serial.print("Data Potensio : "); Serial.println(potValue);
digValue1 = digitalRead(PB1); //baca data penekanan tombol PB1
digValue2 = digitalRead(PB2); //baca data penekenan tombol PB2
if(digValue1==0) { Serial.print("PB1 ditekan "); }
if(digValue2==0) { Serial.print("PB2 ditekan "); }
if(digValue1==0) {lcd.setCursor(0,0); lcd.print("PB1 pressed! ");}
if(digValue2==0) {lcd.setCursor(0,0); lcd.print("PB2 pressed! ");}
lcd.setCursor(0,1); lcd.print("Dat_Analog: ");
lcd.setCursor(12,1); lcd.print(" ");
lcd.setCursor(12,1); lcd.print(potValue);
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
pot1:GND
pot1:SIG
pot1:VCC
gnd1:GND
vcc1:VCC