HC-SR04 ULTRASONİK MESAFE SENSÖRÜ MODÜLÜ
Arduino geliştiricileri arasında en popüler olan uzaklık sensörüdür. 4 metreye kadar uzaklıkları ölçebileceğiniz bu sensör 5V ile çalışmaktadır. 15mA akım çeken bu sensör ses dalgalarının gidip gelme süresini ölçerek mesafeyi ölçme prensibi ile çalışır. Uygun fiyatı ve yüksek doğruluk oranı ile bu sensörü mesafe ölçüm projelerinizde rahatlıkla kullanabilirsiniz.
Nerede Kullanılır?
Arduino ile robotik kodlama projelerinde oldukça sık kullanılan HC-SR04 ultrasonik sensör modülü ile engelden kaçan robot yapılabilir, boy ölçme projesinde kullanılabilir, araç park sensör projesi veya radar projesi gibi çeşitli uygulamalar yapılabilir.
Maksimum Menzil | 4m |
Minimum Menzil | 3cm |
Çalışma Voltajı | 5V DC |
Görme Açısı | 15 Derece |
Çektiği Akım | 15mA |
Tetik Bacağı Giriş Sinyali | 10us TTL |
Echo Çıkış Sinyali | Giriş TTL Sinyali ve Mesafe Oranı |
En | 54.48mm |
Boy | 31.42mm |
Vida Delik Çapı | 3.2mm |
Örnek Proje Devre Şeması
Bu projede ultrasonik mesafe sensörü modülü kullanılarak sensörün okuduğu değer seri porta "cm" olarak yazdırılacaktır. Projede HC-SR04 ultrasonik sensör modülü ile Arduino Uno Breadboard kullanılmıştır.
Ultrasonik Mesafe Sensörü Modülü | Arduino Uno Breadboard |
GND | - |
VCC | 5V |
TRIG | D8 |
ECHO | D9 |
Örnek Proje Arduino Kodu
/* ALPGEN Robotics */// Ultrasonik Sensör ile Mesafe Ölçme// 07.05.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com// www.alpgenrobotics.com *//inttrigPin= 8;// trigPin Dijital 8 pine tanımlandıintechoPin=9;// echoPin Dijital 9 pine tanımlandılongzaman; // zaman adında değişken tanımlandılongmesafe; // mesafe adında değişken tanımlandıvoidsetup() // Başlangıç Ayarlamaları{
pinMode(trigPin,OUTPUT);// trigPin çıkış olarak ayarlandı
pinMode(echoPin,INPUT); // echoPin giriş olarak ayarlandı
Serial.begin(9600); // Seri haberleşme hızı 9600 baudrate ayarlandı}voidloop()// Sürekli Tekrar Edecek Olan Döngü{
digitalWrite(trigPin,LOW); // trigPin durumu LOW yapıldı
delayMicroseconds(5); // 5us gecikme süresi
digitalWrite(trigPin,HIGH); // trigPin durumu HIGH yapıldı
delayMicroseconds(10); // 10us gecikme süresi
digitalWrite(trigPin,LOW); // trigPin durumu LOW yapıldı
zaman=pulseIn(echoPin,HIGH);// echoPin HIGH olana kadar geçen süre zaman değişkenine atandı
mesafe=(zaman/29.1)/2; // Ölçülen zaman mesafeye çevrildi
Serial.print("Uzaklik "); // Arduino'nun seri ekranına "Uzaklık" yazdırıldı
Serial.print(mesafe); // Ekranda uzaklık kelimesinden sonra ölçülen mesafe değişkeni yazdırıldı
Serial.println(" cm"); // En son cm yazdırılarak "println" komutu ile satır aşağı kaydırıldı
delay(500); // Verilerin ekrana yazdırılma süresi = 500ms}