/* 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 }