O’quv qo’llanma
Boxodir Xoshimovich Karimov
Akmaljon Olloberdiyevich Kuchkarov
Redaktor Ibratjon Xatamovich Aliyev
Redaktor Obbozjon Xokimovich Qo'ldashov
Redaktor Salim Madraximovich Otajonov
Muqova dizayneri Boxodir Xoshimovich Karimov
Muqova dizayneri Ibratjon Xatamovich Aliyev
Illustrator Boxodir Xoshimovich Karimov
Illustrator Ibratjon Xatamovich Aliyev
Taqrizchi, Farg'ona Politexnika Instituti Enegetika fakulteti "Fizika" kafedrasi professori, fizika-matematika fanlari doktori Nomonjon Sultonovich Sultonov
Taqrizchi, Farg'ona Politexnika Instituti Energetika fakulteti "Fizika" kafedrasi dotsenti, fizika-matematika fanlari nomzodi Zokirjon Mirzajonovich Mirzajonov
Taqrizchi, Farg'ona Davlat Universiteti fizika-texnika fakulteti "Texnologik ta'lim" kafedrasi dotsenti, fizika-matematika fanlari nomzodi Tursun Axmedovich Axmedov
Korrektor Ibratjon Xatamovich Aliyev
Korrektor Sayora Boxodirovna Aripova
© Boxodir Xoshimovich Karimov, 2024
© Akmaljon Olloberdiyevich Kuchkarov, 2024
ISBN 978-5-0064-0146-4
Создано в интеллектуальной издательской системе Ridero
Tavsiya etilgan o’quv qollanmasi avtomatizasiya va robototexnika boyicha loyihalarda mikrokontrollerlarni tashqi muhit bilan aloqada bo’lishidan foydalanib, mikrokontrollerlarni dasturlashni o`rganayotgan o’quvchilarga mo’ljallangan.
O`quv qo`llanmasida Arduino IDE muhiti yordamida Arduino platasini dasturlash tili yoritilgan bo`lib, amaliyotda qo`llaniluvchi amaliy loyihalar keltirilgan. Qo`llanmada amaliyotda qo`llaniladigan, yechimi tugallangan Arduino asosidagi ko`plab amaliy loyihalar yoritilgan. Qollanmada keltirilgan loyihalardan o`quv jarayoni, sanoat, qishloq xo`jaligi, tibbiyot va boshqa sohalarda qo`llash imkonlari keltirilgan.
1-bob. ARDUINOGA KIRISH
1.1.Arduino nima
Arduino – bu ochiq kodli platforma bo`lib elektron loyihalarni yaratish uchun ishlatiladi. Arduino dasturlashtiriladigan elektron platadan va kompyuter kodini yozish hamda dasturni plataga yuklash uchun foydalaniladigan dasturiy ta`minot IDE (Integrated Development Environment, ya`ni, o`zbekchada «Integratsiyalashgan rivojlanish muhiti», -Integratsiya (lot. integratio – tiklash, to'ldirish) dan iborat.
Arduino platformasi elektronika bilan endigina shug`ullanayotgan o`rganuvchilar hamda ushbu sohadagi tajribali mutaxassislar tomonidan turli loyihalar tayyorlashda foydalanib kelinmoqda. Arduino platasiga yangi kodni yuklash uchun USB kabelidan foydalaniladi. Bundan tashqari, Arduino IDE C++ tilining soddalashtirilgan versiyasidan foydalanadi, bu esa dasturlashni o`rganishni osonlashtiradi.
Arduino mikrokontrolleriga yuklanadigan dastur qurilmalarni ma`lum bir algoritmga asosan boshqriladi yoki arifmetik amallarni bajaradi. Arduino dasturlash tilini tushunish juda oson, chunki bu platforma havaskorlar uchun yaratilgan. Arduino mikrokontrolleriga ko`rsatmalar to`plamini yuborish orqali kerakli vazifalarni berishingiz mumkin.
Arduinoda professional bo`lmagan foydalanuvchilar ham turli xil elektron qurilmalarni (avtomatlashtirish va robototexnika tizimlari) yaratishlari mumkin. Arduino asosidagi qurilmalar turli sensorlardan signallarni qabul qilish va turli actuator (Aktuator – bu mexanizm yoki tizimni harakatlantirish va boshqarish uchun moljallangan mashinaning tarkibiy qismi) larni boshqarish imkoniyatiga ega.
Yozilgan dastur Arduinoda mustaqil ishlashi mumkin yoki kompyuter hamda mobil qurilmalar bilan o`zaro aloqada bo`ladi.
Kompaniya asoschilari — Arduino platasini ishlab chiquvchilari italiyalik Massimo Banzi, Devid Kuartil, Tom Igo, Janluka Martino va Devid Mellislardir. Arduinoning nomlanishi ular uchrashgan Italyadagi bardan olingan. Arduino maxsus ochiq manba sifatida ishlab chiqilgan, bo’lib, faqat tovar nomi patentlangan.
Arduino o`zining protsessoriga va xotirasiga ega bo`lgan kichik plata bo`lib, atrof-muhit bilan chambarchas bog`liqdir. Arduino platasida barcha turdagi komponentlar (sensorlar, motorlar, aktuatorlar va kengaytirish platalari) ni ulash mumkin bo`lgan o`nlab pinlar mavjud. 1.1-rasmda Arduino UNO platasi keltirilgan.
1.1-rasm.Arduinono UNO platasi
Dasturlash uchun mo`ljallangan Arduino IDE dasturiy ta`minotida dasturlash tajribasiga ega bo`lmagan o`rganuvchi ham bu dasturni tushuna oladi. Arduino sizga ushbu sohada professional ko`nikmalar va ko`plab g`oyalarni amalga oshirish imkonini beradi.
Ushbu kutobda o`z loyihalaringizni yaratish uchun turli sensorlar va qurilmalarni Arduinoga ulash bo`yicha ko`plab qo`llanmalar mavjud. Kitobni o`qish jarayonida Arduino nima ekanligi hamda sensorlar va qurilmalar bo`yicha tushunchaga ega bo`lib borasiz. Agar Arduino nima ekanligini va nima uchun kerakligi haqida ko`proq bilmoqchi bo`lsangiz, unda ushbu kitobdagi amalga oshirilishi mumkin bo`lgan turli loyihalar bilan tanishishingiz kerak.
Omad tilaymiz va ajoyib Arduino olamiga xush kelibsiz!
1.2.Robototexnikada algoritmlarning turlari
Robotlashgan loyihalar uchun harakat algoritmini yaratish ijodiy fikrlashni talab qiladi, shuning uchun algoritmni faqat odam yaratishi yoki o`zgartirishi mumkin. Robotlar esa ko`rsatmalarni bajaradi. Robototexnikaning uchta qonunining algoritmlarini ishlab chiqish ko`p vaqt talab qiladigan vazifa bo`lib, robotlarga keng ko`lamli vazifalarni bajarishga imkon beradi.
Robototexnikaning uchta qonuni
1. Robot insonga shikast etkaza olmaydi yoki harakatsizlik orqali insonga zarar yetkazishi mumkin emas.
2. Robot odamlar tomonidan berilgan buyruqlarga bo’ysunishi kerak, agar bunday buyruqlar birinchi qonunga zid bo’lmasa.
3. Robot o’z mavjudligini himoya qilishi kerak, agar bunday himoya birinchi yoki Ikkinchi qonunga zid bo’lmasa.
Isaak Asimov
Dunyodagi barcha jarayonlar qonunlar va qoidalarga bo`ysunadi, olimlar tomonidani bugungi kunda juda ko`p formulalar va algoritmlar yozilgan bo`lib, ular orqali ko`plab harakatlarni hisoblashingiz va takrorlashingiz mumkin. Algoritm tushunchasi 783—850 yillarda yashab ijod qilgan vatandoshimiz matematik Muhammad ibn Muso al-Xorazmiy nomidan kelib chiqqan. Al-Xorazmiy yaratgan qo`llanmada keltirilgan o`nlik sanoq sistemasida arifmetik amallarni bajarish qoidalari soddaligi tufayliYevropada ham o`nlik sanoq sistemasi qo’llanishiga turtki bo’ldi. Bu qoidalartarjimasida bir qoida «Al-Xorazmiy aytadiki» deb boshlangan va bora-bora talaffuz tufayli «algoritm» tarzida ifodalanib kelgan.
1.2-rasm. Vatandoshimiz matematik Muhammad ibn Muso al-Xorazmiy
1.3.Algoritm nima?
Algoritm – bu masalani hal qilish yoki hisoblash uchun ishlatiladigan ketma-ketlik (protsedura). Algoritmlar apparati yoki dasturiy ta`minotga asoslangan tartiblarda harakatlarni bosqichma-bosqich bajaradigan ko`rsatmalarning aniq ro`yxati sifatida ishlaydi.
Algoritmlar IT (o`zb-AKT-axborot komunikatsion texnologiyalar) ning barcha sohalarida keng qo`llaniladi. Matematika va informatika fanlarida algoritm odatda takrorlanuvchi muammoni hal qiladigan kichik ketma- ketlikka (protseduraga) ishora qiladi. Algoritmlar ma`lumotlarni qayta ishlashni amalga oshirish uchun spetsifikatsiya sifatida ham qo`llaniladi va avtomatlashtirilgan tizimlarda katta rol o`ynaydi.
Algoritm raqamlar to`plamini saralash yoki ijtimoiy tarmoqlarda foydalanuvchi kontentini tavsiya qilish kabi murakkabroq vazifalar uchun ishlatilishi mumkin. Algoritmlar odatda dastlabki kiritish