9785006401464
ISBN :Возрастное ограничение : 12
Дата обновления : 06.06.2024
malumotlar1=random (10); //butun sonlarni yarating malumotlar1=random (100); //kasrdan keyin raqamlar hosil qilish
malumotlar=malumotlar1 + malumotlar2/100;// qiymatlarni qo`shing
Serial.println (malumotlar);
delay (250);
}
4.7.3.Arduinoda random bool
Agar sizga tasodifiy boolen o`zgaruvchi kerak bo`lsa, u faqat ikkita rost (true) yoki yolg`on (false) qiymatni qabul qilishi mumkin. Keyin berilgan ehtimollik bilan tasodifiy rost/yolg`on hosil qilishingiz mumkin. Shunchaki tasodifiy funksiya natijasini bool o`zgaruvchisiga belgilaymiz, bunda yolg`on bo`lish ehtimolining o`zaro nisbatini ko`rsatamiz. Misol:
bool malumotlar;
void setup () {
Serial.begin (9600);
}
void loop () {
//o`zgaruvchan ma`lumotlar 1/5 ehtimollik bilan 0 qiymatini oladi
malumotlar = 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
Все книги на сайте предоставены для ознакомления и защищены авторским правом