//Nama: Bono Segoro
//NPM: 213510304
//Kelas: 7B
//"Sistem Pemantau Keamanan Rumah Menggunakan Sensor PIR"
#include <LiquidCrystal_I2C.h> //Memanggil library
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2); //Menyediakan fungsi-fungsi LCD
int led_pin = 15; //Deklarasi var input pin LED
int input_pin = 14; //Deklarasi var input pin Sensor PIR
int kondisi_pir = LOW; //Sensor PIR dimulai dari LOW
int nilai = 0; //Deklarasi var status pin
void setup() {
pinMode(led_pin, OUTPUT); //Deklarasi LED sebagai OUTPUT
pinMode(input_pin, INPUT); //Deklarasi Sensor PIR sebagai INPUT
//Program Awal LCD
LCD.init(); //Menginisialisasi objek LED
LCD.backlight(); //Mengkatifkan Backlight pada LCD
LCD.setCursor(1,0); //Mengatur kursor pada LCD
LCD.print("SISTEM PEMANTAU"); //Menampilkan pada LCD
LCD.setCursor(1,1); //Mengatur kursor pada LCD
LCD.print("KEAMANAN RUMAH"); //Menampilkan pada LCD
delay (1000); //Menunda selama 1 detik
LCD.clear(); //Membersihkan LCD
LCD.setCursor(1,0); //Mengatur kursor pada LCD
LCD.print(" MULAI "); //Menampilkan pada LCD
delay(1000); //Menunda selama 1 detik
LCD.clear(); //Membersihkan LCD
}
void loop() {
nilai = digitalRead(input_pin); //Membaca nilai input
if (nilai == LOW) { //Jika nilai input LOW, maka:
digitalWrite(led_pin, LOW); //LED tidak akan menyala
if (kondisi_pir == LOW) {
LCD.init(); //Menginisialisasi objek LED
LCD.backlight(); //Mengaktifkan Backlight pada LCD
LCD.setCursor(0,0); //Mengatur kursor pada LCD
LCD.print("TIDAK TERDETEKSI"); //Menampilkan pada LCD
LCD.setCursor(0,1); //Mengatur kursor pada LCD
LCD.print(" GERAKAN "); //Menampilkan pada LCD
//Output program akan terganti, jika input bernilai HIGH
kondisi_pir = HIGH; //Status kondisi Sensor PIR
}
} else {
digitalWrite(led_pin, HIGH); //Menuliskan nilai LED HIGH
if (kondisi_pir == HIGH) { //Jika input nilai HIGH, maka:
LCD.init(); //Menginisialisasi objek LED
LCD.backlight(); //Mengaktifkan Backlight pada LCD
LCD.setCursor(0,0); //Mengatur kursor pada LCD
LCD.print(" TERDETEKSI "); //Menampilkan pada LCD
LCD.setCursor(0,1); //Mengatur kursor pada LCD
LCD.print(" GERAKAN! "); //Menampilkan pada LCD
//Output program akan terganti, jika input bernilai LOW
kondisi_pir = LOW; //Status kondisi Sensor PIR
}
}
}