norr@manorshi.com         +86-519-89185720
1
Yangiliklar markazi

Arduino bilan ultratovush sensori qanday ishlatiladi?

Ko'rishlar: 164     Muallif: Greys Nashr qilish vaqti: 2021-07-26 Kelib chiqishi: Sayt

facebook almashish tugmasi
twitter almashish tugmasi
qatorni almashish tugmasi
wechat almashish tugmasi
linkedin almashish tugmasi
pinterest almashish tugmasi
whatsapp almashish tugmasi
kakao almashish tugmasi
snapchat almashish tugmasi
telegram almashish tugmasi
ushbu almashish tugmasi

Ultrasonik sensorni Arduino bilan qanday ishlatish kerak: HC-SR04 qo'llanmasi

The HC-SR04 ultratovush sensori Arduino loyihalari uchun eng mashhur masofani o'lchash modullaridan biridir. U to'siqlardan qochish robotlarida, to'xtash datchiklarida, darajani aniqlashda, aqlli axlat qutilarida, masofa o'lchagichlarda va boshqa kontaktsiz sensorli ilovalarda keng qo'llaniladi.

Modul transmitter orqali 40 kHz ultratovush to'lqinlarini chiqaradi. Ovoz to'lqini ob'ekt bilan uchrashganda, u qabul qiluvchiga qaytariladi. Echo vaqtini o'lchash va tovush tezligidan foydalanib, Arduino sensor va ob'ekt orasidagi masofani hisoblashi mumkin.

Arduino masofasini o'lchash uchun HC-SR04 ultratovush sensori moduli

HC-SR04 Asosiy texnik parametrlari

Parametr Qiymat
Oddiy ish kuchlanishi 5V DC
Statik ish oqimi Ba'zi modul versiyalarida 5mA dan kam
Ishlash chastotasi 40 kHz ultratovush to'lqini
Aniqlash masofasi Umumiy diapazon: 2 sm dan 400 sm gacha; Ba'zi daromad sozlangan versiyalar uzoqroq masofani qo'llab-quvvatlashi mumkin.
Aniqlash burchagi Odatda 15 daraja ichida; yuqori daromadli ba'zi versiyalar taxminan 30 darajaga yetishi mumkin.
Aniqlik Tegishli sinov sharoitida taxminan 0,3 sm gacha
Ko'r zona Taxminan 2 sm minimal o'lchash masofasi

HC-SR04 Pin tavsifi

HC-SR04 ultratovush moduli to'rtta pinga ega: VCC, TRIG, ECHO va GND. Arduino TRIG piniga qisqa tetik pulsni yuboradi, keyin ECHO pinidan qaytish pulsini o'qiydi.

HC-SR04 pin Arduino ulanishi Funktsiya
VCC 5V Ultrasonik modul uchun quvvat manbai.
TRIG Raqamli pin 9 Trigger kiritish. Arduino diapazonni boshlash uchun 10us pulsni qo'llaydi.
ECHO Raqamli pin 10 Echo chiqishi. Arduino masofani hisoblash uchun puls kengligini o'qiydi.
GND GND Yerga ulanish.

HC-SR04 ultratovush sensori pinout VCC TRIG ECHO GND

HC-SR04 ultratovush sensorining ishlash printsipi

HC-SR04 parvoz vaqtini o'lchash orqali ishlaydi. Arduino TRIG piniga kamida 10 mikrosekundlik yuqori darajadagi tetik signalini yuboradi. Keyin modul avtomatik ravishda sakkizta 40 kHz ultratovush impulslarini yuboradi va aks ettirilgan aks-sadoni kutadi.

Aks ettirilgan ultratovush signali aniqlanganda, ECHO pin yuqori darajadagi pulsni chiqaradi. Ushbu impulsning davomiyligi ultratovush to'lqinining aylanma sayohat vaqtidir.

Masofa = Echo yuqori darajadagi vaqt × Ovoz tezligi / 2

Arduino kodida umumiy soddalashtirilgan formula:

Smdagi masofa = davomiyligi × 0,0343 / 2

HC-SR04 ultratovush modulining parvoz vaqti ishlash printsipi

HC-SR04 ultratovush moduli vaqt diagrammasi

Vaqtni belgilash jarayoni oddiy: Arduino TRIGni qisqa vaqt ichida past darajada ushlab turadi, 10us yuqori puls yuboradi, so‘ngra TRIGni past darajaga qaytaradi. HC-SR04 ultratovushli portlashni yuboradi va aks ettirilgan signal qaytguncha yoki o'lchash vaqti tugamaguncha ECHO ni yuqori darajada o'rnatadi.

Stabil bo'lmagan ko'rsatkichlarga yo'l qo'ymaslik uchun o'lchovlar orasida qisqa vaqtni qoldiring. Taxminan 60 ms o'lchov tsikli odatda qo'llaniladi, shuning uchun oldingi ultratovush aks-sadosi keyingi tetiklashdan oldin yo'qolishi uchun vaqt topadi.

Arduino dasturlash asoslari: pulseIn funktsiyasi

Arduino pulseIn() funktsiyasi raqamli pin qancha vaqt YUQORI yoki LOW bo'lishini o'lchash uchun ishlatiladi. HC-SR04 uchun Arduino pulseIn(echoPin, HIGH) dan foydalanadi. ECHO pinidan yuqori darajadagi impuls kengligini o'qish uchun

Sintaksis Ma'nosi
pulseIn(pin, qiymat) YUQORI yoki PAST pulsning davomiyligini o'qiydi.
pulseIn (pin, qiymat, vaqt tugashi) Vaqt tugashi qiymati bilan pulsni mikrosekundlarda o'qiydi.

Vaqt tugashidan foydalanish tavsiya etiladi. Agar aks-sado qaytarilmasa, funktsiya kutishni to'xtatib, dasturni juda uzoq vaqt davomida bloklash o'rniga 0 ni qaytarishi mumkin.

Arduino platasi HC-SR04 ultratovushli masofa sensori bilan ishlatiladi

HC-SR04 ultratovush sensorini Arduino-ga qanday ulash mumkin

Simlarni ulash oddiy. VCC ni 5V ga, GND ni GND ga, TRIG ni Arduino raqamli chiqish piniga va ECHO ni Arduino raqamli kirish piniga ulang. Quyidagi misolda Arduino Uno, 9-pinda TRIG va 10-pinda ECHO ishlatiladi.

HC-SR04 ultratovush sensori uchun Arduino Uno non panelini ulash sxemasi

HC-SR04 ultratovush sensori Arduino kodi

Quyidagi odatiy Arduino dasturi 10us tetik pulsini yuboradi, ECHO puls kengligini o'qiydi, masofani santimetrda hisoblab chiqadi va natijani ketma-ket monitorda chop etadi.

const int trigPin = 9; const int echoPin = 10; uzoq muddat; suzish masofasiCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode (echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   delayMicroseconds(2);   digitalWrite (trigPin, HIGH);   kechikishMikrosekundlar(10);   digitalWrite (trigPin, LOW);   davomiyligi = pulseIn (echoPin, HIGH, 30000);   if (davomiyligi == 0) { Serial.println('diapazondan tashqarida');   } else { masofaCm = davomiyligi * 0,0343 / 2;     Serial.print('Masofa: ');     Serial.print(masofa Cm);     Serial.println(' sm');   } kechikish (60); }

Agar siz ketma-ket monitorda masofa qiymatlarini ko'rsangiz, HC-SR04 ultratovush sensori va Arduino simlari to'g'ri ishlayapti. Keyin masofa maʼlumotlaridan toʻsiqlarni aniqlash, robot harakatini boshqarish, avtomatik eshiklar, toʻxtash joyi haqida eslatmalar yoki suyuqlik darajasidagi loyihalar uchun foydalanishingiz mumkin.

Arduino HC-SR04 ultratovush sensori diapazoni dasturi

HC-SR04 o'lchov aniqligini qanday yaxshilash mumkin

  • O'lchangan ob'ektni tavsiya etilgan masofa oralig'ida va 2 sm ko'r zonadan tashqarida saqlang.

  • Yaxshiroq ultratovushli aks ettirish uchun tekis va mustahkam maqsadli sirtdan foydalaning.

  • Yumshoq, burchakli, g'ovakli yoki tovushni yutuvchi materiallarni o'lchashdan saqlaning.

  • Barqaror 5V quvvat manbaidan foydalaning va simlarni qisqa va xavfsiz saqlang.

  • Hech qanday aks-sado qaytarilmasa, uzoq vaqt blokirovka qilishning oldini olish uchun pulseIn() ga kutish vaqti qo'shing.

  • Shovqinni kamaytirish uchun bir nechta ko'rsatkichlarni o'rtacha yoki median-filtrlang.

  • Yuqori aniqlik uchun haroratni kompensatsiya qiling, chunki ovoz tezligi havo harorati bilan o'zgaradi.

Arduino ultratovush sensori loyihalarining umumiy ilovalari

Ilova HC-SR04 qanday ishlatiladi
To'siqlardan qochish roboti Yaqin atrofdagi narsalarni aniqlaydi va robotga yo'nalishni o'zgartirishga yordam beradi.
Avtoturargoh masofasi sensori Avtomobil va to'siq orasidagi masofani o'lchaydi.
Suyuqlik darajasini aniqlash Sensordan suyuqlik yuzasigacha bo'lgan masofani kontaktsiz o'lchaydi.
Aqlli axlat qutisi Yaqin-atrofdagi qo'l yoki ob'ektni aniqlaydi va qopqoqning avtomatik ochilishini ishga tushiradi.

Xulosa

Arduino bilan HC-SR04 ultratovush sensoridan foydalanish uchun VCC ni 5V ga, GND ni GND ga, TRIG ni raqamli chiqish piniga va ECHO ni raqamli kirish piniga ulang. 10us tetik pulsni yuboring, pulseIn() yordamida aks-sado davomiyligini o'qing va parvoz vaqti formulasi bilan masofani hisoblang.

HC-SR04 arzon, ishlatish uchun qulay va ko'plab Arduino masofasini o'lchash loyihalari uchun javob beradi. Eng yaxshi natijalarga erishish uchun maqsadli sirtga, o'lchash burchagiga, ko'r zonaga, barqaror quvvatga, kutish vaqti va harorat effektlariga e'tibor bering.

HC-SR04 Arduino ultratovush sensori haqida tez-tez so'raladigan savollar

HC-SR04 ultratovush sensori Arduino bilan qanday ishlaydi?

Arduino TRIG piniga 10us puls yuboradi. HC-SR04 sakkizta 40 kHz ultratovush impulslarini chiqaradi va aks ettirilgan ovoz qaytguncha ECHO pinini baland qilib qo'yadi. Arduino bu puls vaqtini o'lchaydi va masofani hisoblaydi.

HC-SR04 Arduino loyihalari uchun masofa formulasi nima?

Formula masofa = davomiylik × tovush tezligi / 2. Santimetrlarda umumiy Arduino formulasi masofaCm = davomiylik × 0,0343 / 2 bo'lib, bu erda davomiylik mikrosekundlarda o'lchanadi.

Nima uchun ultratovush sensori natijasini 2 ga bo'lamiz?

O'lchangan aks-sado vaqti - sensordan ob'ektga va sensorga qaytib borish vaqti. 2 ga bo'linish sensor va ob'ekt orasidagi bir tomonlama masofani beradi.

TRIG va ECHO uchun qaysi Arduino pinlaridan foydalanishim kerak?

Ko'pgina Arduino raqamli pinlaridan foydalanishingiz mumkin. Ko'pgina misollarda TRIG raqamli pin 9 ga ulangan va ECHO raqamli pin 10 ga ulangan. Kod sizning simlaringizda ishlatiladigan pinlarga mos kelishi kerak.

Nega mening HC-SR04 ultratovush sensorim nol yoki tasodifiy qiymatlarni qaytaradi?

Umumiy sabablar orasida bo'shashgan simlar, beqaror 5V quvvat, noto'g'ri TRIG yoki ECHO pin raqamlari, diapazonda hech qanday ob'ekt yo'qligi, burchakli nishon yuzalar, yumshoq materiallar, bloklangan sensor boshlari yoki pulseIn() funksiyasida vaqt tugamasligi kiradi.

HC-SR04 ultratovush sensorining ko'r zonasi nima?

Ko'r zona - modul ishonchli o'lchay olmaydigan minimal masofa. HC-SR04 uchun ko'r zona odatda taxminan 2 sm. Bundan yaqinroq ob'ektlar beqaror ko'rsatkichlarni keltirib chiqarishi mumkin.

HC-SR04 Arduino bilan suv darajasini o'lchay oladimi?

Ha, HC-SR04, agar sensor namlikdan himoyalangan va suyuqlik yuzasidan o'rnatilgan bo'lsa, oddiy suv sathining kontaktsiz loyihalari uchun ishlatilishi mumkin. Nam, tashqi yoki sanoat tanklari uchun suv o'tkazmaydigan ultratovush sensori tavsiya etiladi.

Qanday qilib Arduino ultratovush sensori o'qishlarini barqarorroq qilishim mumkin?

Barqaror quvvat manbaidan foydalaning, datchikni nishonga perpendikulyar tuting, yumshoq yoki burchakli yuzalardan saqlaning, pulseIn vaqt tugashini qo'shing, bir nechta o'qishni oling, o'rtacha filtrlashdan foydalaning va o'lchovlar orasida taxminan 60 ms masofani qoldiring.

Mundarija