HC-SR04 Ultrasonik Telemetre Arduino'ya Nasıl Bağlanır

İçindekiler:

HC-SR04 Ultrasonik Telemetre Arduino'ya Nasıl Bağlanır
HC-SR04 Ultrasonik Telemetre Arduino'ya Nasıl Bağlanır

Video: HC-SR04 Ultrasonik Telemetre Arduino'ya Nasıl Bağlanır

Video: HC-SR04 Ultrasonik Telemetre Arduino'ya Nasıl Bağlanır
Video: HC-SR04 Ultrasonic obstacle avoidance range finder with Arduino 2024, Mayıs
Anonim

Bu yazımızda HC-SR04 ultrasonik telemetre-sonarı Arduino'ya bağlayacağız.

Ultrasonik sensör HC-SR04
Ultrasonik sensör HC-SR04

Gerekli

  • -Arduino;
  • - ultrasonik sensör HC-SR04;
  • - bağlantı kabloları.

Talimatlar

Aşama 1

HC-SR04 ultrasonik telemetrenin hareketi ekolokasyon ilkesine dayanmaktadır. Uzaya ses darbeleri yayar ve bir engelden yansıyan bir sinyal alır. Nesneye olan mesafe, ses dalgasının engele ve geriye doğru yayılma süresi ile belirlenir.

Ses dalgası, telemetrenin TRIG ayağına en az 10 mikrosaniyelik bir pozitif darbe uygulanarak tetiklenir. Darbe biter bitmez, telemetre önündeki boşluğa 40 kHz frekanslı bir ses darbesi patlaması yayar. Aynı zamanda, yansıyan sinyalin gecikme süresini belirleme algoritması başlatılır ve telemetrenin ECHO ayağında mantıksal bir birim belirir. Sensör yansıyan sinyali algılar algılamaz, ECHO pininde bir mantık sıfırı belirir. Bu sinyalin süresi (şekilde "Eko gecikmesi") nesneye olan mesafeyi belirler.

HC-SR04 telemetrenin mesafe ölçüm aralığı - 0,3 cm çözünürlükle 4 metreye kadar Gözlem açısı - 30 derece, etkili açı - 15 derece. Bekleme modunda akım tüketimi, çalışma sırasında 2 mA - 15 mA.

Ultrasonik telemetre HC-SR04'ün çalışma prensibi
Ultrasonik telemetre HC-SR04'ün çalışma prensibi

Adım 2

Ultrasonik telemetrenin güç kaynağı +5 V voltaj ile gerçekleştirilir. Diğer iki pin Arduino'nun herhangi bir dijital portuna bağlanır, 11 ve 12'ye bağlayacağız.

HC-SR04 Ultrasonik Telemetreyi Arduino'ya Bağlama
HC-SR04 Ultrasonik Telemetreyi Arduino'ya Bağlama

Aşama 3

Şimdi engele olan mesafeyi belirleyen ve seri porta çıktısını veren bir kroki yazalım. İlk olarak, TRIG ve ECHO pinlerinin numaralarını belirledik - bunlar pin 12 ve 11'dir. Ardından tetikleyiciyi çıktı olarak ve yankıyı girdi olarak bildiririz. Seri bağlantı noktasını 9600 baud'da başlatıyoruz. Döngünün her tekrarında (), mesafeyi okur ve porta göndeririz.

getEchoTiming () işlevi, bir tetik darbesi üretir. Sadece, bir ses paketinin telemetre tarafından uzaya radyasyonun başlaması için bir tetikleyici olan 10 mikrosaniyelik bir darbe akımı yaratır. Sonra ses dalgasının iletiminin başlangıcından yankının gelişine kadar geçen süreyi hatırlar.

getDistance () işlevi, nesneye olan mesafeyi hesaplar. Okulun fizik dersinden, mesafenin zamanla çarpılan hıza eşit olduğunu hatırlıyoruz: S = V * t. Sesin havadaki hızı 340 m/s'dir, mikrosaniye cinsinden bildiğimiz süre "duratuion"dur. Zamanı saniye cinsinden almak için 1.000.000'a bölün. Ses, nesneye ve geriye doğru iki kat mesafe kat ettiğinden, mesafeyi ikiye bölmeniz gerekir. Böylece eskizde yazdığımız S = 34000 cm / sn * süre / 1.000.000 sn / 2 = 1.7 cm / sn / 100 cisme olan uzaklığı ortaya çıkıyor. Mikrodenetleyici çarpma işlemini bölmeden daha hızlı gerçekleştirir, bu yüzden "/ 100" yerine "* 0, 01" eşdeğerini koydum.

Ultrasonik sonar HC-SR04 ile çalışmak için taslak
Ultrasonik sonar HC-SR04 ile çalışmak için taslak

4. Adım

Ayrıca, bir ultrasonik telemetre ile çalışmak üzere birçok kitaplık yazılmıştır. Örneğin, bu: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Kütüphane standart bir şekilde kurulur: indirin, Arduino IDE'nin bulunduğu klasörde bulunan kütüphaneler dizinine açın. Bundan sonra kütüphane kullanılabilir.

Kütüphaneyi kurduktan sonra yeni bir eskiz yazalım. Çalışmasının sonucu aynı - seri bağlantı noktası monitörü nesneye olan mesafeyi santimetre olarak gösteriyor. Çizimde float dist_cm = ultrasonic. Ranging (INC) yazarsanız, mesafe inç olarak görüntülenecektir.

Kitaplığı kullanarak ultrasonik sonar çizimi
Kitaplığı kullanarak ultrasonik sonar çizimi

Adım 5

Böylece, HC-SR04 ultrasonik telemetreyi Arduino'ya bağladık ve ondan iki farklı şekilde veri aldık: özel bir kütüphane kullanarak ve olmadan.

Kütüphaneyi kullanmanın avantajı, kod miktarının önemli ölçüde azalması ve programın okunabilirliğinin iyileştirilmesi, cihazın inceliklerini araştırmak zorunda kalmamanız ve hemen kullanabilirsiniz. Ancak bu aynı zamanda dezavantajdır: cihazın nasıl çalıştığını ve içinde hangi işlemlerin gerçekleştiğini daha az anlıyorsunuz. Her durumda, hangi yöntemi kullanacağınız size kalmış.

Önerilen: