#define ECHO_PIN 4
#define TRIG_PIN 3
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR    0x27
#define LCD_COLUMNS 20
#define LCD_LINES   4

LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int inputPin = 2; // hareket sensörü sinyal pini
int pirState = LOW; // hareket algılama başlangıç durumu
int val = 0; // pinden gelen veri
int buzzerpin = 10; //buzzer pwm pini
int led = 13;
void setup() {
pinMode(inputPin, INPUT);
pinMode(buzzerpin, OUTPUT);
pinMode(led, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(5, INPUT_PULLUP);
Serial.begin(9600);
  pinMode(7, INPUT_PULLUP);
  pinMode(6, INPUT_PULLUP);
    lcd.init();
  lcd.backlight();
}

float readDistanceCM() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  int duration = pulseIn(ECHO_PIN, HIGH);
  return duration * 0.034 / 2;
}

 
void loop(){
b:
c:

float distance = readDistanceCM();

int deger;
deger = digitalRead(6);

val = digitalRead(inputPin); 
if(deger==1)
{
      lcd.setCursor(0, 1);
    lcd.print("Alarm calisiyor");
if (val == HIGH ) {
  lcd.setCursor(0, 0);
lcd.print("evde biri var !");
beep(500);
digitalWrite(led, HIGH);
delay(500);
if(deger==1){
goto c;
  }
else
{
  goto b;
}
}

if( distance > 100)
{

 beep(500);
digitalWrite(led, HIGH);
  lcd.setCursor(0, 0);
lcd.print("pencere acik!");


if(deger==1){
goto c;
 
  }
  else
  {
    goto b;  
  }


}
else{
digitalWrite(buzzerpin, HIGH); // alarmı kapat
digitalWrite(led, LOW);
delay(150);

 

}





if (val == LOW) {
if(  distance<100)
  lcd.setCursor(0, 0);
lcd.print("Problem  yok ");
 } 
  



}
else
{
  lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print("Alarm kapali   ");
    delay(1000);
digitalWrite(buzzerpin, HIGH); // alarmı kapat
digitalWrite(led, LOW);
}
}
void beep(unsigned char delayms){
analogWrite(10, 255);
delay(delayms);
analogWrite(10, 150);
delay(delayms);


 
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
pir1:VCC
pir1:OUT
pir1:GND
led1:A
led1:C
bz1:1
bz1:2
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
sw1:1
sw1:2
sw1:3
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL