/*
Bariyer Sistemi v4 attachinterrupt ve reset pinini butonla bağlama

HC-SR-04 Ultrasonic Distance Sensor
Ses havada ortalama 340 m/sn hızla ilerler.
Bu da 34000 cm/sn demektir.
Bu 34 cm/milisn'ye eşittir. 
Ölçümlerimizi Arduino'da mikrosaniye cinsinden yaptığımız için 
0.034 cm/mikrosaniye bizim için birim değerimizdir.
*/
// Servo - Version: Latest 
#include <Servo.h>
 Servo servom;
float mesafe;
long sure;
#define trigPin 13
#define echoPin 8


void setup() {
    servom.attach(15);
    pinMode(trigPin,OUTPUT); //Trig
    pinMode(echoPin,INPUT); //Eco
    pinMode(7,OUTPUT); //led
    pinMode(2,INPUT); //buton 1
    attachInterrupt(digitalPinToInterrupt(2), bariyerAc, RISING);
    digitalWrite(7,0);
    servom.write(0);
}

void loop() {
    mesafeOlc();
    if(mesafe<20){
    servom.write(90);
    }
    else{
    servom.write(0);
    }
    if(digitalRead(7)){
      servom.write(90);
      while(1);
    }
}

void bariyerAc(){
  digitalWrite(7,1);
}

void mesafeOlc(){
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);  // 2 mikro saniye bekle
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10); //tetik pini 10 mikrosaniye boyunca ses dalgası yayınlıyor.
    digitalWrite(trigPin, LOW); // ses yayınını bitir.
    sure=pulseIn(echoPin,HIGH); //süre sesin gidiş geliş süresi.Bu nedenle hesaplamada 2'ye bölmeliyiz. 
    mesafe= (sure/2)*0.034;  //   340 m/sn = 0.034 cm/mikrosn
}