Arduinoda blokli dasturlash
Oxirgi paytlarda Arduinoda dasturlash jarayonini yanada soddalashtirish maqsadida bir qator yordamchi dasturiy vositalar soni ham ortib bormoqda. Shunday dasturlash vositalaridan biri – blokli dasturlash vositalardir. Ularni dasturlash tili emas, dasturlash vositalari deyilishiga sabab, ularda dasturlar kod yordamida emas, balki bloklarni visual holda ma’lum algoritm asosida joylashtirish orqali bajariladi. Har bir blok alohida bir Arduino buyrug’i yoki operatoriga mos keladi. Masalan, ArduBlock (boshlovchi arduinochilar uchun), flprog (elektronika va sxemotexnika sohalaridan xabardor bo’lgan shaxslarga yo’naltirilgan) dasturiy vositalari shular jumlasidandir. Bundan tashqari, Arduino yordamida masofadan (Bluetooth, WiFi, Internet orqali) boshqarishga mo’ljallangan qurilmalarni yaratishda ko’pincha mobil ilovaga ham ehtiyoj tug’ilishi, jumladan, arduinochidan Android uchun dasturlash vositalarini ham qo’shimcha o’rganish talab etilishi mumkin. Bunday vaziyatda Android uchun onlayn blokli dasturlash vositasi – MIT App Inventordan foydalanish tavsiya etiladi. Ushbu vosita Android uchun professional dasturlashga mo’ljallangan boshqa vositalardan, o’rganilishi nisbatan osonligi va alohida dasturlash tilini bilishni talab qilmasligi bilan ajralib turadi.
Bir arduinoni o’rganish bo’yicha darslarda biz yuqorida sanab o’tilgan qo’shimcha dasturiy vositalarni batafsil o’rganishga to’xtalmaymiz, faqat tegishli darslarda ular haqidagi ayrim dastlabki ma’lumotlarni yetkazish bilan cheklanamiz. Ularga qiziqish paydo bo’lgan arduinochilarga esa, bo’sh vaqti va boshqa imkoniyatlaridan kelib chiqib, o’zlari mustaqil ravishda o’rganishlarini tavsiya qilamiz. Internet tarmog’ida ular haqidagi ma’lumotlarni ko’plab topish mumkin.
Quyida biz “Blink” sketchini ArduBlock blokli dasturlash vositasi yordamida yaratishni misol tariqasida ko’rib chiqamiz. ArduBlock dasturi ham Arduino platalari bilan ishlashni yanada qulaylashtirish, ya’ni kodli dasturlash o’rniga visual (blokli) dasturlash platformasini taqdim etadi. Shu bilan birga, u Arduino IDE ga integrallashgan holda, aniqrog’i uning plagini tarzida ishlatiladi. Oxirgi natija sketch ko’rinishida Arduino IDE ga o’tkaziladi. Natijada, yo’l qo’yilishi mumkin bo’lgan ayrim imloviy va boshqa elementar xatoliklarga yo’l qo’yilishining oldi ham olinadi.
Ushbu dasturda sketchning har bir funksiyasi uchun mos bloklardan, funksiyaning argumenti sifatida esa blokdagi qo’shimcha maydon va elementlardan foydalaniladi.
Dasturni o’rnatish
ArduBlockdan tez-tez foydalanishni rejalashtirgan arduinochi uning lokal versiyasini o’rnatishi maqsadga muvofiq. Aksincha, undan kam foydalanilgan taqdirda esa, onlayn versiyasidan foydalangan ma’qulroq (dasturning Windows 7 ga mo’ljallangan oflayn versiyasini yuklab olish uchun havola bu yerda).
ArduBlockning onlayn yoki ofllayn rejimda qo’llaniladigan (portativ) versiyalaridan foydalanish ham mumkin (portativ versiyasini yuklab olish, u o’z ichiga ko’plab bibliotekalarni ham olganligi sababli faylning hajmi juda katta). Barcha hollarda ham, dasturdan veb brauzer yordamida foydalaniladi.
Biz darslar davomida faqat onlayn versiyasidan foydalanamiz. Uni ushbu havola orqali ochishimiz mumkin.

Rasmda chap tomonda foydalanish mumkin bo’lgan barcha bloklar ro’yxati, o’rtada bloklar ma’lum algoritm asosida joylashtiriladigan asosiy oyna, yuqorida Arduino platasi turi, o’ng tomonda bloklarni joylashtirish natijasida avtomatik ravishda hosil bo’lgan Arduino kodi (“Развернуть Arduino код” tugmasi yordamida ochiladi yoki yashiriladi). Oynaning o’ng yuqori qismidagi “Настройки” tugmasi yordamida, ArduBlokni rus yoki ingliz tiliga o’tkazish mumkin. ArduBlockning yana bir qulaylik jihati, unda ko’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’shib qo’yiladi.
13-pindagi ichki svetodiodni miltillatish dasturini yaratish uchun, chap tomondagi “Основные” va “Входы/Выходы” bo’limlaridan quyidagi bloklarni asosiy oynaga sichqoncha yordamida olib o’tamiz:
Shundan so’ng, ushbu bloklarni yuqoridagi rasmdagi ketma-ketlikda “Настройки/Программа” blokining “Программа” sohasiga joylashtiramiz. Keyin sichqonchaning kursorini “Цифровой выход” va so’ngra “Задержка” bloklari ustiga olib borib, o’ng tugmasi yordamida kontekst menyuni ochamiz va “Дублировать” tugmasi yordamida ularning har biridan nusxa olamiz. Hosil bo’lgan yangi bloklarni ham tegishli ketma-ketlikda joylashtiramiz. “Цифровой выход” blokidagi “Значение” parametri qiymatini, kerakli o’rinlarda “1” yoki “0” kabi o’rnatamiz (yoki raqamning o’rniga “Входы/Выходы” bo’limi oxiridagi blokni qo’yib, uning qiymatini “Высокий” yoki “Низкий” sifatida o’rnatish ham mumkin). “Задержка” blokining qiymati (“1000” o’rniga) va birligini (“миллисекунды” o’rniga) o’zgartirish orqali pauza davomiyligini o’zgartirishimiz mumkin. Zarurat tug’ilsa, Arduino platasi 13-pini o’rniga boshqa pin raqami “Цифровой выход” blokidagi “Pin” parametri qiymati sifatida o’rnatilishi mumkin. Bloklar joylashuvi yuqoridagi tartibga keltirilgach, asosiy oyna yuqori o’ng qismidagi tugmalar yordamida hosil bo’lgan kodni Arduino IDE dasturi oynasiga yangi sketch oynasiga nusxalaymiz.
Ko’rish mumkinki, hosil bo’lgan kod “Blink” sketchi kodidan deyarli farq qilmaydi. Sketchni plataga yuklash odatdagidek “Компилировать” tugmasi yordamida bajariladi.
“Blink” sketchi kodini flprog blokli dasturlash vositasi yordamida hosil qilishni alohida darsda o’rganishingiz mumkin. Boshlovchi-arduinochilar ushbu dasturni o’tkazib yuborishlari mumkin.