Laboratoriya ishi 4 Ovoz datchigini tekshirish Ishning maqsadi



Yüklə 216,64 Kb.
Pdf görüntüsü
səhifə3/3
tarix20.11.2023
ölçüsü216,64 Kb.
#166615
1   2   3
Dastur kodi 
#PIN_TRIG 12-ni aniqlang 
#PIN_ECHO 11 ni aniqlang 
uzoq muddat, sm; 
bekor o'rnatish() { 
// Seriyali portda aloqani ishga tushiring 
Serial.begin(9600); 
//Kirish va chiqishlarni aniqlang 
pinMode (PIN_TRIG, OUTPUT); 
pinMode (PIN_ECHO, INPUT); 

void loop() { 
// Birinchidan, biz 2-5 mikrosekund davom etadigan qisqa puls hosil qilamiz. 
digitalWrite (PIN_TRIG, LOW); 
delayMicroseconds(5); 
digitalWrite (PIN_TRIG, YUQORI); 
// Signal yuqori bo'lsa, taxminan 10 mikrosoniya kuting. Ushbu nuqtada Datchik
40 kHz chastotada signallarni yuboradi. 
delayMicroseconds(10); 
digitalWrite (PIN_TRIG, LOW); 
// Echo sounderdagi akustik signalning kechikish vaqti. 
davomiyligi = pulseIn(PIN_ECHO, HIGH); 
// Endi vaqtni masofaga aylantirish qoladi 
sm = (davomiyligi / 2) / 29,1; 
Serial.print("Ob'ektgacha bo'lgan masofa: "); 
Seriyali chop etish (sm); 
Serial.println("qarang."); 
// Eskiz to'g'ri ishlashi uchun o'lchovlar orasidagi kechikish 
kechikish (250); 

 


HC SR04 ultratovushli masofa o'lchagichni bitta pin bilan ulash misoli 
HC-SR04-ni Arduinoga ulash bitta pin yordamida amalga oshirilishi umkin. Agar 
siz katta loyiha ustida ishlayotgan bo'lsangiz va sizda etarli bo'sh pinlar bo'lmasa, 
ushbu parametr foydalidir. Ulanish uchun siz TRIG va ECHO pinlari orasiga 2,2K 
rezistorni o'rnatishingiz va TRIG pinini arduinoga ulashingiz kifoya. 
#include  
#define PIN_PING 12 // Arduino pinlari masofa Datchik idagi tetik va echo 
pinlariga ulangan. 
#define MAX_DISTANCE 200 // Biz nazorat qila oladigan maksimal masofa 
(400-500 sm). 
NewPing sonar(PIN_PING, PIN_PING, MAX_DISTANCE); // Pinlar va 
maksimal masofani sozlang 
bekor o'rnatish() { 
Serial.begin(9600); // Ma'lumotlar va uzatish tezligi 115200 bps bo'lgan 
protokolni ochadi. 

void loop() { 
kechikish (50); // Yaratilgan to'lqinlar orasidagi kechikish 50ms. 29 ms - minimal 
ruxsat etilgan qiymat 
unsigned int distanceSm = sonar.ping(); // Signal yaratish, uning davomiyligi 
parametrini µs (uS) da olish. 
Serial.print("ping: "); 
Serial.print(distanceSm / US_ROUNDTRIP_CM); // Vaqt parametrini masofa 
qiymatiga aylantirish va natijani chiqarish (0 ruxsat etilgan chegaradan oshib 
ketishga to'g'ri keladi) 
Serial.println("sm"); 

 


Qisqacha xulosalar 
Ultrasonik masofa datchik lari ko'p qirrali va ko'plab sevimli 
mashg'ulotlariga 
mo'ljallangan 
loyihalarda 
foydalanish 
uchun 
etarlicha 
aniqdir. Maqolada juda mashhur HC SR04 Datchik i muhokama qilinadi, u arduino 
platasiga osongina ulanadi (buning uchun ikkita bepul pinni darhol ta'minlash 
kerak, ammo bitta pin bilan ulanish imkoniyati ham mavjud). Datchik bilan 
ishlash uchun bir nechta bepul kutubxonalar mavjud (ulardan faqat bittasi, 
NewPing, maqolada ko'rib chiqiladi), lekin siz ularsiz qilishingiz mumkin - 
Datchik ning ichki boshqaruvchisi bilan o'zaro ishlash algoritmi juda oddiy, biz 
buni ko'rsatdik. Bu maqola. 
O'z tajribamga asoslanib, HC-SR04 datchik i 10 sm dan 2 m gacha bo'lgan 
masofada bir santimetrgacha aniqlik qiladi.Qisqaroq va uzoqroq masofalarda 
kuchli shovqin paydo bo'lishi mumkin, bu ko'p jihatdan atrofdagi narsalarga va 
undan qanday foydalanishingizga bog'liq. Ammo ko'pincha HC-SR04 ishni yaxshi 
bajardi. 
Nazorat savollari 
1.
Ultratavush masofa datchikini Arduino platasiga ulanish sxemasi tushuntirib 
bering. 
2.
TRIG va ECHO pinlar vazifasini tushuntirib bering
3.
HC-SR04 afzalligi va kamchiliklari haqida tushuntirb bering. 

Yüklə 216,64 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin