Bu yazımızda Arduino Ultrasonik HC-SR04 mesafe algılayıcı sensörünün kullanımını deneyeceğiz. Bu sensörü internet üzerinden sipariş vererek edinebilirsiniz.

HC-SR04

Arduino Ultrasonic HC-SR04 Nasıl Çalışır ?

Sensörü kullanmadan önce çalışma mantığına göz atalım, 20Khz-1Ghz frekans aralığındaki insan kulağının duyamadığı sesler, ultrasonik sesler olarak tanımlanmıştır. HC-SR04 ultrasonik sensörümüz ise 40Khz frekansında ses üretmektedir. Sesin yüksekliği frekansla ölçülür, frekans yüksekse, ses de yüksektir.

HC-SR04 sensörü insan kulağının duyamayacağı ultrasonik ayarında ses yollar. Ses bir engele çarparsa geriye yansıyarak sensöre gelir. Sensör sesin gidip gelme süresini hesaplar ve cismin uzaklığını bulur.

 

Devre Tahtası (Breadbord) Üzerinde Devreyi Kurma

Sensörün çalışma mantığını anladıktan sonra devre tahtası üzerinde devre kurmaya başlayalım, sensör üzerinde 4 adet pin mevcut,

Bu pinleri,

VCC -> 5 Volt
GND -> GND
Trig -> 8 (değişebilir)
Echo -> 9 (değişebilir)

olacak şekilde bağlayalım. Trig-Echo pinlerini istediğiniz pine bağlayabilirsiniz, kodunuzu da ona göre düzenlemeyi unutmayın 🙂

HC-SR04

 

şeklinde bağlayalım.

Arduino Kodlarını Yazma,

 

const int TriggerPin = 8; //Trig pin
const int EchoPin = 9; //Echo pin
long Duration = 0;

void setup(){
pinMode(TriggerPin,OUTPUT); // Trigger output
pinMode(EchoPin,INPUT); // Echo input
Serial.begin(9600); // Serial Output
}

void loop(){
digitalWrite(TriggerPin, LOW);
delayMicroseconds(2);
digitalWrite(TriggerPin, HIGH); // Trigger pin tHIGH
delayMicroseconds(10); // 10us high
digitalWrite(TriggerPin, LOW); // Trigger pin  HIGH

Duration = pulseIn(EchoPin,HIGH);

long Distance_mm = Distance(Duration);

Serial.print(“Distance = “);
Serial.print(Distance_mm);
Serial.println(” mm”);

delay(1000);
}

long Distance(long time)
{
// Calculates the Distance in mm
// ((time)*(Speed of sound))/ toward and backward of object) * 10

long DistanceCalc; // Calculation variable
DistanceCalc = ((time /2.9) / 2); // Actual calculation in mm
//DistanceCalc = time / 74 / 2; // Actual calculation in inches
return DistanceCalc; // return calculated value
}

 

 

Kodları programa yazalım ve Arduinoyu bağlayıp, sensörü deneyelim.
Seri Port ekran görüntüsü şu şekilde olmalıdır. (Uzaklıklara göre sayılar değişecektir)

 

serialmonitor