#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <Servo.h>
Servo servo_name;
int stts_servo = 0; //status posisi sudut
#define pir_sensor 2 //pin
int status_pir = LOW; //status
int nilai_pir; //nilai yg diukur
void setup() {
// put your setup code here, to run once:
servo_name.attach(3); //pin 9
Serial.begin(9600);
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("hello world");
delay(3000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
nilai_pir = digitalRead(pir_sensor);
if(nilai_pir == HIGH){
servo_name.write(stts_servo);
Serial.println("Gerakkan Terdeteksi");
lcd.setCursor(2,0);
lcd.print("Ada Gerakkan");
delay(500);
lcd.clear();
}
else if(nilai_pir == LOW){
Serial.println("Gerakkan Tidak Terdeteksi");
lcd.setCursor(0,1);
lcd.println("Tdk ada Gerakkan");
delay(500);
lcd.clear();
}
else{
Serial.println("Silahkan muat ulang program");
}
for (stts_servo = 0; stts_servo <= 180; stts_servo += 1) {
servo_name.write(stts_servo); // Atur posisi servo ke nilai pos
delay(15); // Tunda selama 15 milidetik untuk gerakan yang halus
}
for (stts_servo = 180; stts_servo >= 0; stts_servo -= 1) {
servo_name.write(stts_servo); //Jeda selama 15 milidetik
delay(15);
}
}