#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); //(adres, sütün, satır)
int led =13;
int motionsensor =12 ;
int motionsensorstate =LOW ; //ilk başta hareket algılanmaz
int value =0;
int buzzer = 15;
void setup() {
Serial.begin(115200);
lcd.init(); //LCD'yi başlatır
lcd.backlight(); //LCD'nin arka ışığını açar
pinMode(led, OUTPUT);
pinMode(motionsensor, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
value = digitalRead(motionsensor); //hareket algınalır
if (value == HIGH) { //hareket varsa
digitalWrite(led, HIGH); //led yanar
tone(buzzer, 262); //buzzer 262 frekansında do notasını çalar
if (motionsensorstate == LOW) { //ilk başktaki durum olduğu için hareket varsa bu kısım çalışacak
lcd.clear();
lcd.setCursor(3,0);
lcd.print("HAREKET");
lcd.setCursor(5,1);
lcd.print("VAR");
Serial.println("Hareket algılandı!");
motionsensorstate = HIGH; //hareket olduğu için durum HIGH'a getirilir
}
}
else { //hareket yoksa
digitalWrite(led, LOW); //led yanmaz
noTone(buzzer); //buzzer çalmaz
if (motionsensorstate == HIGH) { //hareket durduktan sonra
Serial.println("Hareket son buldu!");
lcd.clear();
lcd.setCursor(3,0);
lcd.print("HAREKET");
lcd.setCursor(4,1);
lcd.print("DURDU");
motionsensorstate = LOW; //hareket durduğu için durum LOW'a getirilir
}
}
delay(10);
}