// SULTAN HAKIM RAMDHANI
// +6285777786590
// [email protected]
// Kode Alarm Sensor Gerak
// www.TeknikElektro.com
include<Wire.h>
include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16, 2);
int WaktuKalibrasi = 10;
int PinSensorPIR = 6;
int PinBuzzer = 7;
void setup()
{
// inisialisasikan code untuk persiapan:
Serial.begin(9600);
lcd.begin();
lcd.backlight();
pinMode (PinSensorPIR, INPUT);
pinMode (PinBuzzer, OUTPUT);
digitalWrite(PinSensorPIR, LOW);
lcd.setCursor(1,0);
lcd.print("Sedang Kalibrasi");
delay(500);
lcd.setCursor(0,1);
lcd.print("Sensor.....");
Serial.println("Please wait, now calibrating the sensor....");
for(int i = 0; i <= WaktuKalibrasi; i++)
{
Serial.print(((i*100)/WaktuKalibrasi));
Serial.print("% ");
lcd.setCursor(12,1);
lcd.print(((i*100)/WaktuKalibrasi));
lcd.print("%");
Serial.println("Selesai.....");
delay(1000);
}
Serial.println("Kalibrasi Sensor Selesai");
Serial.println("** SENSOR AKTIF **");
delay(50);
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" Selesai ");
delay(500);
lcd.setCursor(0,1);
lcd.print(" SENSOR AKTIF! ");
delay(2000);
}
void loop()
{
// put your main code here, to run repeatedly:
if(digitalRead(PinSensorPIR) == HIGH)
{
digitalWrite(PinBuzzer, HIGH);
Serial.println("----------------------------");
Serial.println("** ALARM! MALING **");
Serial.println("----------------------------");
Serial.println("");
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" ALARM! ALARM! ");
lcd.setCursor(0,1);
lcd.print("ADA MALING!");
delay(10000);
}
else
{
digitalWrite(PinBuzzer, LOW);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Alarm");
lcd.setCursor(0,1);
lcd.print("Ada Gerakan ");
delay(10000);
}
}