HC-SR04 Ultrasəs Məsafəni Arduinoya Necə Bağlamaq Olar

Mündəricat:

HC-SR04 Ultrasəs Məsafəni Arduinoya Necə Bağlamaq Olar
HC-SR04 Ultrasəs Məsafəni Arduinoya Necə Bağlamaq Olar

Video: HC-SR04 Ultrasəs Məsafəni Arduinoya Necə Bağlamaq Olar

Video: HC-SR04 Ultrasəs Məsafəni Arduinoya Necə Bağlamaq Olar
Video: Sinhala Arduino Tutorial 07 - Ultrasonic Sensor , Serial Monitor 2024, Bilər
Anonim

Bu yazıda, HC-SR04 ultrasəs məsafəsi-sonarını Arduinoya bağlayacağıq.

Ultrasonik sensor HC-SR04
Ultrasonik sensor HC-SR04

Zəruri

  • - Arduino;
  • - ultrasəs sensoru HC-SR04;
  • - birləşdirici tellər.

Təlimat

Addım 1

HC-SR04 ultrasəs məsafəsi göstəricisinin hərəkəti ekolokasiya prinsipinə əsaslanır. Kosmosa səs impulsları verir və maneədən əks olunan bir siqnal alır. Cismə olan məsafə səs dalğasının maneəyə və arxaya yayılma müddəti ilə müəyyən edilir.

Səs dalğası, məsafəni ölçən cihazın TRIG ayağına ən az 10 mikrosaniyədə müsbət bir nəbz tətbiq etməklə işə salınır. Nəbz sona çatan kimi, məsafəni ölçən qabaqdakı boşluğa 40 kHz tezliyində bir səs impulsu buraxır. Eyni zamanda, əks olunan siqnalın gecikmə müddətini təyin etmək üçün alqoritm işə salınır və məsafədən uzaqlaşma cihazının ECHO ayağında məntiqi bir vahid görünür. Sensor əks olunan siqnalı aşkar edən kimi ECHO pinində məntiqi bir sıfır görünür. Bu siqnalın müddəti (şəkildə "Echo gecikməsi") obyektə olan məsafəni təyin edir.

HC-SR04 məsafəni ölçmə məsafəsi - 0,3 sm qətnamə ilə 4 metrə qədər, Müşahidə bucağı - 30 dərəcə, təsirli bucaq - 15 dərəcə. Gözləmə rejimində cari istehlak 2 mA, əməliyyat zamanı - 15 mA.

Ultrasonik məsafədən ölçmə cihazı HC-SR04
Ultrasonik məsafədən ölçmə cihazı HC-SR04

Addım 2

Ultrasonik məsafədarın enerji təchizatı +5 V gərginliklə həyata keçirilir. Digər iki sancaq Arduinonun istənilən rəqəmsal limanına bağlanır, 11 və 12-yə qoşulacağıq.

HC-SR04 Ultrasonik məsafəni Arduinoya qoşmaq
HC-SR04 Ultrasonik məsafəni Arduinoya qoşmaq

Addım 3

İndi maneəyə olan məsafəni təyin edən və serial porta çıxardan bir eskiz yazaq. Əvvəlcə TRIG və ECHO pinlərinin nömrələrini təyin etdik - bunlar 12 və 11 pinlərdir. Sonra tetiği bir çıxış olaraq elan edirik və bir giriş olaraq əks-səda veririk. Serial portu 9600 baud-da işə salırıq. Döngünün () hər təkrarında məsafəni oxuyub porta çıxardıq.

GetEchoTiming () funksiyası tetikleyici nəbz yaradır. Sadəcə bir səs paketinin məsafədən məsafəyə uzanması ilə radiasiyanın başlamasına təkan verən 10 mikrosaniyədəki nəbz cərəyanı yaradır. Sonra səs dalğasının ötürülməsinin başlanğıcından əks-sədanın gəlməsinə qədər olan vaxtı xatırlayır.

GetDistance () funksiyası obyektə olan məsafəni hesablayır. Məktəb fizikası kursundan xatırlayırıq ki, məsafə zamanla vurulan sürətə bərabərdir: S = V * t. Havadakı səs sürəti 340 m / s, bildiyimiz mikrosaniyədəki müddət "duratuion". Vaxtını saniyələrlə əldə etmək üçün 1.000.000-ə bölün. Səs məsafədən iki dəfə - obyektə və arxaya getdiyindən məsafəni yarıya bölmək lazımdır. Beləliklə, eskizdə yazdığımız obyektə olan məsafə S = 34000 sm / saniyə * müddəti / 1.000.000 san / 2 = 1.7 sm / san / 100 olduğu ortaya çıxdı. Mikro nəzarətçi vurma bölmədən daha sürətli yerinə yetirir, buna görə "/ 100" əvəzini "* 0, 01" ilə əvəz etdim.

Ultrasonik sonar HC-SR04 ilə işləmək üçün eskiz
Ultrasonik sonar HC-SR04 ilə işləmək üçün eskiz

Addım 4

Ayrıca, bir çox kitabxanada ultrasəs məsafəsi ölçüsü ilə işləmək üçün yazılmışdır. Məsələn, bu: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Kitabxana standart bir şəkildə quraşdırılmışdır: yükləyin, Arduino IDE ilə qovluqda yerləşən kitabxanalar qovluğuna açın. Bundan sonra kitabxanadan istifadə edilə bilər.

Kitabxananı quraraq yeni bir eskiz yazaq. İşinin nəticəsi eynidır - serial port monitoru obyektə olan məsafəni santimetrlə göstərir. Float dist_cm = ultrasonic. Ranging (INC); eskizdə yazsanız, məsafə düym olaraq göstəriləcəkdir.

Kitabxanadan istifadə edərək ultrasəs sonar eskiz
Kitabxanadan istifadə edərək ultrasəs sonar eskiz

Addım 5

Beləliklə, HC-SR04 ultrasəs məsafəsini Arduinoya bağladıq və ondan məlumatları iki fərqli yolla aldıq: xüsusi bir kitabxana istifadə edərək və olmadan.

Kitabxanadan istifadənin üstünlüyü ondan ibarətdir ki, kod miqdarı əhəmiyyətli dərəcədə azalmış və proqramın oxunaqlılığı yaxşılaşdırılmışdır, cihazın incəliklərinə dərindən baxmaq lazım deyil və dərhal istifadə edə bilərsiniz. Ancaq bu da dezavantajdır: cihazın necə işlədiyini və onda hansı proseslərin baş verdiyini daha az başa düşürsən. Hər halda, hansı metoddan istifadə etmək sizin ixtiyarınızdadır.

Tövsiyə: