Pompa Otomatis
Pompa Otomatis
Project ini untuk memonitor kondisi tanah (basah/kering) dengan tampilan LCD dari jarak dekat, pompa irigasi aktif saat tanah kering, dan off saat tanah basah
Rangkaian:
Signal (Sensor) --> A0 (Arduino)
GND (Sensor) --> GND (Arduino)
VCC (Sensor) --> 5V (Arduino)
VCC (LCD) --> 5V (Arduino)
GND (LCD) --> GND (Arduino)
SDA (LCD) --> SDA/A4 (Arduino)
SCL (LCD) --> SCL/A5 (Arduino)
VCC (Relay) --> 5V (Arduino)
GND (Relay) --> GND (Arduino)
IN (Relay) --> 13 (Arduino)
NO (Relay) --> salah satu kabel pompa
COM (Relay) --> Salah satu kabel PLN
Arduino - Pompa Otomatis dan Monitor
//masukkan library LCD_I2C
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16,2);
//definisikan pin yang digunakan
#define soil A0
#define pompa 13
void setup() {
// Definisikan kegunaan pin
pinMode(soil, INPUT);
pinMode(pompa, OUTPUT);
//aktifkan lcd
lcd.init();
lcd.backlight();
}
void loop() {
//baca nilai sensor tanah
int baca = analogRead(soil);
//konversi nilai sensor menjadi 0-100 dan tampilkan
int hasil = map(baca,0,1023,0,100);
lcd.setCursor(0,0);
lcd.print("Nilai: " + String(hasil) + " ");
//buat kondisi aktif pompa saat tanah kering (dummy)
if (hasil >= 50) {
//tanah basah, pompa off (Relay)
digitalWrite(pompa, LOW);
lcd.setCursor(0,1);
lcd.print("Basah OFF");
}
else {
//tanah kering, Pompa On (Relay)
digitalWrite(pompa, HIGH);
lcd.setCursor(0,1);
lcd.print("Kering ON");
}
//jeda pengulangan loop
delay (2000);
}
Rangkaian:
Signal (Sensor) --> 33 (ESP32)
GND (Sensor) --> GND (ESP32)
VCC (Sensor) --> 3.3V (ESP32)
VCC (LCD) --> 3.3V (ESP32)
GND (LCD) --> GND (ESP32)
SDA (LCD) --> 21 (ESP32)
SCL (LCD) --> 22 (ESP32)
VCC (Relay) --> 3.3V (ESP32)
GND (Relay) --> GND (ESP32)
IN (Relay) --> 13 (ESP32)
NO (Relay) --> salah satu kabel pompa
COM (Relay) --> Salah satu kabel PLN
Arduino - Pompa Otomatis dan Monitor
//masukkan library LCD_I2C
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16,2);
//definisikan pin yang digunakan
#define soil 33
#define pompa 13
void setup() {
// Definisikan kegunaan pin
pinMode(soil, INPUT);
pinMode(pompa, OUTPUT);
//aktifkan lcd
lcd.init();
lcd.backlight();
}
void loop() {
//baca nilai sensor tanah
int baca = analogRead(soil);
//konversi nilai sensor menjadi 0-100 dan tampilkan
int hasil = map(baca,0,4096,0,100);
lcd.setCursor(0,0);
lcd.print("Nilai: " + String(hasil) + " ");
//buat kondisi aktif pompa saat tanah kering (dummy)
if (hasil >= 50) {
//tanah basah, pompa off (Relay)
digitalWrite(pompa, LOW);
lcd.setCursor(0,1);
lcd.print("Basah OFF");
}
else {
//tanah kering, Pompa On (Relay)
digitalWrite(pompa, HIGH);
lcd.setCursor(0,1);
lcd.print("Kering ON");
}
//jeda pengulangan loop
delay (2000);
}