HC-SR04 gibi Arduino ultrasonik sensörleri ile mesafeyi ölçebilirsiniz. Bu Arduino eğitimi aracılığıyla, bir ultrasonik sensörün nasıl çalıştığını ve bunu Arduino ile hatta Raspberry Pi ile nasıl kullanacağınızı öğreneceksiniz.

Arduino Ultrasonik Sensörü Nedir?

Ultrasonik sensör, havada yayılan ultrasonik dalgalar aracılığıyla mesafeleri ölçen bir sensördür. Eğer ultrasonik dalga bir nesneye veya engel ile karşılaşırsa, geri dönerek sensöre doğru yansır.
Ultrasonik Sensör Çalışma Prensibi
İşte bir ultrasonik sensörün mesafe ölçmek için nasıl çalıştığına dair basit bir örnek:
- Öncelikle, verici (trig pini) bir ses dalgası gönderir
- Nesne dalgayı alır ve geri sensöre yansıtır.
- Alıcı (eko pini) dalgayı alır
Gönderim ve alım arasındaki süre, sesin havadaki hızının bilindiği için mesafenin hesaplanmasına olanak tanır.
Arduino Ultrasonik Sensör Örnekleri
HC-SR04

En popüler ultrasonik sensörlerden biri HC-SR04’dır. HC-SR04’ün konfigürasyon pinleri VCC (1), TRIG (2), ECHO (3) ve GND (4) şeklindedir. VCC’nin besleme voltajı 5V’dur ve TRIG ile ECHO pinlerini Arduino Kartınızdaki herhangi bir Dijital G/Ç pinine bağlayarak çalıştırabilirsiniz.
Teknik Özellikler
- Güç Kaynağı: DC 5V
- Çalışma Akımı: 15mA
- Çalışma Frekansı: 40Hz
- Mesafe Aralığı: 2cm – 400cm/4m
- Çözünürlük: 0.3 cm
- Ölçme Açısı: 15 derece
- Trigger Giriş Puls Genişliği: 10uS
- Boyut: 45mm x 20mm x 15mm
Grove – Ultrasonik Mesafe Sensörü

Bir sonraki sensörümüz, Seeed’in HC-SR04 ile karşılaştırılabilir kendi versiyonu olan Grove – Ultrasonik Mesafe Sensörü.
3cm ile 350cm arasında ölçüm yapabilir ve 2mm’ye kadar hassasiyet sunar. Mesafe ölçümü, yakınlık sensörleri ve ultrasonik dedektörler için mükemmel bir ultrasonik modüldür.
Teknik Özellikler
- Güç Kaynağı: 3.3V – 5V
- Çalışma Akımı: 8mA
- Çalışma Frekansı: 40Hz
- Mesafe Aralığı: 3cm – 350cm/3.5m
- Çözünürlük: 1 cm
- Ölçme Açısı: 15 derece
- Trigger Giriş Puls Genişliği: 10uS TTL
- Boyut: 50mm x 25mm x 16mm
HC-SR04 vs Seeed Grove Ultrasonik Mesafe Sensörü
HC-SR04 ile Seeed Grove Ultrasonik Mesafe Sensörü arasındaki fark nedir?

