Uy jihozlarini ovoz bilan boshqarish tizimini yaratish MaxBotix mb1240 ultratovush masofa sensori Arduino qo'llanma


MB1240 va HC-SR04 taqqoslash jadvali


Download 451.92 Kb.
bet3/7
Sana24.12.2022
Hajmi451.92 Kb.
#1062267
1   2   3   4   5   6   7
Bog'liq
Oqil. KURS ISHI

MB1240 va HC-SR04 taqqoslash jadvali





MB1240PAPER size

HC-SR04PAPER SIZE

Ishlash kuchlanishi

3.3-5.5 V

5 V

Operatsion joriy

3,4 mA o'rtacha (100 mA qaragan)

15 mA

Qator

(0 – 20-765 sm

2 - 400 sm

Qaror

1 sm

> 3 mm

Nur naqshlari

bu yerga qarang

15butunchilik konusi

Chastotasi

42 kHz

40 kHz

Sensor chiqishi

Analog kuchlanish, puls kengligi, RS232

Puls Kengligi

O'lchamlari

22.1 x 19.9 x 25.11 mm

45 x 20 x 15 mm

Harorat kompensatsiyasi*

Yo'q

Yo'q

Filtrlash

Ha

Yo'q

Haqiqiy vaqtda avtomatik kalibrlash

Ha

Yo'q

Shovqinga chidamlilik

Yuqori

Past

Qilingan

AQSh

Xitoy

Narxi

Tekshirish narxi

Tekshirish narxi

* Siz bilmasligingiz mumkin bo'lgan narsa shundaki, tovush tezligi havoning harorati va namligiga bog'liq. Havodagi tovush tezligi santigrat daraja uchun sekundiga taxminan 0,6 metrga oshadi.


Elektr tarmog'i-Arduino UNO uchun MaxBotix MB1240 ulash


Kirishda aytib o'tilganidek, MaxBotix sensorlari turli rejimlarda ishlashi mumkin. Quyidagi ulanish sxemalari analog kuchlanish yoki impuls kengligi ishlashi uchun MB1240 sensorini Arduino-ga qanday ulashingiz mumkinligini ko'rsatadi.
Siz sensori bevosita simlar lehim mumkin, yoki ba'zi header mayoqlardan o'rnatish (men qildim nima) yoki ulagichi.

Ulanishlar quyidagi jadvalda keltirilgan:

MB1240 ulanishlar-Analog kuchlanish


MaxBotix MB1240 Sensor

Arduino

GND

GND

V+

5 V

Pin 3paper size

A0paper size



MB1240 ulanishlari-puls kengligi


MaxBotix MB1240 Sensor

Arduino

GND

GND

V+

5 V

Pin 2paper size

Pin 2paper size



MaxBotix MB1240 Arduino misol kodi-Analog kuchlanish


Quyidagi misol bilan siz o'lchangan masofani o'qib chiqishingiz va uni ketma-ket monitorga ko'rsatishingiz mumkin. Ko'rib turganingizdek, kod juda oddiy, ammo quyida uning qanday ishlashi haqida ba'zi tushuntirishlarni topishingiz mumkin.
/* Arduino example code for MaxBotix MB1240 XL-MaxSonar-EZ4 ultrasonic distance sensor: analog voltage output. More info: www.www.makerguides.com */

#define sensorPin A0

int distance = 0;

void setup() {


Serial.begin(9600);
}

void read_sensor() {


distance = analogRead(sensorPin) * 1;
}

void print_data() {


Serial.print("distance = ");
Serial.print(distance);
Serial.println(" cm");
}

void loop() {


read_sensor();
print_data();
delay(1000);
}
Serial monitorda quyidagi chiqishni ko'rishingiz kerak (Ctrl + Shift + M).

Kod qanday ishlaydi


Birinchi qadam ulanish pinini aniqlashdir. Bayonot
#define
doimiy qiymatga nom berish uchun ishlatiladi. Dastur tuzilganda, kompilyator ushbu doimiyga har qanday havolalarni belgilangan qiymat bilan almashtiradi. Shunday qilib, siz hamma joyda eslaysiz
sensorPin,
kompilyator uni almashtiradi A0 dastur tuzilganda.
#define sensorPin A0
Keyin o'lchangan masofani saqlash uchun o'zgaruvchini yaratishimiz kerak.
int distance = 0;
O'rnatish, biz bir bod kursi serial muloqot boshlash 9600. Keyinchalik biz o'lchangan masofani seriyali monitorda namoyish etamiz, unga Ctrl + Shift + M yoki Asboblar > Serial Monitor yordamida kirish mumkin. Ketma-ket monitorda bod tezligi ham 9600 ga o'rnatilganligiga ishonch hosil qiling.
void setup() { Serial.begin(9600); }
Shundan so'ng men ikkita funktsiyani yaratdim:
read_sensorvaprint_data.
Read_sensor funktsiyasida biz shunchaki funktsiya bilan analog kuchlanish sensori chiqishini o'qiymiz
analogRead(pin)

Arduino platalarida ko'p kanalli, raqamli konvertorga 10 bitli analog mavjud. Bu shuni anglatadiki, u kirish kuchlanishini 0 va ish kuchlanishini 0 dan 1023 gacha bo'lgan butun qiymatlarga moslashtiradi. Arduino Uno-da bu 5 volt / 1024 birlik yoki birlik uchun 4,9 mV ga olib keladi.


MB1240 1024 V quvvat manbaidan foydalanganda sm uchun (Vcc/4.9) yoki 5 mV/sm o'lchov omilidan foydalanadi. Bu analogRead qiymatini santimetrga aylantirishni juda oson qiladi, natijani shunchaki 1 ga ko'paytirishingiz mumkin (analogRead(sensorPin) = santimetrdagi masofa).
void read_sensor() { distance = analogRead(sensorPin) * 1; }
Print_data funktsiyasida biz o'lchangan masofani seriyali monitorga chop etamiz.
void print_data()
{
Serial.print("distance = ");
Serial.print(distance);
Serial.println(" cm"); }
Loopda biz avval masofani olish uchun read_sensor funktsiyasini chaqiramiz va keyin uni ketma-ket monitorga yuborish uchun print_data funktsiyasini chaqiramiz. Men bir kechikish qo'shiladi 1000 millisekundlarda, lekin siz bu kamaytirish mumkin 100 agar istasangiz,. MB1240 ning o'qish chastotasi 10 Gts ni tashkil qiladi, shuning uchun siz soniyada 10 ta o'qishni olishingiz mumkin.

void loop() { read_sensor(); print_data(); delay(1000); }



Download 451.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling