Arduino-ga HC-SR04 Ultratovush Masofani O'lchash Moslamasini Qanday Ulash Mumkin

Mundarija:

Arduino-ga HC-SR04 Ultratovush Masofani O'lchash Moslamasini Qanday Ulash Mumkin
Arduino-ga HC-SR04 Ultratovush Masofani O'lchash Moslamasini Qanday Ulash Mumkin

Video: Arduino-ga HC-SR04 Ultratovush Masofani O'lchash Moslamasini Qanday Ulash Mumkin

Video: Arduino-ga HC-SR04 Ultratovush Masofani O'lchash Moslamasini Qanday Ulash Mumkin
Video: Ультразвуковой датчик HC-SR04 и Учебное пособие по Arduino 2024, Dekabr
Anonim

Ushbu maqolada biz HC-SR04 ultratovush masofasini aniqlovchi-sonarni Arduino bilan bog'laymiz.

Ultrasonik sensor HC-SR04
Ultrasonik sensor HC-SR04

Kerakli

  • - Arduino;
  • - ultratovush sensori HC-SR04;
  • - simlarni ulash.

Ko'rsatmalar

1-qadam

HC-SR04 ultratovush masofadan o'lchagichining harakati echolokatsiya printsipiga asoslanadi. U kosmosga tovush impulslarini chiqaradi va to'siqdan aks etgan signalni qabul qiladi. Ob'ektgacha bo'lgan masofa tovush to'lqinining to'siq va orqaga tarqalish vaqti bilan belgilanadi.

Ovoz to'lqini masofani o'lchash moslamasining TRIG oyog'iga kamida 10 mikrosaniyadagi musbat impulsni qo'llash orqali paydo bo'ladi. Puls tugashi bilanoq, masofani o'lchash moslamasi oldidagi bo'shliqqa 40 kHz chastotali ovozli impulslarni chiqaradi. Shu bilan birga, aks ettirilgan signalning kechikish vaqtini aniqlash algoritmi ishga tushiriladi va masofani o'lchash moslamasining ECHO oyog'ida mantiqiy birlik paydo bo'ladi. Sensor aks ettirilgan signalni aniqlagandan so'ng, ECHO pinida mantiqiy nol paydo bo'ladi. Ushbu signalning davomiyligi (rasmdagi "Echo kechikishi") ob'ektga bo'lgan masofani aniqlaydi.

Masofani o'lchash oralig'i HC-SR04 - 0,3 sm o'lchamlari bilan 4 metrgacha, kuzatish burchagi - 30 daraja, samarali burchak - 15 daraja. Kutish rejimida joriy iste'mol 2 mA, ish paytida - 15 mA.

HC-SR04 ultratovush masofali o'lchagichining ishlash printsipi
HC-SR04 ultratovush masofali o'lchagichining ishlash printsipi

2-qadam

Ultratovushli masofadan o'lchash moslamasining quvvat manbai +5 V kuchlanish bilan amalga oshiriladi. Qolgan ikkita pin Arduinoning har qanday raqamli portlariga ulangan, biz 11 va 12 ga ulanamiz.

Arduino-ga HC-SR04 ultratovushli masofani o'lchash moslamasini ulash
Arduino-ga HC-SR04 ultratovushli masofani o'lchash moslamasini ulash

3-qadam

Endi to'siqgacha bo'lgan masofani aniqlaydigan va uni ketma-ket portga chiqaradigan eskizni yozamiz. Birinchidan, biz TRIG va ECHO pinlarining raqamlarini o'rnatdik - bular 12 va 11-pinlar. Keyin biz triggerni chiqish deb e'lon qilamiz va echo-ni kirish sifatida e'lon qilamiz. Biz ketma-ket portni 9600 bod darajasida ishga tushiramiz. Loop () ning har bir takrorlanishida biz masofani o'qiymiz va uni portga chiqaramiz.

GetEchoTiming () funktsiyasi trigger impulsini hosil qiladi. U shunchaki 10 mikrosaniyadagi impuls oqimini hosil qiladi, bu esa tovush paketining masofani o'lchash moslamasi tomonidan kosmosga nurlanish boshlanishiga turtki beradi. Keyin u tovush to'lqinining uzatilishidan boshlanib, aks sado kelguniga qadar bo'lgan vaqtni eslaydi.

GetDistance () funktsiyasi ob'ektga bo'lgan masofani hisoblab chiqadi. Maktab fizikasi kursidan biz masofani vaqtga ko'paytiriladigan tezlikka teng ekanligini eslaymiz: S = V * t. Havodagi tovush tezligi 340 m / s, biz bilgan mikrosaniyadagi vaqt "duratuion" dir. Vaqtni soniyalarda olish uchun 1 000 000 ga bo'ling. Ovoz masofadan ikki marta - ob'ektga va orqaga qarab yurganligi uchun masofani yarmiga bo'lish kerak. Shunday qilib, biz eskizda yozgan ob'ektgacha bo'lgan masofa S = 34000 sm / sek * davomiyligi / 1.000.000 sek / 2 = 1.7 sm / sek / 100. Mikrokontroller ko'paytishni bo'linishdan tezroq bajaradi, shuning uchun "/ 100" ni "* 0, 01" ga tenglashtirdim.

Ultratovushli sonar HC-SR04 bilan ishlash uchun eskiz
Ultratovushli sonar HC-SR04 bilan ishlash uchun eskiz

4-qadam

Shuningdek, ko'plab kutubxonalar ultratovush masofani o'lchagich bilan ishlash uchun yozilgan. Masalan, bu: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Kutubxona standart tarzda o'rnatiladi: Arduino IDE papkasida joylashgan kutubxonalar katalogiga yuklab oling, oching. Shundan so'ng kutubxonadan foydalanish mumkin.

Kutubxonani o'rnatib, yangi eskiz yozamiz. Uning ishi natijasi bir xil - ketma-ket port monitori ob'ektga masofani santimetrda aks ettiradi. Agar siz float dist_cm = ultrasonic. Ranging (INC) yozsangiz, eskizda masofa dyuym bilan ko'rsatiladi.

Kutubxonadan foydalangan holda ultratovushli sonar eskiz
Kutubxonadan foydalangan holda ultratovushli sonar eskiz

5-qadam

Shunday qilib, biz HC-SR04 ultratovush masofadan o'lchash moslamasini Arduino-ga uladik va undan ma'lumotlarni ikki xil usulda oldik: maxsus kutubxonadan foydalanish va holda.

Kutubxonadan foydalanishning afzalligi shundaki, kod miqdori sezilarli darajada kamayadi va dasturning o'qilishi yaxshilanadi, siz qurilmaning nozikliklari bilan tanishishingiz shart emas va siz darhol uni ishlatishingiz mumkin. Ammo bu kamchilik ham: siz qurilmaning qanday ishlashini va unda qanday jarayonlar sodir bo'lishini kamroq tushunasiz. Qanday bo'lmasin, qaysi usuldan foydalanish sizga bog'liq.

Tavsiya: