banner banner banner
Robototexnikadan boshlang’ich bilimlar. O’quv qo’llanma
Robototexnikadan boshlang’ich bilimlar. O’quv qo’llanma
Оценить:
 Рейтинг: 0

Robototexnikadan boshlang’ich bilimlar. O’quv qo’llanma


Raqamli signal – bir va nol (signal bor yoki yo`q) ko`rinishida uzatiladi, kompyuterlar va raqamli texnologiyalar uchun uni amalga oshirish osonroq (3.1-rasm).

Arduino Nano, Arduino UNO, Arduino Mega 2560 larning pinlarini bir necha turga bo`lish mumkin, farqi turli platalardagi pinlar sonida bo`ladi. Misol uchun, Arduino Mega 2560-da plata o`lchami va mikrokontrollerning ishlashi tufayli UNO yoki Nanoga qaraganda sezilarli darajada ko`proq raqamli va analog portlar mavjud. Aslida, pinlarni dasturlashning xarakteristikalari va usullari bir – biridan farq qilmaydi.

1. Quvvat pinlari – quvvat portlari, ularning ishlash rejimini dasturlash yoki o`zgartirish mumkin emas. Ular 5V yoki 3,3V stabillashtirilgan kuchlanishni beradi, Vin quvvat manbayidan kuchlanishni beradi va GND umumiy minus (3.2-rasm).

3.2-rasm. Arduino UNO

Arduinoni quvvatlantirish bir necha yo`l bilan amalga oshiriladi:

a. USB kabel orqali quvvatlantirish;

b. Plataga ulangan ba`zi komponentlarni alohida quvvatlantirish;

c. Tashqi manbadan quvvatlantirish.

3.2.Arduino platasini quvvatlantirish

Arduino platasini quvvatlantirish uchun turli xil variantlar mavjud. Birinchisi, Arduino platangizni USB kabeli yordamida kompyuterga ulanadi.

Shuningdek, Arduino platasida servo motorlardan foydalanganda 7—12V kuchlanish bilan quvvatlantirish uchun DC quvvat ulagichidan foydalaniladi. USB kabelidan keladigan quvvat kamroq. Bu plata va kompyuter o`rtasidagi aloqa uchun juda yaxshi, lekin ba`zi motorlarni quvvatlantirish uchun yetarli bo`lmaydi.

Arduino platangizni quvvatlantirishning keyingi usuli bor. Arduinodagi quvvat Vin pindan platani 7—12V kuchlanish bilan ta`minlash uchun foydalanish mumkin. Tashqi quvvat manbaidan foydalanish va uni to`g`ridan-to`g`ri plataga ulash kerak, agar Vindan foydalanganda, uni tashqi quvvat manbaiga ulab, GNDni ham to`g`ri ishlatish kerak.

Komponentlarni Arduino UNOni quvvatlantirish

1.Har doim tashqi komponentni Arduino UNO platasiga ulaganda, avval uni GNDga ulash kerak. Keyin uni yoqish uchun bir nechta turli pinlardan foydalaniladi. Ular orasida 3,3V va 5V kuchlanishli pinlar mavjud.

Esda tutingki, Arduino UNO 5V kuchlanishda ishlaydi. Shunday qilib, agar 3,3V komponentni 5V quvvat manbaiga ulansa, komponentga zarar yetkazish mumkin. Buning ikkita varianti mavjud: Arduinodan 3,3V quvvat manbaidan foydalanish, yoki kuchlanish qiymatini o`zgartirgich bilan 5V dan foydalaniladi. Rezistorlar yoki to`g`ridan-to`g`ri kuchlanishni o`zgartirish komponenti yordamida ular orasidagi kuchlanishni o`zgartirish, 5Vni 3,3V komponentiga osongina ulash mumkin.

2. Arduino UNOda raqamli pinlar – Arduino UNO platasida 0 dan 13 gacha bo`lgan 14 ta raqamli pin bor.

3. PWM pinlari – raqamli chiqish/kirish sifatida dasturlashtirilishi mumkin bo`lgan PWM modulyatsiyalangan portlar. Bu portlar Arduino platasida (?) bilan belgilangan;

4. Analog kirish pinlari – sensorlardan analog signalni qabul qiluvchi portlar kirish sifatida ishlaydi. Arduino UNO platasida 6ta analog pinlar bo`lib ular A0-A5 gacha bo`ladi.Ushbu portlar raqamli kirish/chiqish sifatida ham dasturlashtirilish mumkin. Ushbu pinlar PWM modulyatsiyasini qo`llab-quvvatlaydi.

pin rejimi pinMode () yordamida void setup protsedurasida tayinlanadi, masalan:

void setup () {

pinMode (10, OUTPUT); //10-pinni chiqish sifatida e`lon qilish

pinMode (A2, OUTPUT); //A2 pinini chiqish sifatida e`lon qilish

pinMode (12, INPUT); //12-pinni kirish sifatida e`lon qilish

pinMode (A1, INPUT); //A1 pinini kirish sifatida e`lon qilish

}

