Boxodir Xoshimovich Karimov

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


Скачать книгу

= random (5);

      Serial.println (malumotlar);

      delay (250);

      }

      4.7.4.Arduinoda random Seed tasodifiy raqamlari

      E`tibor bering, yuqoridagi barcha misollarda, dastur har safar qayta ishga tushirilganda, raqamlarning tasodifiy ketma-ketligi takrorlanadi. Buni Arduinoning random Seed funksiyasidan foydalanib oldini olish mumkin. random Seed tasodifiy funksiyaga o`zgaruvchini qo`yish imkonini beradi. Buni amalga oshirish uchun raqamlarni yaratishni tasodifiy qilish uchun millis, analogRead yoki boshqa variantlardan foydalaning.

      int malumotlar;

      void setup () {

      Serial.begin (9600);

      randomSeed (analogRead (A1)); //A1 piniga hech narsa ulanmagan

      }

      void loop () {

      malumotlar = random (100, 200); //diapazondagi Arduino tasodifiy soni

      Serial.println (malumotlar);

      delay (250);

      }

      Dastur har safar qayta ishga tushirilganda, psevdo-tasodifiy raqamlar generatori random Seed (analogRead (A1)) funksiyasi bilan ishga tushiriladi (portdagi «shovqin» tufayli tasodifiy qiymat bilan). Buning uchun har qanday bo`sh portdan foydalanishingiz mumkin, chunki barcha analog chiqishlar atrof-muhitdan tasodifiy shovqinlar-radio to`lqinlari, kompyuterlar, uyali telefonlar va boshqalarning elektromagnit shovqinlarini oladi.

      5-bob. ARDUINO PLATFORMASIDA AMALIY MASHG’ULOTLAR

      5.1.Serial funksiyasi va Monitor port haqida tushuncha

      Monitor port – bu Arduino mikrokontrollerini kompyuter yoki boshqa qurilmalar bilan ma`lumot almashishiga xizmat qiladigan funksiya (bajarilish, sodir bo`lish) bo`lib, u yordamida yozgan dasturlar qanday tartibda bajarilayotgani haqida ma`lumotlar chiqaradi.

      Arduinodan kelgan ma`lumotlar Arduino sketchining (Arduinoda yozilgan dasturning nomi) Monitor portiga chiqadi. Monitor port-bu Arduino va kompyuter o`rtasida aloqa almashish oynasi bo`lib Arduinodan kelgan ma`lumotlar shu yerda chiqadi va shu yerdan Arduinoga ma`lumotlar jo`natiladi.

      Yordamchi dastur uch qismga bo`lingan oynadan iborat. Yuqori qismida ma`lumotlarni kompyuterdan ketma-ket portga yuborishingiz mumkin bo`lgan kirish maydoni mavjud. Markaz ketma-ket portdan olingan ma`lumotlarni ko`rsatadi. Oynaning pastki qismida (yangi versiyalarda yuqori qismida) sozlamalar menyusi joylashgan. Arduino monitor porti bitta ketma-ket port bilan ishlashi mumkin, shuning uchun dastur yuklashda va Monitor portni ochishda xatolikka yo`l qo`ymaslik uchun aniqlangan COM portini tanlashingiz kerak.

      5.1.rasm. COM portni tanlash

      Yordamchi dasturni ochish uchun Arduino IDE-ning yuqori o`ng burchagidagi belgini bosishingiz kerak, Ctrl + Shift + M tugmalar birikmasidan foydalaning yoki menyu panelidan tanlang: Tools (Инструменты) -> Serial Monitor (Monitor porta). Arduino uchun Monitor port tezligi 9600 bit/s ga o`rnatiladi, shuning uchun ko`plab dasturlarda bu tezlikdan foydalanadi. Agar dasturda va port monitor sozlamalarida ma`lumotlarni uzatish tezligi boshqacha bo`lsa, unda barcha ma`lumotlar ierogliflar (so`zlar ma`nosini raqamlar va belgilar bilan ifodalaydigan yozuv turi) ko`rinishida ko`rsatiladi.

      5.2. Monitor portga matnni qabul qilish va yuborish

      Yordamchi dastur bilan ishlash uchun quyidagi buyruqlardan foydalaning: Serial.begin (); – buyruq ketma-ket portni ishga tushiradi

      Serial. end (); – ketma-ket portni to`xtatadi va tozalaydi

      Serial.print (); – ma`lumotlarni ketma-ket portga yuboradi

      Serial.println (); – ushbu buyruqdan keying ma`lumot keyingi satrdan boshlanadi

      Serial.read (); – ketma-ket portdan ma`lumotlarni qabul qiladi

      Serial.parseInt (); – port monitoridan katta raqamlarni o`qish

      5.3. Serial.begin () – buyruq

      Arduino IDEda Monitor portni quyidagicha ochiladi:

      5.2.rasm. Monitor portni ochish

      5.3.rasm. Monitor portni chiqish oynasi

      Ma`lumotlarni Monitor portga chiqarish uchun birinchi Arduino bilan kompyuter o`rtasida aloqa o`rnatish kerak. Buning uchun void setup () ning ichiga Serial.begin () buyrug`ini yozishimiz kerak.

      Serial.begin () —bu Arduino bilan biror qurilma o`rtasida aloqa o`rnatish uchun xizmat qiladigan buyruq.

      5.4-rasm. Serial.begin () Arduino bilan qurilma o`rtasida aloqa o`rnatish uchun xizmat qiladigan buyruq.

      Serial.begin () ichida yozilgan «9600» ma`lumot almashish tezligi bo`lib, u 1sekundda 9600 bit ma`lumot almashishini bildiradi. Bundan tashqari malumot almashish tezliklarining boshqa qiymatlari 300, 1200, 2400, 4800, 9600, 19200, 115200 va hokazo mavjud (5.5-rasm).

      Arduino va kompyuter uchun eng ko`p ishlatiladigan malumot almashish tezlik 9600 hisoblanadi. Qolaversa ko`plab qurilmalar ham 9600 tezilik bilan ma`lumot almashadi.

      Monitor portga malumot chiqarilganda Serial.begin () da berilgan tezlik bilan monitor portning tezligi bir xil bo`lish kerak aks xolda malumotlar to`liq yetib kelmasligi yoki umuman kelmasligi mumkin.

      5.5.rasm.Serial.begin () da 1sekund ichida 9600 bit ma`lumot almashish

      5.6.rasm.Serial.begin () da 1sekund 300, 1200, 2400, 4800, 9600, 19200, 115200 va hokazo bit ma`lumot almashish

      Ma`lumotlarni monitor potrga chiqarish uchun esa Serial.print () buyrug`i ishlatialadi.

      Serial.print (); -bu ma`lumotlarni monitor portga chiqarish buyrug`i bo`lib, ma`lumotlarni gorizontal ravishda chiqaradi (5.7-rasm).

      Monitor portga ma`lumotlarni vertikal holatda chiqarish uchun Serial.println (); buyrug`idan foydalanish kerak (5.8-rasm). So`zlarni serial portga chiqarish sonlarni ekranga chiqarishdan boshqacha bo`lib, chiqarilmoqchi bo`lgan so`z ikkita qo`shtirnoq ichida yoziladi. Misol uchun Assalomu alaykum so`zini chiqarish uchun Serial.println («Assalomu alaykum»); ko`rinishida yoziladi.

      5.8.rasm.Monitor portga ma`lumotlarni vertikal ravishda chiqarish buyrug`iga misoli

      5.9.rasm. Monitor portga so`zlarni ekranga chiqarish

      6-bob.ARDUINO VA SVETODIODLAR

      6.1.Svetodiodni Arduinoga ulash sxemasi va dasturi

      Ushbu bo`limda svetodiodni rezistor orqali Arduino UNO-ga qanday ulashni ko`rib chiqamiz. Svetodiodni miltillashi – bu mikrokontroller bilan ishlashni boshlash uchun eng oddiy dastur. Quyida svetodiod va rezistorli sxemani yig`ish, Arduino UNO-da svetodiodni miltillashi uchun dastur, uni Arduino UNO platasiga yuklash qoidalari va izohlar bo`yicha batafsil ko`rsatma keltirilgan.

      Svetodiodlar – ko`rsatkich va yoritish uchun xizmat qiluvchi yarim o`tkazgichli indikatorlardir. Ular anod (+) va katod (-) ga ega va doimiy tok oqimning yo`nalishini sezadi (6.1-rasm). Agar svetodiodni noto`g`ri ulasangiz, u holda to`g`ridan to`g`ri tok o`tmaydi va u yonmaydi. Svetodiod noto`g`ri ulangan bo`lsa, ishlamay qolishi mumkin. Anod (svetodiodning uzun oyog`i) manbaning plyusga ulangan. Katod