HC-SR04 Ultrasonik Mesafe Sensörü nesnelerin algılanmasında ya da nesnelerin uzaklığını ölçmek için kullanılan çok popüler bir sensördür. Modülün ön tarafında iki göz gibi bulunan ultrasonik alıcı ve verici bulunmaktadır.
HC-SR04 Ultrasonik Mesafe Sensörü basit bir çalışma mantığı vardır. Ön tarafından bulunan ultrasonik verici ultrasonik bir dalga gönderir, gönderilen dalga nesneden çarptıktan sonra ultrasonik alıcı tarafından okunur. Mesafenin ölçülmesi içinde aşağıdaki formül kullanılmaktadır
Mesafe = Hız x Zaman
Ölçüm yapacağımız mesafeyi bulmak için buradaki zamanı 2’ye bölmemiz gerekmektedir. Çünkü HC-SR04 Ultrasonik Mesafe Sensörün okuduğu süre gönderdiği dalganın nesneye çarpması ve geri gelmesinin toplamıdır.
Hız ise ultrasonik dalganın normal şartlar altındaki teorik hız değeri olan 330 m/s dir.
HC-SR04 Ultrasonik Mesafe Sensörü 5V Dc Gerilim altında çalışmaktadır. Sensör 15 mA den daha az akım harcamasına sahiptir.
HC-SR04 Ultrasonik Mesafe Sensörü, Arduino, ARM, Pic, Raspberry Pi mikrodenetleyici kartlar ile birlikte kullanılabilir. Fakat dikkat edilmesi gereken konu, HC-SR04 Ultrasonik Mesafe Sensörünün çıkış sinyali 5 V’dur. Bu yüzden Raspberry Pi gibi 3.3V giriş pinlerine sahip mikrodenetleyici kartlar ile kullanmak için voltaj bölücü kullanmak gerekmektedir.
HC-SR04 Ultrasonik Sensör Nasıl Kullanılır?
#define HC_trig 2 //Trig pininin bağlı olduğu pin
#define HC_echo 3 //Echo pininin bağlı olduğu pin
uint16_t sure; //Okunan süre için değişken
uint16_t mesafe; //Hesaplanan mesafe için değişken
void setup() {
Serial.begin (9600); //Seri haberleşme başlatılır
pinMode(HC_trig, OUTPUT); //Trig pini çıkış olarak ayarlanır
pinMode(HC_echo, INPUT); //Echo pini giriş olarak ayarlanır
digitalWrite(HC_trig, LOW); //Trig bacağı LOW yapılır
}
void loop() {
digitalWrite(HC_trig, LOW); //Trig pini 0'a çekilir.(Zorunlu değildir sadece emin olmak için.)
delayMicroseconds(2); //2 uS beklenir
digitalWrite(HC_trig, HIGH); //Trig pini 1'e çekilir
delayMicroseconds(10); //10 uS 1'de tutulur
digitalWrite(HC_trig, LOW); //Trig bacağı 0'a çekilir ve sensör tetiklenmiş olur
sure = pulseIn(HC_echo, HIGH); //pulseIN fonksiyonu ile Echo pininin kaç uS '1' olduğu ölçülür
mesafe = sure*0.034/2; //Süreden mesafe hesaplanır
Serial.print("mesafe = "); //Mesafe seri porttan gösterilir
Serial.print(mesafe);
Serial.println("cm");
delay(100);
}
cansu demirel –
arduino ile radar projesinde kullanmak istiyorum uyumlumudur