|
II-BOB IS GAZINI ANIQLOVCHI ZAMONAVIY APPARAT VOSITALARI
|
bet | 6/15 | Sana | 27.11.2023 | Hajmi | 1,9 Mb. | | #106590 |
Bog'liq Nig‘matjonov Shuxrat Shokir o‘g‘li (013-18 SKI) (tayyori)II-BOB IS GAZINI ANIQLOVCHI ZAMONAVIY APPARAT VOSITALARI
2.1 Arduino qurilmasi va uning imkoniyatlari
Arduino - bu unchalik katta bo'lmagan plata bo'lib o'zining protsessori (mikrokontrolleri) va xotirasiga ega bo'lgan qurilma hisoblanadi.
2.1-rasm. Arduino Uni qurilmasi o’lchami (gururt qutisi bilan solishtirilganda)
Arduino ning ko'plab turlari mavjud bo'lib bularga misol qilib: Arduino Yun, Arduino Uno, Arduino Duemilanove, Arduino Diecimila, Arduino Nano, Arduino Mega, Mega 2560, Mega ADK, Arduino Leonardo, Arduino Micro va h.k larni olishimiz mumkin. Arduino robototexnika va elektronikiga qiziquvchi va izlanuvchi yoshlarga juda qo'l keladi chunki bu qurilmada kichik va katta bo'lgan dastur, algoritmlar yaratgan holda xar hil qurilmalar, robotlar va boshqa qiziq amaliyotlarni bajarsa bo'ladi. Boshqacha qilib aytganda, Arduino dasturiy va texnik qismlarni birlashtirib beruvchi qurilmadir. Yuqorida keltirib o'tganimizdek Arduino ning juda ko'p turlari mavjud bo'lib, Arduinoni o'rganishni boshlovchilar asosan Arduinoning Uno yoki Nano turidan foydalanishni boshlashadi. Arduinoning Uno va Nano turini yaxshilab o'rganib bo'lgan yoshlar endi Arduinoning bu turiga qoniqmay Arduinoning Mega yoki Mega 2560 turini sotib olishga oshiqishadi. Chunki, endi Arduino Uno, Nano turining xarakteristikasi (texnik ko'rsatkichlari) bizning robototexnik uchun pastlik qiladi! Ayrim robototexniklar esa Arduino Uno bilan tanishib chiqib uni imkoniyatlaridan foydalanib bo'lgandan so'ng, Arduinoning Mega turini sotib olib o'tirmay o'zlari yasab tayyorlab ko'rishga harakat qilishadi. To'g'rida chunki endi ular dasturchi,robototexnik bemalol mikrokontrollerga dastur yozib uni mikrokontrollerga yuklay oladi. Arduino Uno ning boshqa turlaridan farqi protsessori,mikrokontrolleri,raqamli va analog chiqishlarning ko'p yoki kamligi bilan farqlanadi. Arduinodan foydalanayotgan kishi unga har xil elektr komponentalar va modullarni ulash imkoniyatiga ega bo'ladi,masalan:led chiroqlar,datchiklar,rele modullari tarmoq (Wi-fi,Bluetooth,Ethernet) modullari, sensorlar, motorlar, magnit eshik qulflari va elektr energiyasi bilan ishlaydigan barcha narsalar. Yuqorida aytilgandek Arduino texnik va dasturiy qismni birlashtirib beruvchi qurilma.Demak dastur tuzish kerak ! Qanday dastur tuzamiz? Qaysi dasturlash tili orqali? Arduino uchun dasturlar odatiy C ++ da yoziladi, kontaktlarda I / O (Input-kirish,Output-chiqish) ni boshqarish uchun oddiy va tushunarli algoritmlar va dasturlar tuziladi. Agar siz allaqachon C ++ ni bilsangiz - Arduino va dunyo eshiklari siz uchun ochiq. Agar siz dasturlash uchun yangi bo'lsangiz bu muammo emas osonlikcha o'rganishingiz mumkin, bu oson.Bundan tashqari Arduino ni o'rganish va dasturlar yozish uchun Windows, Mac OS va Linux operatsion tizimlarida ishlovchi Arduino IDE (Arduino dasturi,kompilyatori) mavjud va siz undan mutlaqo bepul foydalanishingiz mumkin. Arduino IDE dasturida algoritmlar va dasturlar yaratish juda oson va ishlash qulay. Arduino IDE da tayyor amaliyotlar (loyihalar) ham mavjud siz o'rganishingiz uchun. Arduino ning Uno turi texnik ko'rsatkichlari:
Mikrokontroller: ATmega328;
Ishlash kuchlanishi: 5 V;
Kirish kuchlanishi(tavsiya etilgani): 7-12 V;
Kirish kuchlanishi(eng yuqori): 6-20 V;
Raqamli kirish/chiqish: 14 ta(ulardan 6tasi KIM(Широтно-Импульсная модуляция)
sifatida foydalanish mumkin);
Analog kirish: 6 ta;
Kirish/chiqish orqali o'zgarmas tok: 40 mA;
3.3 V kiritish uchun o'zgarmas tok: 50 mA;
Flesh xotira: 32 KB(ATmega328) undan 0.5 KB yuklovchi sifatida foydalaniladi;
Tezkor xotira: 2 KB(ATmega328);
EEPROM: 1 KB(ATmega328);
Chastota: 16 MGs;
Bundan tashqari, Arduino Uno qurilmasi unga ulangan USB yoki tashqi manbadan kuchlanish olishi mumkin. Bunda, agar manba bir nechta bo'lsa, ulardan biri avtomatik tanlanadi.
Arduino Uno kontrolleri asosi ATmega328 mikrokontrolleridan tashkil topgan. Bu mikrokontroller 32 kB flesh xotiraga, undan 0.5 kB qismi yuklovchi uchun ajratilgan, bundan tashqari 2 kB tezkor xotiraga va 1 kB EEPROMga ega.
14 ta raqamli chiqishning har biri yoki kirish yoki chiqish uchun sozlash mumkin. Bunda pinMode(), digitalWrite() va digitalRead() funksiyalaridan foydalaniladi. Bunda har bitta chiqish joyi 20-50 kOm qarshilikka va 40 mAgacha tok kuchi o'tkazishi mumkin.
2.2-rasm. Arduino Uno qurilmasi ulangan holatida
Arduino Uno kontrolleriga Arduino dasturi yordamida dastur yaratilinadi. Buning uchun Arduino dasturida menyuda Tools>Board va u yerdan "Arduino Uno" tanlanadi.
Yuqorida aytilganidek, bu kontroller juda ixcham o'lchamlarga ega bo'lib, uning tomonlari 6.9 va 5.3 smga teng. Bu esa o'z navbatida uni yanada qiziqarli qiladi.
2.3-rasm. Arduino Uno o’lchami kaft bilan solishtirilganda
Shunday qilib, Arduino Uno kontrolleri dasturlashni endi o'rganayotgan yosh dasturchilar uchun, ko'p yillik dasturlash bo'yicha tajribaga ega dasturchilarga juda kerakli bo'lishi mumkin. Chunki uning yordamida zamonaviy kompyuterlarning ishlash prinsiplarini o'rganish va kompyuterlarda tezkor xotira, doimiy xotira va protsessorlar nima vazifalarni bajarishini tushunish uchun yordam beradi.
Arduino — elektronik loyihalarini yaratish uchun foydalaniladigan open source platformasi hisoblanadi. Arduino kompyuter kodini fizik qurilmalarga yozib olish uchun ishlatiladigan elektron mikrokontrollerdan va dasturiy ta’minot yoki IDE (Integrated Development Environment) komponentidan iborat.
2.4-rasm. Arduino UNO qurilmasidagi port va pinlar
Arduino UNO
Power(1).Arduino UNOga quvvat USB portini shaxsiy komputer yoki noutbukingizga ulash orqali beriladi. Uni komputeringizga ulovchi USB simisiz ham ishlatishingiz mumkin. Buning uchun maxsus batareya orqali ishlatishingiz mumkin(2). Bunday batareyalar odatda 9V kuchlanishga ega bo’ladi.
GND(3): Ground so’zining qisqartmasi. Bu pinni siz barcha proyektingizdada ishlatasiz.
5V(4) & 3,3V(4): Bular mos ravishda 5V va 3,3V lik quvvatni ta’minlovchi pinlar hisobladi.
Analog(6): Anolog pinlar (A0,…A5). Bu pinlar yordamida qurilmalardan analog signal qabul qilinadi. Masalan harorat datchigidan.
Digital(7/8): Bu pinlardan esa raqamli signallar qabul qilinadi. Masal kichim svetodioddan.
Keling Arduino UNOda birinchi qilinadigan kichik proyekt hisoblanmish svetodiodni yoqib ko’ramiz. Demak buning uchun bizga: Arduino UNO , LED(svetodiod) va 220 om rezistor kerak bo’ladi.
Sxemani quyidagi ko’rinishda yig’amiz:
2.5-rasm. Arduino UNO qurilmasida svetodiodni ulash usuli
Va Arduino IDE dasturlash muhitida quyidagi kodni yozish orqali biz LEDni 1 sekund yonib 1 sekund o’chish holatini takrorlanishiga erishamiz:
2.6-rasm. Arduino IDE da LED yonib o’chish kodi
Arduino - bu yangi boshlanuvchilar va mutaxassislar uchun qulay elektron qurilmalarni tezkor ishlab chiqish platformasi va elektron konstruktor. Platforma dasturlash tilining qulayligi va soddaligi, shuningdek, ochiq arxitektura va dasturiy ta'minot kodi tufayli butun dunyoda juda mashhur. Arduino platasi dasturlash va boshqa sxemalar bilan integratsiya qilish uchun Atmel AVR mikrokontrolleridan va jabduqlar elementlaridan iborat. Ko'pgina taxtalarda +5 V yoki +3,3 V chiziqli kuchlanish stabilizatori mavjud.
Taktika 16 yoki 8 MHz chastotalarda kvarts rezonatori (ba'zi versiyalarda keramik rezonator) bilan amalga oshiriladi.
Arduino arxitekturasiga mos keladigan taxtalar asosida mahalliy dasturlarni ishlab chiqish rasmiy bepul Arduino IDE dasturlash muhitida amalga oshiriladi. Atrof-muhit Arduino-ga mos keladigan qurilma taxtasida o'rnatilgan mikrokontroller xotirasiga o'z dasturlarini yozish, kompilyatsiya qilish va yuklash uchun mo'ljallangan. Rivojlanish muhitining asosi Processing/Wiring tilidir-bu aslida oddiy C++ bo'lib, kontaktlarda kirish/chiqishni boshqarish uchun oddiy va tushunarli funktsiyalar bilan to'ldiriladi. Windows, Mac OS va Linux operatsion tizimlari uchun muhit versiyalari mavjud.
Arduino arxitekturasiga mos keladigan taxtalar asosida mahalliy dasturlarni ishlab chiqish rasmiy bepul Arduino IDE dasturlash muhitida amalga oshiriladi. Atrof-muhit Arduino-ga mos keladigan qurilma taxtasida o'rnatilgan mikrokontroller xotirasiga o'z dasturlarini yozish, kompilyatsiya qilish va yuklash uchun mo'ljallangan. Rivojlanish muhitining asosi Processing/ Wiring tilidir-bu aslida oddiy C++ bo'lib, kontaktlarda kirish/chiqishni boshqarish uchun oddiy va tushunarli funktsiyalar bilan to'ldiriladi. Windows, Mac OS va Linux operatsion tizimlari uchun muhit versiyalari mavjud.
Windows operatsion tizimiga ega kompyuterda Arduino IDE-ni o'rnatishni ko'rib chiqing. Biz sahifaga o'tamiz www.arduino.cc, Windows operatsion tizimi uchun versiyani tanlang va arxiv faylini yuklab oling. U sizga kerak bo'lgan hamma narsani, shu jumladan drayverlarni o'z ichiga oladi. Yuklab olish oxirida yuklab olingan faylni o'zingiz uchun qulay joyga oching.
Endi drayverlarni o'rnatishingiz kerak. Arduino-ni kompyuterga ulang. Tekshirish moslamasida quvvat indikatori yonishi kerak-yashil LED. Windows drayverni o'rnatishga urinishni boshlaydi, bu "drayver dasturi o'rnatilmagan"xabari bilan tugaydi. Qurilma menejerini oching. Qurilmalar tarkibida biz Arduino Uno belgisini topamiz-qurilma undov belgisi bilan belgilanadi. Arduino Uno belgisini o'ng tugmasini bosing va ochilgan oynada elementni tanlang drayverlarni yangilang va keyin ushbu kompyuterda drayverlarni qidiring. Biz haydovchiga yo'lni ko'rsatamiz-yuklab olingan arxiv ochilgan kompyuterdagi papka. Bu Arduino o'rnatish katalogining drivers papkasi bo'lsin – masalan, C:\arduino-1.0\drivers. Biz Windows-ning barcha ogohlantirishlariga e'tibor bermaymiz va natijada xabar olamiz ushbu qurilma uchun dasturiy ta'minotni yangilash muvaffaqiyatli yakunlandi. Oynaning sarlavhasida qurilma o'rnatilgan COM porti ham ko'rsatiladi.
Endi Arduino IDE-ni ishga tushirish mumkin.
Arduino ishlab chiqish muhiti (2.7-rasmga qarang.) quyidagilardan iborat:
dastur kodi muharriri;
xabarlar sohalari;
matnni chiqarish oynalari;
tez-tez ishlatiladigan buyruqlar tugmachalari bo'lgan asboblar paneli;
bir nechta menyu.
2.7-rasm
Arduino muhitida yozilgan dastur eskiz deb nomlanadi.
Eskiz yaratilgan dastur kodining rangli yoritilishiga ega bo'lgan matn muharririda yoziladi. Loyihani saqlash va eksport qilish paytida xabarlar sohasida tushuntirishlar va xatolar haqida ma'lumotlar paydo bo'ladi. Matnni chiqarish oynasida Arduino xabarlari, shu jumladan to'liq xato hisobotlari va boshqa ma'lumotlar ko'rsatilgan. Asboblar panelidagi tugmalar dasturni tekshirish va yozib olish, eskizni yaratish, ochish va saqlash, ketma-ket avtobus monitoringini ochish imkonini beradi.
Ishlab chiqilgan eskizlarga qo'shimcha funktsiyalarni kutubxonalar yordamida qo'shish mumkin, ular yaratilgan loyihaga ulanishi mumkin bo'lgan ba'zi funktsiyalarni amalga oshiradigan maxsus ishlab chiqilgan dasturiy koddir. Ixtisoslashgan kutubxonalar juda ko'p. Odatda kutubxonalar ma'lum bir muammoni hal qilishni soddalashtirish va ishlab chiquvchidan dasturiy ta'minotni amalga oshirish tafsilotlarini yashirish uchun yoziladi. Arduino IDE muhiti standart kutubxonalar to'plami bilan birga keladi. Ular Arduino o'rnatish katalogining libraries pastki katalogida joylashgan. Kerakli kutubxonalarni turli xil manbalardan yuklab olish mumkin. Agar kutubxona to'g'ri o'rnatilgan bo'lsa, u eskiz | import kutubxonalari menyusida paydo bo'ladi. Menyudan kutubxonani tanlash manba kodiga #include ushbu ko'rsatma endi loyihada ishlatilishi mumkin bo'lgan ob'ektlar, funktsiyalar va kutubxona konstantalarini tavsiflovchi sarlavha faylini ulaydi. Arduino muhiti yaratilgan loyihani belgilangan kutubxona bilan birga kompilyatsiya qiladi.
Eskizni yuklashdan oldin Menyuda kerakli parametrlarni o'rnatishingiz kerak Asboblar | taxta (asboblar | board)va Asboblar | ketma-ket port.
Zamonaviy Arduino platformalari yuklashdan oldin avtomatik ravishda qayta ishga tushadi. Eski platformalarda qayta ishga tushirish tugmasini bosishingiz kerak. Ko'pgina taxtalarda RX va TX ledlari yuklash jarayonida miltillaydi. Eskizni yuklashda Arduino bootloader ishlatiladi-bu bortdagi mikrokontrollerga Yuklangan kichik dastur. Bu sizga qo'shimcha qo'shimcha vositalardan foydalanmasdan dastur kodini yuklab olish imkonini beradi. Bootloader ishi D13 raqamli pinidagi LEDning miltillashi bilan tan olinadi.
Serial monitor Arduino platformasiga yuborilgan ma'lumotlarni (USB platasi yoki ketma-ket avtobus platasi) ko'rsatadi. Endi biz Arduino va Arduino IDE dasturlash muhiti haqida bir oz ma'lumotga ega bo'ldik, amaliy tajriba mashg'ulotlariga o'tamiz.
2.8-rasm. Arduino IDE da qurilma platasini tanlash
2.9-rasm. Arduino IDE da ulanish portini tanlash
|
| |