LCD dan Sensor Ultrasonik
LCD dan Sensor Ultrasonik
Project ini untuk memonitor ketinggian penampungan air secara visual dengan LCD dari jarak dekat
Rangkaian:
VCC (LCD) --> 5V (Arduino)
GND (LCD) --> GND (Arduino)
SDA (LCD) --> SDA/A4 (Arduino)
SCL (LCD) --> SCL/A5 (Arduino)
VCC (Sensor) --> 5V (Arduino)
GND (Sensor) --> GND (Arduino)
Trig (Sensor) --> 3 (Arduino)
Echo (Sensor) --> 2 (Arduino)
Arduino - LCD_I2C dan Sensor Ultrasonik
//Masukkan Library LCD_I2C
#include <LiquidCrystal_I2C.h>
//Definsikan pemanggilan, alamat,dan tipe LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Definisikan pin sensor ultrasonik
#define pinEcho 2
#define pinTrig 3
void setup() {
//Mengaktifkan LCD
lcd.init();
//Mengaktifkan lampu layar LCD
lcd.backlight();
//menetapkan penggunaan pin sensor ultrasonik
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);
}
void loop() {
// aktifkan sensor ultrasonik
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
//menangkap gelombang yang dihasilkan
int durasi = pulseIn(pinEcho, HIGH);
//konversi gelombang ke Centimeter
int jarak = durasi/58;
//set posisi kursor dan tampilkan karakter di baris 1
lcd.setCursor(0,0);
lcd.print("-----Jarak------");
//set posisi kursor dan tampilkan nilai jarak di baris 2
lcd.setCursor(0,1);
lcd.print(" " + String(jarak)+ " Cm ");
//memberi jeda pengulangan
delay(2000);
}
Rangkaian:
VCC (LCD) --> 3.3V (ESP32)
GND (LCD) --> GND (ESP32)
SDA (LCD) --> 21 (ESP32)
SCL (LCD) --> 22 (ESP32)
VCC (Sensor) --> 3.3V (ESP32)
GND (Sensor) --> GND (ESP32)
Trig (Sensor) --> 13 (ESP32)
Echo (Sensor) --> 34 (ESP32)
ESP32 - LCD_I2C dan Sensor Ultrasonik
//Masukkan Library LCD_I2C
#include <LiquidCrystal_I2C.h>
//Definsikan pemanggilan, alamat,dan tipe LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Definisikan pin sensor ultrasonik
#define pinEcho 34
#define pinTrig 13
void setup() {
//Mengaktifkan LCD
lcd.init();
//Mengaktifkan lampu layar LCD
lcd.backlight();
//menetapkan penggunaan pin sensor ultrasonik
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);
}
void loop() {
// aktifkan sensor ultrasonik
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
//menangkap gelombang yang dihasilkan
int durasi = pulseIn(pinEcho, HIGH);
//konversi gelombang ke Centimeter
int jarak = durasi/58;
//set posisi kursor dan tampilkan nilai jarak di baris 1
lcd.setCursor(0,0);
lcd.print("Jarak: " + String(jarak)+ " Cm ");
//membuat kondisi ketinggian air (contoh)
if (jarak <= 20){
lcd.setCursor(0,1);
lcd.print("Air Sudah Penuh");
}
else if (jarak > 90 ){
lcd.setCursor(0,1);
lcd.print("Air Kosong");
}
else if(jarak > 20 && jarak <= 50){
lcd.setCursor(0,1);
lcd.print("Air setengah");
}
else if(jarak > 50 && jarak <= 90){
lcd.setCursor(0,1);
lcd.print("Air hampir habis");
}
//memberi jeda pengulangan
delay(1000);
}