#include <HCSR04.h>
//Alarm
int alarmLED = 5;
int alarmBuzzer = 2;
int echoPin = 15;
int trigPin = 16;
bool bewegungsStatus = LOW;

double distance = 0;
double distance2 = 0;
UltraSonicDistanceSensor distanceSensor(trigPin, echoPin);

void setup()
{
  pinMode(alarmLED, OUTPUT);
  pinMode(alarmBuzzer, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  distance = distanceSensor.measureDistanceCm();
  Serial.println(distance);
  delay(1000);
  distance2 = distanceSensor.measureDistanceCm();
  Serial.println(distance2);
  alarm();
  delay(500);
}

void alarm()
{
  if (abs(distance-distance2)>=1) //Um einen Fehlerbereich zu erstellen. Eine Aenderung kann bis zu 1 Laengeneinheiten betragen, bis der Sensor auslöst.
  {
    bewegungsStatus = HIGH;
  }
  else
  {
    bewegungsStatus = LOW;
  }

  if (bewegungsStatus == HIGH)
  {
    Serial.println("Alarm");
    for (int i = 0; i<3; i++)
    {
      digitalWrite(alarmLED, HIGH);
      digitalWrite(alarmBuzzer, HIGH);
      delay(1000);
      digitalWrite(alarmLED, LOW);
      digitalWrite(alarmBuzzer, LOW);
      delay(500);
    }
  }
}