| Grove – Ultrasonik Mesafe Sensörü | HC-SR04 | |
|---|---|---|
| Çalışma Voltajı | 3.3V / 5V uyumlu Geniş voltaj seviyesi: 3.2V – 5.2V |
5V |
| Ölçüm Aralığı | 3cm – 350cm | 2cm – 400cm |
| G/Ç Pinleri Gerekli | 3 | 4 |
| Çalışma Akımı | 8mA | 15mA |
| Boyutlar | 50mm x 25mm x 16mm | 45mm x 20mm x 15mm |
| Raspberry Pi ve Arduino ile eşleştirme kolaylığı | Kolay, Raspberry Pi’nin G/Ç’sine doğrudan bağlanır
Arduino’ya kolay bağlantı için Grove Bağlantısı vardır |
Voltaj dönüştürme devresi gerektirir |
Yukarıdaki tablodan gözlemleyebileceğimiz ana farklar şunlardır:
Çalışma Voltajı
- Grove -Ultrasonik Mesafe Sensörü daha geniş bir voltaj seviyesini destekler
G/Ç Pinleri Gerekli
- Grove-Ultrasonik Mesafe Sensörü’nde sinyalleri iletme ve alma işlemleri tek bir pin üzerinden gerçekleştirilir, bu da mevcut pinlerin tamamının kullanılma gereksinimini azaltır
Raspberry Pi ve Arduino ile eşleştirme kolaylığı
- Grove Ultrasonik Mesafe Sensörü 3.3V’u destekler, bu da voltaj dönüştürme devresi kullanmadan Raspberry Pi’nin G/Ç’sine doğrudan bağlanmasına olanak tanır
- Üzerindeki tak-çalıştır Grove bağlantısı ile, eğer bir Grove-Base shield veya bir Seeeduino‘ya sahipseniz, Grove-Ultrasonik Mesafe Sensörünü bir kablo ile kolayca bağlayabilirsiniz.
HC-SR04’ün popülaritesine rağmen, grove ultrasonik mesafe sensörü, daha az harici bileşen ve Raspberry Pi ile Arduino ile daha kolay eşleştirme imkanı sunan daha çok yönlü bir seçenektir. Ayrıca, Grove – Ultrasonik Mesafe Sensörünü Arduino ve Raspberry Pi ile kolayca kullanabilmeniz için Arduino, Python ve Codecraft için tam belgeler ve kütüphaneler sağlıyoruz!
Ultrasonik Sensör Arduino ve Raspberry Pi Eşleştirme Kılavuzu ile Başlarken
Bu eğitimde, Grove Ultrasonik Mesafe Sensörü‘nü kullanarak bunu Arduino ve Raspberry Pi ile eşleştireceğiz. İlk eğitim için Arduino kılavuzunu hazırladık. Raspberry Pi için eğitimi görmek için aşağı kaydırın.
Ultrasonik Sensör Arduino Kılavuzu:
Ne gerekiyor?
Aşağıdaki yazılı eğitimi okuyabilir veya aşağıdaki videoyu izleyebilirsiniz!
Adım adım talimatlar
Donanım bağlantıları
Adım 1: Ultrasonik Ranger’ı Grove-Base Shield’in D7 portuna bağlayın
Adım 2: Grove – Base shield’i Seeeduino’ya takın
Adım 3: Seeeduino’yu bir USB kablosu ile PC’ye bağlayın
Yukarıdaki adımları tamamladıktan sonra şöyle görünmelidir:

