{"id":34,"date":"2023-05-14T23:07:39","date_gmt":"2023-05-14T18:07:39","guid":{"rendered":"http:\/\/yarat.uz\/?p=34"},"modified":"2025-03-19T15:27:06","modified_gmt":"2025-03-19T10:27:06","slug":"blokli-dasturlash-asoslari","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=34","title":{"rendered":"Blokli dasturlash tushunchasi. ArduBlock [14+]"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>Arduinoda blokli dasturlash<\/strong><\/p>\n<p style=\"text-align: justify;\">Oxirgi paytlarda Arduinoda dasturlash jarayonini yanada soddalashtirish maqsadida bir qator yordamchi\u00a0 dasturiy vositalar soni ham ortib bormoqda. Shunday dasturlash vositalaridan biri &#8211; blokli dasturlash vositalardir. Ularni dasturlash tili emas, dasturlash vositalari deyilishiga sabab, ularda dasturlar kod yordamida emas, balki bloklarni visual holda ma&#8217;lum algoritm asosida joylashtirish orqali bajariladi. Har bir blok alohida bir Arduino buyrug&#8217;i yoki operatoriga mos keladi. Masalan, <a href=\"http:\/\/ardublock.ru\/index.php\">ArduBlock<\/a> (boshlovchi arduinochilar uchun), <a href=\"https:\/\/flprog.ru\/?ysclid=lrtdnxv9qs913634869\">flprog<\/a> (elektronika va sxemotexnika sohalaridan xabardor bo&#8217;lgan shaxslarga yo&#8217;naltirilgan) dasturiy vositalari shular jumlasidandir. Bundan tashqari, Arduino yordamida masofadan (Bluetooth, WiFi, Internet orqali) boshqarishga mo&#8217;ljallangan qurilmalarni yaratishda ko&#8217;pincha mobil ilovaga ham ehtiyoj tug&#8217;ilishi, jumladan, arduinochidan Android uchun dasturlash vositalarini ham qo&#8217;shimcha o&#8217;rganish talab etilishi mumkin. Bunday vaziyatda Android uchun onlayn <strong>blokli dasturlash vositasi &#8211; <a href=\"https:\/\/ai2.appinventor.mit.edu\" target=\"_blank\" rel=\"noopener\">MIT App Inventor<\/a><\/strong>dan foydalanish tavsiya etiladi. Ushbu vosita Android uchun professional dasturlashga mo&#8217;ljallangan boshqa vositalardan, o&#8217;rganilishi nisbatan osonligi va alohida dasturlash tilini bilishni talab qilmasligi bilan ajralib turadi.<\/p>\n<p style=\"text-align: justify;\">Bir arduinoni o&#8217;rganish bo&#8217;yicha darslarda biz yuqorida sanab o&#8217;tilgan qo&#8217;shimcha dasturiy vositalarni batafsil o&#8217;rganishga to&#8217;xtalmaymiz, faqat tegishli darslarda ular haqidagi ayrim dastlabki ma&#8217;lumotlarni yetkazish bilan cheklanamiz. Ularga qiziqish paydo bo&#8217;lgan arduinochilarga esa, bo&#8217;sh vaqti va boshqa imkoniyatlaridan kelib chiqib, o&#8217;zlari mustaqil ravishda o&#8217;rganishlarini tavsiya qilamiz. Internet tarmog&#8217;ida ular haqidagi ma&#8217;lumotlarni ko&#8217;plab topish mumkin.<\/p>\n<p style=\"text-align: justify;\">Quyida biz &#8220;Blink&#8221; sketchini <strong>ArduBlock<\/strong> blokli dasturlash vositasi yordamida yaratishni misol tariqasida ko&#8217;rib chiqamiz. ArduBlock dasturi ham Arduino platalari bilan ishlashni yanada qulaylashtirish, ya&#8217;ni kodli dasturlash o&#8217;rniga visual (blokli) dasturlash platformasini taqdim etadi. Shu bilan birga, u Arduino IDE ga integrallashgan holda, aniqrog&#8217;i uning plagini tarzida ishlatiladi. Oxirgi natija sketch ko&#8217;rinishida Arduino IDE ga o&#8217;tkaziladi. Natijada, yo&#8217;l qo&#8217;yilishi mumkin bo&#8217;lgan ayrim imloviy va boshqa elementar xatoliklarga yo&#8217;l qo&#8217;yilishining oldi ham olinadi.<\/p>\n<p style=\"text-align: justify;\">Ushbu dasturda sketchning har bir funksiyasi uchun mos bloklardan, funksiyaning argumenti sifatida esa blokdagi qo&#8217;shimcha maydon va elementlardan foydalaniladi.<\/p>\n<p style=\"text-align: center;\"><strong>Dasturni o&#8217;rnatish<\/strong><\/p>\n<p style=\"text-align: justify;\">ArduBlockdan tez-tez foydalanishni rejalashtirgan arduinochi uning lokal versiyasini o&#8217;rnatishi maqsadga muvofiq. Aksincha, undan kam foydalanilgan taqdirda esa, onlayn versiyasidan foydalangan ma&#8217;qulroq (dasturning Windows 7 ga mo&#8217;ljallangan oflayn versiyasini yuklab olish uchun havola <a href=\"https:\/\/github.com\/downloads\/taweili\/ardublock\/ardublock-all.jar\" target=\"_blank\" rel=\"noopener\">bu yerda<\/a>).<\/p>\n<p style=\"text-align: justify;\">ArduBlockning onlayn yoki ofllayn rejimda qo&#8217;llaniladigan (portativ) versiyalaridan foydalanish ham mumkin (portativ versiyasini <a href=\"http:\/\/ardublock.ru\/download\/ArduBlock.zip\">yuklab olish<\/a>, u o&#8217;z ichiga ko&#8217;plab bibliotekalarni ham olganligi sababli faylning hajmi juda katta). Barcha hollarda ham, dasturdan veb brauzer yordamida foydalaniladi.<\/p>\n<p style=\"text-align: justify;\">Biz darslar davomida faqat onlayn versiyasidan foydalanamiz. Uni ushbu <a href=\"http:\/\/ardublock.ru\/index.php\">havola<\/a> orqali ochishimiz mumkin.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1284 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock.jpg\" alt=\"\" width=\"968\" height=\"801\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock.jpg 968w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock-300x248.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock-768x636.jpg 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><\/p>\n<p style=\"text-align: justify;\">Rasmda chap tomonda foydalanish mumkin bo&#8217;lgan barcha bloklar ro&#8217;yxati, o&#8217;rtada bloklar ma&#8217;lum algoritm asosida joylashtiriladigan asosiy oyna, yuqorida Arduino platasi turi, o&#8217;ng tomonda bloklarni joylashtirish natijasida avtomatik ravishda hosil bo&#8217;lgan Arduino kodi (<strong>&#8220;\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c Arduino \u043a\u043e\u0434&#8221;<\/strong> tugmasi yordamida ochiladi yoki yashiriladi). Oynaning o&#8217;ng yuqori qismidagi <strong>&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#8221;<\/strong> tugmasi yordamida, ArduBlokni rus yoki ingliz tiliga o&#8217;tkazish mumkin. ArduBlockning yana bir qulaylik jihati, unda ko&#8217;plab tanish datchiklar va modullarning bloklari ham oldindan mavjud. Bundan tashqari, alohida biblioteka talab qiladigan blokdan foydalanilgan taqdirda, Arduino kodiga kerakli biblioteka nomi avtomatik tarzda qo&#8217;shib qo&#8217;yiladi.<\/p>\n<p style=\"text-align: justify;\">13-pindagi ichki svetodiodni miltillatish dasturini yaratish uchun, chap tomondagi <strong>&#8220;\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435&#8221;<\/strong> va <strong>&#8220;\u0412\u0445\u043e\u0434\u044b\/\u0412\u044b\u0445\u043e\u0434\u044b&#8221;<\/strong> bo&#8217;limlaridan quyidagi bloklarni asosiy oynaga sichqoncha yordamida olib o&#8217;tamiz: <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1286 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock_2.jpg\" alt=\"\" width=\"484\" height=\"128\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock_2.jpg 484w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/01\/blink-ardublock_2-300x79.jpg 300w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/>Shundan so&#8217;ng, ushbu bloklarni yuqoridagi rasmdagi ketma-ketlikda <strong>&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\/\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430&#8221;<\/strong> blokining <strong>&#8220;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430&#8221;<\/strong> sohasiga joylashtiramiz. Keyin sichqonchaning kursorini <strong>&#8220;\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0432\u044b\u0445\u043e\u0434&#8221;<\/strong> va so&#8217;ngra <strong>&#8220;\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430&#8221;<\/strong> bloklari ustiga olib borib, o&#8217;ng tugmasi yordamida kontekst menyuni ochamiz va <strong>&#8220;\u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#8221;<\/strong> tugmasi yordamida ularning har biridan nusxa olamiz. Hosil bo&#8217;lgan yangi bloklarni ham tegishli ketma-ketlikda joylashtiramiz. <strong>&#8220;\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0432\u044b\u0445\u043e\u0434&#8221;<\/strong> blokidagi <strong>&#8220;\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435&#8221;<\/strong> parametri qiymatini, kerakli o&#8217;rinlarda <strong>&#8220;1&#8221;<\/strong> yoki <strong>&#8220;0&#8221;<\/strong> kabi o&#8217;rnatamiz (yoki raqamning o&#8217;rniga <strong>&#8220;\u0412\u0445\u043e\u0434\u044b\/\u0412\u044b\u0445\u043e\u0434\u044b&#8221;<\/strong> bo&#8217;limi oxiridagi blokni qo&#8217;yib, uning qiymatini <strong>&#8220;\u0412\u044b\u0441\u043e\u043a\u0438\u0439&#8221;<\/strong> yoki <strong>&#8220;\u041d\u0438\u0437\u043a\u0438\u0439&#8221;<\/strong> sifatida o&#8217;rnatish ham mumkin). <strong>&#8220;\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430&#8221;<\/strong> blokining qiymati (&#8220;1000&#8221; o&#8217;rniga) va birligini (&#8220;\u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b&#8221; o&#8217;rniga) o&#8217;zgartirish orqali pauza davomiyligini o&#8217;zgartirishimiz mumkin. Zarurat tug&#8217;ilsa, Arduino platasi 13-pini o&#8217;rniga boshqa pin raqami <strong>&#8220;\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0432\u044b\u0445\u043e\u0434&#8221;<\/strong> blokidagi\u00a0<strong>&#8220;Pin&#8221; <\/strong>parametri qiymati sifatida o&#8217;rnatilishi mumkin. Bloklar joylashuvi yuqoridagi tartibga keltirilgach, asosiy oyna yuqori o&#8217;ng qismidagi tugmalar yordamida hosil bo&#8217;lgan kodni Arduino IDE dasturi oynasiga yangi sketch oynasiga nusxalaymiz.<\/p>\n<p style=\"text-align: justify;\"><div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/99yr_ykdWEE?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"Blink\"><\/iframe><\/div>\n<p style=\"text-align: justify;\">Ko&#8217;rish mumkinki, hosil bo&#8217;lgan kod &#8220;Blink&#8221; sketchi kodidan deyarli farq qilmaydi. Sketchni plataga yuklash odatdagidek &#8220;\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#8221; tugmasi yordamida bajariladi.<\/p>\n<p style=\"text-align: justify;\">&#8220;Blink&#8221; sketchi kodini <strong>flprog<\/strong> blokli dasturlash vositasi yordamida hosil qilishni <a href=\"https:\/\/yarat.uz\/?p=1301\">alohida darsda<\/a> o&#8217;rganishingiz mumkin. Boshlovchi-arduinochilar ushbu dasturni o&#8217;tkazib yuborishlari mumkin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arduinoda blokli dasturlash Oxirgi paytlarda Arduinoda dasturlash jarayonini yanada soddalashtirish maqsadida bir qator yordamchi\u00a0 dasturiy vositalar soni ham ortib bormoqda. Shunday dasturlash vositalaridan biri &#8211; blokli dasturlash vositalardir. Ularni dasturlash tili emas, dasturlash vositalari deyilishiga sabab, ularda dasturlar kod yordamida emas, balki bloklarni visual holda ma&#8217;lum algoritm asosida joylashtirish orqali bajariladi. Har bir blok alohida [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-34","post","type-post","status-publish","format-standard","hentry","category-2other"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/34","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=34"}],"version-history":[{"count":15,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/34\/revisions"}],"predecessor-version":[{"id":1939,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/34\/revisions\/1939"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=34"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=34"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}