Tushuntirish:

1. Svetodiodni 10 va A2 chiqish piniga ulash mumkin, bu dasturda buyruq chaqirilganda yoqiladi va o`chadi;

2. Pin 10 PWM signali uchun ishlatilishi mumkin, masalan, svetodiodni yoqish uchun. A2 pin esa faqat raqamli signalni (0 yoki 1) chiqarishi mumkin;

3. Raqamli sensor 12 va A1 kirishiga ulanishi mumkin va mikrokontroller ushbu pinlarda signal borligini tekshiradi (mantiqiy nol yoki bir);

4.Analog sensor A1 kirishiga ulanishi mumkin, shu bilan birga mikrokontroller nafaqat signalni oladi, balki signal xarakteristikasini ham o`rganadi.

PWM pinlari va analog pinlarini ajratganimizga sabab shuki, PWM pinlari analog signal yaratadi, ular servo, step motor boshalar qurilmalar ulanadi shu bilab birga turli xil xususiyatlarga ega signallarni yetkazib beradi. Analog pinlar (Analog In) analog sensorlarni ulash uchun ishlatiladi, ulardan kiruvchi signal o`rnatilgan ADC yordamida raqamli signalga aylanadi.

ADC nima? Analog signal har qanday miqdordagi qiymatlarni qabul qilishi mumkin. Raqamli signal esa faqat ikkita qiymatga ega: HIGH va LOW. Arduinoda analog signallarning qiymatini o`lchash uchun o`rnatilgan analog-raqamli konvertor (ADC) mavjud. ADC analog kuchlanishni raqamli qiymatga aylantiradi. Analog signalning qiymatini olish uchun ishlatiladigan funksiya analogRead (pin) dir. Ushbu funksiya analog kirish pinining kuchlanish qiymatini o`zgartiradi va mos yozuvlar qiymatiga nisbatan 0 dan 1023 gacha raqamli qiymatni qaytaradi. Aksariyat Arduino UNOda A5gacha, Arduino Mega-da A15gacha va Arduino Mini va Nanoda A7 gacha pinlar mavjud. Pin raqami uning yagona parametridir.

PWM signalini chiqarish uchun analogWrite (pin, qiymat) funksiyasidan foydalaniladi. Qiymat =0 bo`lsa, signal har doim o`chirilgan bo`ladi. Qachonki qiymat=255 bo`lsa, signal har doim yoqilgan bo`ladi. PWM funksiyasi ko`plab Arduino platalarida 3, 5, 6, 9, 10 va 11-pinlarda ishlaydi. Ko`pgina pinlarda PWM signalining chastotasi taxminan 490 Gers ni tashkil qiladi. UNO va shunga o`xshash platalarda 5 va 6-pinlar taxminan 980 Gers chastotaga ega. Analog kirish qiymatini kerakli qurilmalar qiymatlariga moslashtirish uchun quyidagi funktsiyadan foydalanishingiz mumkin: map (qiymat, pastdan, yuqoridan, pastga, yuqoriga). Bu 0 dan 1023 gacha bo`lgan PWM chiqish signaligacha yani 0—255 oralig`ida bo`ladi. Bu funksiya beshta parametrga ega, birinchisi analog qiymat o`zgaruvchisidir, qolganlari esa mos ravishda 0, 1023, 0 va 255.