Yazılım yapılandırmaları:
Adım 1: UltrasonicRanger Kütüphanesini Github’dan indirin.
Adım 2: Arduino’ya kütüphane yükleme konusunda emin değilseniz Kütüphane nasıl yüklenir kısmına bakın.
Adım 3: Kodu Arduino IDE’ye kopyalayın ve yükleyin. Kodu nasıl yükleyeceğinizi bilmiyorsanız, lütfen kod yükleme rehberimize göz atın.
#include "Ultrasonic.h"
Ultrasonic ultrasonic(7);
void setup()
{
Serial.begin(9600);
}
void loop()
{
long RangeInInches;
long RangeInCentimeters;
Serial.println("Önündeki engellere olan mesafe: ");
RangeInInches = ultrasonic.MeasureInInches();
Serial.print(RangeInInches);//0~157 inç
Serial.println(" inç");
delay(250);
RangeInCentimeters = ultrasonic.MeasureInCentimeters(); // iki ölçüm arasında bir aralık olmalıdır
Serial.print(RangeInCentimeters);//0~400cm
Serial.println(" cm");
delay(250);
}
- Adım 4: Terminalde aşağıdaki gibi mesafe göstereceğiz:
Önündeki engellere olan mesafe:
2 inç
6 cm
Önündeki engellere olan mesafe:
2 inç
6 cm
Önündeki engellere olan mesafe:
2 inç
6 cm
Eğer birden fazla ultrasonik sensörü bir Arduino’ya bağlamak istiyorsanız, birini D2’ye ve diğerini D3’e bağlayarak yapabilirsiniz. Aşağıda ilgili kodlar bulunmaktadır:
#include "Ultrasonic.h"
Ultrasonic ultrasonic1(2);
Ultrasonic ultrasonic2(3);
void setup()
{
Serial.begin(9600);
}
void loop()
{
long RangeInCentimeters1;
long RangeInCentimeters2;
RangeInCentimeters1 = ultrasonic1.MeasureInCentimeters(); // iki ölçüm arasında bir aralık olmalıdır
Serial.print(RangeInCentimeters1);//0~400cm
Serial.println(" cm");
RangeInCentimeters2 = ultrasonic2.MeasureInCentimeters(); // iki ölçüm arasında bir aralık olmalıdır
Serial.print(RangeInCentimeters2);//0~400cm
Serial.println(" cm");
delay(250);
}
Raspberry Pi ile Ultrasonik Sensör Kullanımı
Bu kılavuzda, aşağıdaki kılavuz için Raspberry Pi 3B kullanacağız, ancak temel şapka destekleyen diğer modeller de kullanılabilir.
Eğer henüz bir Raspberry Pi’ye sahip değilseniz, Grove-Ultrasonic Mesafe Sensörü ile birlikte kullanmak için düşük maliyetli bir seçenek olan Raspberry Pi Zero‘yı alabilirsiniz.
Ne gerekiyor?
-

Raspberry Pi -

Raspberry Pi Base Hat -

Grove Ultrasonic Mesafe Sensörü
Adım Adım Talimatlar
Donanım Bağlantıları
Adım 1: Grove Base Hat’i Raspberry Pi’ye takın
Adım 2: Grove – Ultrasonik Ranger’ı Base Hat’in D5 portuna bağlayın
Adım 3: Raspberry Pi’yi USB kablosu ile PC’ye bağlayın
- Ultrasonik ranger’ı herhangi bir GPIO portuna bağlayabilirsiniz, ancak komutu ilgili port numarası ile değiştirmeniz gerektiğinden emin olun
Yukarıdaki adımları tamamladıktan sonra şöyle görünmelidir:

Yazılım Yapılandırmaları:
- Adım 1. Geliştirme ortamını yapılandırmak için Yazılım Ayarları talimatlarını izleyin.
- Adım 2. grove.py kütüphanesini klonlayarak kaynak dosyayı indirin.
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- Adım 3. Kodu çalıştırmak için aşağıdaki komutları yürütün.
cd grove.py/grove
python grove_ultrasonic_ranger.py 5 6
Aşağıda grove_ultrasonic_ranger.py kodu bulunmaktadır.
import sys
import time
from grove.gpio import GPIO
usleep = lambda x: time.sleep(x / 1000000.0)
_TIMEOUT1 = 1000
_TIMEOUT2 = 10000
class GroveUltrasonicRanger(object):
def __init__(self, pin):
self.dio =GPIO(pin)
def _get_distance(self):
self.dio.dir(GPIO.OUT)
self.dio.write(0)
usleep(2)
self.dio.write(1)
usleep(10)
self.dio.write(0)
self.dio.dir(GPIO.IN)
t0 = time.time()
count = 0
while count < _TIMEOUT1:
if self.dio.read():
break
count += 1
if count >= _TIMEOUT1:
return None
t1 = time.time()
count = 0
while count < _TIMEOUT2:
if not self.dio.read():
break
count += 1
if count >= _TIMEOUT2:
return None
t2 = time.time()
dt = int((t1 - t0) * 1000000)
if dt > 530:
return None
distance = ((t2 - t1) * 1000000 / 29 / 2) # cm
return distance
def get_distance(self):
while True:
dist = self._get_distance()
if dist:
return dist
Grove = GroveUltrasonicRanger
def main():
if len(sys.argv) < 2:
print('Kullanım: {} pin_numarası'.format(sys.argv[0]))
sys.exit(1)
sonar = GroveUltrasonicRanger(int(sys.argv[1]))
print('Mesafe algılanıyor...')
while True:
print('{} cm'.format(sonar.get_distance()))
time.sleep(1)
if __name__ == '__main__':
main()
Her şey yolunda giderse, aşağıdaki sonucu görmelisiniz (Sensör tarafından ölçülen mesafeyi gösterir)
pi@raspberrypi:~/grove.py/grove $ python grove_ultrasonic_ranger.py 5 6
Mesafe algılanıyor...
121.757901948 cm
246.894770655 cm
2.60205104433 cm
0.205533257846 cm
0.657706425108 cm
247.433267791 cm
122.485489681 cm
^CTraceback (most recent call last):
File "grove_ultrasonic_ranger.py", line 110, in <module>
main()
File "grove_ultrasonic_ranger.py", line 107, in main
time.sleep(1)
KeyboardInterrupt
Bu programdan çıkmak için Ctrl + C tuşlarına basabilirsiniz
Arduino Ultrasonik Sensör Projeleri
Artık Ultrasonik sensörünüzü nasıl programlayacağınızı biliyorsunuz, neden bu projelerden bazılarını denemiyorsunuz!
İçme Hatırlatıcı Su Şişesi

Meşgulken su içmeyi sık sık unutur musunuz? Bu projeyle, su içmeniz için sizi uyaran bir içme hatırlatıcı oluşturabilirsiniz! Ultrasonik sensör, şişedeki su seviyesindeki değişiklikleri tespit edebilir ve ne kadar su içildiğini hesaplayabilir!
Ne gerekiyor:
İlgileniyor musunuz? Tam öğreticiyi buradan bulabilirsiniz!
Çöp Sensörü

Bir haftada ne kadar çöp ürettiğinizi hiç merak ettiniz mi? Geri dönüşüm kutunuzu ne kadar hızlı doldurduğunuzu bilmek ister misiniz?
Bu projeyle, çöpünüzü (veya geri dönüşümünüzü) takip edebilir ve dışarı çıkarılması gerektiğinde bildirim alabilirsiniz.
Ne gerekiyor:
- Arduino Yun
- Micro SD Kart ve Kart Okuyucu-32GB (veya 4 GB veya daha büyük herhangi bir SD kart)
- USB-A’dan Micro-USB Kablo
- Jumper Kablolar
- Grove Ultrasonik Mesafe Sensörü
İlgileniyor musunuz? RChloe tarafından Seeed Project Hub’da tam öğreticiyi bulabilirsiniz!
Ultrasonik Sensör Ev Alarmı
Bir güvenlik sistemine mi ihtiyacınız var ama çok pahalı mı? Neden kendinize çok daha ucuza bir tane yapmıyorsunuz! Bu proje, ultrasonik sensör bir mesafe farkı tespit ettiğinde sizi arayacak bir alarm sistemi oluşturmanıza olanak tanır.
Ne gerekiyor:
- Arduino UNO / Seeeduino V4.2
- GPRS Shield V3.0
- Grove Ultrasonik Mesafe Sensörü
- Güç kaynağı 12V@2A
- Breadboard
Bu projeye ilginiz mi var? Hugo Gomes tarafından Seeed Project Hub’da tam öğreticiyi kontrol edebilirsiniz!
Özet
Yukarıdaki öğreticilerin yardımcı olduğunu umuyorum, daha fazla teknik destek ihtiyacınız olursa, techsupport@seeed.cc adresine e-posta gönderebilirsiniz.
Grove-Ultrasonik Mesafe Sensörü şimdi stokta, bir tane almayı unutmayın!



