Haberler

Arduino Ultrasonik Sensör Genel Bakış ve Eğitimler

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

ref

İş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?

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 Hatırlatıcı Su Şişesi AllThingsTalk ile

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ü

Çöp Kutusu İkonu, Temiz, İnce, Çöp PNG ve Vektör Şeffaf ...

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:

İlgileniyor musunuz? RChloe tarafından Seeed Project Hub’da tam öğreticiyi bulabilirsiniz!

Ultrasonik Sensör Ev Alarmı

GSM Ev Alarmı V1.0
Ref: Hugo Gomes

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:

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!

Leave a Reply

Your email address will not be published. Required fields are marked *