3.3.Arduino UNOda PWM, analog, raqamli pinlar

PWM (PWM) pinlarlari (Analog chiqish) 3, 5, 6, 9, 10, 11.

Analog pinlarlari (Analog kirish/chiqish) A0, A1, A2, A3, A4, A5.

Raqamli pinlarlari (Raqamli kirish/chiqish) 0 dan 13 gacha barcha portlar, foydalanish mumkin:

A0 – A5 gacha Analog pinlarlari raqamli pin sifatida ishlatiladi, agar umumiy maqsadli portlar yetarli bo`lmasa, masalan, plataga 15 ta svetodiodni ulashni xohlasangiz. Bundan tashqari, Arduino UNO va Nano platalarida A4 va A5 portlari I2C protokoli (SDA va SCL pinlari) uchun ishlatiladi – ular A4 va A5 pinlari bilan parallel ishlaydi.

Agar chiqish kuchlanishini tartibga solmoqchi bo`lsangiz, "~" belgisi bilan belgilangan pinlarni ishlatishingiz kerak. Arduino UNO uchun bular 3, 5, 6, 9, 10, 11. Analog portlar yordamida 0 dan 5 voltgacha bo`lgan har qanday kuchlanishni chiqarish mumkin va raqamli chiqishlarni faqat yoqish va o`chirish mumkin. Analog portlar PWM (pulse-width modulation), o`zbek tilida IKM (impuls kengligi modulyatsiyasi), rus tilida (широтно-импульсная модуляция) dan foydalanadi, bu analog signalni simulyatsiya qiladi.

Arduinoda analog pinlarni raqamli sifatida ishlatish

Ko`p qurilmalarni ulashda umumiy maqsadli pinlar etarli bo`lmasligi mumkin. Bunda dasturda analog pinlarni raqamli pinlar sifatida ishlatish mumkin.

void setup () {

pinMode (A3, OUTPUT); //A3 pinini raqamli chiqish sifatida e`lon qilish

}

Raqamli signal va analog signal o`rtasidagi farqni tushunish uchun, LED va rezistorli sxemani amaliyot taxtasida o`rnating. Analog chiqishni

~ 9 ga ulang. Chiqish portini Pin 9 ga ulang. Dasturni Arduino NANO yoki UNO platasiga yuklang.

Port 9 raqamli chiqish sifatida ishlashi mumkin. Agar digitalWrite funksiyasi analogWrite ga o`zgartirilsa, HIGH (1) va LOW (0) qiymatlari o`rniga 0 dan 255 gacha bo`lgan istalgan qiymatni qabul qiladi. Aynan shu oraliqda analog chiqishlardagi kuchlanish o`zgartiriladi. LEDni yoqish va o`chirish uchun dasturni yuklab oling. Ushbu dasturning ishlashining batafsil tavsifi quyida kodda berilgan.

3.4.Arduino UNOdagi analog portlar (A0-A5 pinlari)

Ushbu bo’limda Arduinoning analog A0-A5 portlarini ko`rib chiqamiz. Analog portlarning ishlash printsipini tahlil qilinadi, ularga nima ulanishi mumkinligi ko`rib chiqiladi. Amaliyot taxtasidan foydalanib, boshqariladigan yorug`lik bilan yoritgich sxemasini yig`amiz, shunda potensiyometr (o`zgaruvchan qarshilik) yordamida LEDning yorqinligini o`zgartirish mumkin bo`ladi. Arduino IDE tilida #define va analogRead direktivasini ko`rib chiqing.

3.3-rasm. Arduinoga potensiometrni ulash sxemasi