{"id":68,"date":"2023-05-15T15:01:25","date_gmt":"2023-05-15T10:01:25","guid":{"rendered":"http:\/\/yarat.uz\/?p=68"},"modified":"2025-09-14T21:04:18","modified_gmt":"2025-09-14T16:04:18","slug":"arduino-ide-da-dasturlash-asoslari","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=68","title":{"rendered":"Arduino IDE ni o&#8217;rnatish. Dasturlashga kirish [14+]"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>Arduino IDE<\/strong><\/p>\n<p style=\"text-align: justify;\">Oldingi darslarda ma&#8217;lumot berilganidek, Arduino yoki uni qo&#8217;llab-quvvatlovchi boshqa platalar (ESP32, ESP8266, LGT8F328P) bilan ishlash, ya&#8217;ni dastur tuzish, uni kompilyatsiyalash, plataga yuklash ishlarini bajarish uchun integrallashgan dasturiy ta&#8217;minot &#8211; Arduino IDE ishlab chiqarilgan. Hozirda ushbu dasturdan nafaqat Arduino standart platalarini dasturlashda, balki uni qo&#8217;llab-quvvatlovchi boshqa turdagi platalarni dasturlashda ham foydalanish mumkin. Buning uchun tegishli platalar oilasi fayliga havola(lar)ni &#8220;\u0424\u0430\u0439\u043b&#8221; menyusining &#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#8221; bo&#8217;limida &#8220;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u043b\u0430\u0442&#8221; matn maydoniga kiritib qo&#8217;yish, shundan keyin kerakli plata nomini &#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221; menyusidan tanlash zarur.<\/p>\n<p style=\"text-align: center;\"><strong>Dasturni o&#8217;rnatish<\/strong><\/p>\n<p style=\"text-align: justify;\">Undan foydalanish uchun kompyuterda kamida <strong>Windows 7<\/strong> o&#8217;rnatilgan bo&#8217;lishi tavsiya etiladi. Arduino platalari bilan bog&#8217;lanish va ma&#8217;lumot almashinish uchun <strong>USB data-kabel<\/strong> bo&#8217;lishi kerak [<strong>Diqqat:<\/strong> Arduino platalari bilan ishlash uchun faqat zaryadlash uchun mo&#8217;ljallangan USB kabel (5V kuchlanishga ega bo&#8217;lgan, 2 ta kontaktli USB ta&#8217;minot kabeli) to&#8217;g&#8217;ri kelmaydi].<\/p>\n<p style=\"text-align: justify;\">Uning oxirgi va oldingi stabil versiyalarini har doim <a href=\"https:\/\/www.arduino.cc\/en\/software\" target=\"_blank\" rel=\"noopener\">rasmiy saytidan yuklab olish<\/a> mumkin. Dasturni bepul yuklab olish uchun yuklash jarayonida ochilgan sahifada &#8220;JUST DOWNLOAD&#8221; tugmasini bosish kerak bo&#8217;ladi (&#8220;Contribute and download&#8221;ni emas!).<\/p>\n<p style=\"text-align: justify;\">Agar kompyuterda dasturning eski versiyasi mavjud bo&#8217;lsa, uni yangisini o&#8217;rnatishdan oldin Windows boshqaruv paneli orqali o&#8217;chirib yuborish zarur (papkadagi fayllarini qo&#8217;lda o&#8217;chirilmasligi kerak, aks holda yangisini o&#8217;rnatishda muammolar yuzaga keladi). Arduino IDE da ketma-ket port (nomi) ko&#8217;rsatilmasa, kerakli chip drayveri o&#8217;rnatilmaganligini anglatishi mumkin. Ularni quyidagi havolalar orqali yuklab olish mumkin: <a href=\"https:\/\/alexgyver.ru\/arduino\/CH340SER.EXE\" target=\"_blank\" rel=\"noopener\"><strong>CH340<\/strong><\/a> (<a href=\"https:\/\/driverslab.ru\/1571-usb-serial-ch340-ch341.html\" target=\"_blank\" rel=\"noopener\">CH341<\/a>), <a href=\"https:\/\/ftdichip.com\/wp-content\/uploads\/2021\/08\/CDM212364_Setup.zip\" target=\"_blank\" rel=\"noopener\"><strong>FT232<\/strong><\/a> hamda\u00a0<a href=\"https:\/\/www.silabs.com\/documents\/public\/software\/CP210x_Windows_Drivers.zip\">CP210x<\/a>. Shundan keyin Windows qurilmalar dispetcherida yangi virtual COM port paydo bo&#8217;ladi (&#8220;\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432&#8221;ga kirib uning nomi bilan tanishish mumkin. Ko&#8217;pincha u COM3 deb nomlanadi). Bundan tashqari, kompyuterga bir vaqtning o&#8217;zida bir nechta Arduino platasi ulangan bo&#8217;lsa, har biri uchun alohida yangi virtual COM portlar ochiladi (bir vaqtda bir nechta platani ishlatish tavsiya etilmaydi, chunki platalarni yoki portlarni chalkashtirib yuborish mumkin, shuning uchun ishlatilmayotgan platani uzib qo&#8217;yish tavsiya etiladi).<\/p>\n<p style=\"text-align: justify;\">Dastur yuklanib\/o&#8217;rnatilib\/ishga tushirilgach ekranda quyidagi oyna paydo bo&#8217;ladi (O&#8217;rnatish davomida drayverlar o&#8217;rnatilishi so&#8217;ralsa, tasdiqlash kerak. Dasturni rus tiliga o&#8217;tkazish uchun &#8220;File&#8221; menyusidan &#8220;Preferences&#8221; bo&#8217;limiga o&#8217;tamiz va kerakli tilni tanlaymiz).<\/p>\n<p style=\"text-align: justify;\">Arduino IDE o&#8217;rnatilganidan keyin, agar Arduinoni qo&#8217;llab-quvvatlovchi boshqa platalardan ham foydalanilishi rejalashtirilgan taqdirda, ularni ham o&#8217;rnatib qo&#8217;yish mumkin.\u00a0Buning uchun, avvalo <strong>&#8220;\u0424\u0430\u0439\u043b&#8221;<\/strong> menyusining <strong>&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#8221;<\/strong> bo&#8217;limida <em>&#8220;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u043b\u0430\u0442&#8221;<\/em> matn maydoniga kerakli platalar oilasi sozlamalariga havolani kiritib qo&#8217;yiladi.<\/p>\n<p style=\"text-align: justify;\">Masalan, ESP8266 oilasi plata va modullari (Wemos D1 mini, ESP-01, ESP-12 va hokazolar) uchun <a href=\"https:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json\">&#8220;https:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json&#8221;<\/a> havolasini kiritib qo&#8217;yish, shundan keyin <strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\/\u041f\u043b\u0430\u0442\u0430\/\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u043b\u0430\u0442&#8221;<\/strong> bo&#8217;limida &#8220;<strong>esp8266 by ESP8266 Community<\/strong>&#8221; elementi va plata drayveri versiyasi tanlanib, uni o&#8217;rnatish (&#8220;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&#8221; tugmasi bosiladi) zarur. O&#8217;rnatish yakunlangandan keyin <strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221;<\/strong> menyusidagi <strong>&#8220;ESP8266 boards&#8221;<\/strong> bo&#8217;limida yangi plata nomlari paydo bo&#8217;ladi (Arduino standart platalari ro&#8217;yxati esa &#8220;<strong>Arduino AVR board<\/strong>&#8221; bo&#8217;limida ko&#8217;rinadi). ESP8266 oilasining notanish plata yoki moduli bilan ishlashga to&#8217;g&#8217;ri kelsa, ko&#8217;pincha &#8220;Generic ESP8266 module&#8221;ni tanlash yetarli bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\">Xuddi shuningdek, Arduino IDE ni ESP32 (LGT8F328P) oilasi plata va modullariga ham moslashtirish uchun, <strong>&#8220;\u0424\u0430\u0439\u043b&#8221;<\/strong> menyusining <strong>&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#8221;<\/strong> bo&#8217;limida <em>&#8220;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u043b\u0430\u0442&#8221;<\/em> matn maydoniga <a href=\"https:\/\/raw.githubusercontent.com\/espressif\/arduino-esp32\/gh-pages\/package_esp32_index.json\">&#8220;https:\/\/raw.githubusercontent.com\/espressif\/arduino-esp32\/gh-pages\/package_esp32_index.json&#8221;<\/a> (https:\/\/raw.githubusercontent.com\/dbuezas\/lgt8fx\/master\/package_lgt8fx_index.json) havolasi kiritilib, <strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\/\u041f\u043b\u0430\u0442\u0430\/\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u043b\u0430\u0442&#8221;<\/strong> bo&#8217;limida &#8220;<strong>ESP32<\/strong>&#8221; (<strong>&#8220;LGT8fx boards&#8221;<\/strong>) elementi va plata drayveri oxirgi versiyasi tanlanib, o&#8217;rnatiladi. O&#8217;rnatish yakunlangandan keyin <strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221;<\/strong> menyusidagi <strong>&#8220;ESP32 Arduino&#8221;<\/strong> (<strong>&#8220;LGT8Fx boards&#8221;<\/strong>) bo&#8217;limida yangi plata nomlari paydo bo&#8217;ladi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.uzum.uz\/d2u75qb4eu2hs07rur2g\/original.jpg\" width=\"1055\" height=\"829\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><strong>Arduino IDE dasturi oynasi<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3923 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/arduino_ide.jpg\" alt=\"\" width=\"1054\" height=\"646\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/arduino_ide.jpg 1054w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/arduino_ide-300x184.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/arduino_ide-1024x628.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/arduino_ide-768x471.jpg 768w\" sizes=\"auto, (max-width: 1054px) 100vw, 1054px\" \/><\/p>\n<p style=\"text-align: justify;\">Ko&#8217;p ishlatiladigan tugmalar oynaning yuqori qismidagi uskunlar panelida joylashgan.<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c\/<\/strong><strong>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#8221;\u00a0<\/strong> (kompilyatsiya) &#8211; sketchni kompilyatsiya qilish (xatolarga tekshirish maqsadida ishlatiladi);<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430&#8221;<\/strong> &#8211; sketchni kompilyatsiya qilib, plataga yuklash (proshivka qilish);<\/p>\n<p style=\"text-align: justify;\">Sketchni yuklashdan oldin kerakli plata va u ulangan COM port aniq tanlangan bo&#8217;lishi kerak. Aks holda sketchni yuklab bo&#8217;lmaydi. Platani tanlash uchun Arduino platasi USB portga ulanganidan so&#8217;ng, &#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221; menyusidan &#8220;\u041f\u043b\u0430\u0442\u0430&#8221; bo&#8217;limiga o&#8217;tib, u yerdan ulangan plata nomi tanlanadi. &#8220;\u041f\u043e\u0440\u0442\u044b&#8221; bo&#8217;limidan esa, o&#8217;rnatilgan COM port nomi tanlanadi (COM3, COM4 yoki boshqa).<\/p>\n<p style=\"text-align: justify;\">Arduino IDE asosiy oynasining pastki qismida, status oynasi ko&#8217;rsatib turiladi. Unda sketchni kompilyatsiyalash va plataga yuklash jarayonlari, yuz bergan xatoliklar haqidagi ma&#8217;lumotlar ko&#8217;rsatib boriladi. Oynaning ostki qismi o&#8217;ng tomobida tanlangan plata va port ko&#8217;rsatib turiladi. Arduino IDE ning turli versiyalari mavjud bo&#8217;lib, ularning oynasi va menyulari elementlari joylashuvi ham bir-biridan keskin farq qilishi mumkin.<\/p>\n<p style=\"text-align: justify;\">Arduinoning standart usulda o&#8217;rnatiladigan, portativ va veb versiyalari (variantlari) mavjud bo&#8217;lib, ularning har biri o&#8217;ziga xos ustunlik va kamchiliklarga ega. Ko&#8217;proq bitta kompyutyerda dasturlash rejalashtirilgan taqdirda, uning standart versiyasini, har xil kompyuterlarda ishlashga tez-tez to&#8217;g&#8217;ri kelganda veb versiyasini, tez-tez vaqtinchalik disk yoki flesh disklardan ishga tushirish zarur bo&#8217;ladigan hollarda portativ versiyasidan foydalanish tavsiya etiladi.<\/p>\n<p style=\"text-align: center;\"><strong>Dastur menyulari<br \/>\n<\/strong><\/p>\n<p style=\"text-align: justify;\">Dasturning eng muhim vazifalarini uning yuqoridagi rasmdagi oynasi elementlari orqali bajarish. Shuningdek ushbu vazifalar va bir qator qo&#8217;shimcha buyruqlar hamda sozlamalarni uning menyulari yordamida bajarish mumkin:<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u0424\u0430\u0439\u043b&#8221; menyusi<\/strong> buyruqlari yordamida yangi sketch uchun oyna ochish (&#8220;\u041d\u043e\u0432\u044b\u0439&#8221;), diskdagi sketch faylini ochish (&#8220;\u041e\u0442\u043a\u0440\u044b\u0442\u044c&#8230;&#8221;), oxirgi ochilgan sketchlar ro&#8217;yxati (&#8220;\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0435&#8221;), sketchlar papkasi (&#8220;\u041f\u0430\u043f\u043a\u0430 \u0441\u043e \u0441\u043a\u0435\u0442\u0447\u0430\u043c\u0438&#8221;), Arduino namunaviy sketchlarini ochish (&#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b&#8221;), dasturnining joriy oynasini yopish (&#8220;\u0417\u0430\u043a\u0440\u044b\u0442\u044c&#8221;), sketchni saqlash (&#8220;\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c&#8221;) yoki yangi nom bilan saqlash (&#8220;\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a&#8230;&#8221;), sketch sahifasi sozlamalarini o&#8217;zgartirish (&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b&#8221;) va qog&#8217;ozga chiqarish (&#8220;\u041f\u0435\u0447\u0430\u0442\u044c&#8221;), dastur asosiy sozlamalarini o&#8217;rnatish (&#8220;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#8221;), dastur barcha oynalarini yopib, undan chiqib ketish (&#8220;\u0412\u044b\u0445\u043e\u0434&#8221;)\u00a0 vazifalarini bajarish mumkin.<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u041f\u0440\u0430\u0432\u043a\u0430&#8221; menyusi<\/strong>dan asosan sketchni tahrirlash bo&#8217;yicha standart buyruqlar o&#8217;rin olgan.<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u0421\u043a\u0435\u0442\u0447&#8221; menyusi<\/strong> buyruqlari yordamida sketchni kompilyatsiya qilish (&#8220;\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c\/\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#8221;), sketchni kompilyatsiya qilish va standart programmator yordamida (&#8220;\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430&#8221;) yoki tashqi programmator yordamida plataga yuklash, sketchni &#8220;bin&#8221; formatli proshivka fayliga saqlash (&#8220;\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430&#8221;), sketch papkasini ochish (&#8220;\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \u0441\u043a\u0435\u0442\u0447\u0430&#8221;), bibliotekani sketchga ulash, yangi bibliotekani o&#8217;rnatish yoki o&#8217;rnatilgan bibliotekalarni boshqarish (&#8220;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443&#8221; bo&#8217;limi), sketch oynasiga qo&#8217;shimcha sketch faylini ochish (&#8220;\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b&#8230;&#8221;) vazifalarini bajarish mumkin.<\/p>\n<p style=\"text-align: justify;\"><strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221; menyusi<\/strong> buyruqlari yordamida sketchni avtomatik tartibga solish (&#8220;\u0410\u0432\u0442\u043e\u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&#8221;), sketch fayllarini papkasi bilan &#8220;zip&#8221; formatli arxiv faylga saqlash (&#8220;\u0410\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#8221;), kodirovkani to&#8217;g&#8217;rilash (&#8220;\u0418\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c&#8221;), o&#8217;rnatilgan bibliotekalarni boshqarish &#8211; o&#8217;rnatish, yangilash, o&#8217;chirish (&#8220;\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438&#8221;), COM (ketma-ket) port monitorini ochish (\u041c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430), COM portdagi qiymatlar asosida grafik ko&#8217;rsatuvchi plotterni ochish (&#8220;\u041f\u043b\u043e\u0442\u0442\u0435\u0440 \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e&#8221;), &#8220;WiFi101&#8221; yoki &#8220;WiFiNiNa&#8221; platalari proshivkasini yangilash, agar mavjud bo&#8217;lsa (&#8220;WiFi101\/WiFiNiNa firmware updater&#8221;), sketchni yuklanadigan platani (&#8220;\u041f\u043b\u0430\u0442\u0430: &#8220;) hamda plata ulangan COM portni (&#8220;\u041f\u043e\u0440\u0442: &#8220;) tanlash, plata haqidagi qo&#8217;shimcha ma&#8217;lumotni ko&#8217;rish (&#8220;\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043b\u0430\u0442\u0435&#8221;), zarurat bo&#8217;lsa sketchni mikrokontrollerga yuklashda qo&#8217;llaniladigan programmatorni tanlash (&#8220;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440: &#8220;), bo&#8217;sh mikrokontrollerga yuklagichni yozish (&#8220;\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a&#8221;) vazifalarini bajarish mumkin.<\/p>\n<hr \/>\n<p style=\"text-align: center;\"><strong>Sketch strukturasi<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduino IDE dasturi tomonidan <strong>wiring<\/strong> dasturlash tilida yaratiladigan va tahrirlanadigan fayl turi <strong>sketch<\/strong> (eskiz) deb ataladi. Sketch fayli <strong>ino<\/strong> formatida saqlanadi. Har safar yangi sketch yaratilganda Arduino IDE dasturining yangi nusxasi ishga tushadi va sketchlar papkasida yaratilgan yangi sketch uchun uni o&#8217;z ichiga olgan alohida yangi papka ham hosil qilinadi. Sketch fayli har doim uni o&#8217;z ichiga olgan papka nomi bilan bir xil bo&#8217;lishi kerak.<\/p>\n<p style=\"text-align: justify;\">Arduinoda sketchni kompilyatsiya qilingandan so&#8217;ng uni plataga yuklash jarayonini <strong>proshivkalash<\/strong>, kompilyatsiyalangan fayl turini <strong>proshivka <\/strong>deb ataladi. Tayyor proshivka zarurat bo&#8217;lsa, sketch papkasida <strong>bin<\/strong> formatidagi fayl ko&#8217;rinishida saqlab qo&#8217;yilichi mumkin. Buning uchun &#8220;<strong>\u0421\u043a\u0435\u0442\u0447<\/strong>&#8221; menyusining &#8220;<strong>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/strong>&#8221; elementi yordamida bajariladi. Arduinoda dasturlashni o&#8217;rganish jarayonida proshivka faylini tez-tez saqlab qo&#8217;yishga ehtiyoj tug&#8217;ilmaydi. Lekin bunday fayldan ko&#8217;p sondagi tayyor quruilmalarning mikrokontrollerlarini proshivka qilishda uchun foydalanish mumkin. Yoki tayyor proshivkani bemalol boshqa shaxsga foydalanishga berishda ham mumkin. Chunki, proshivka faylidagi sketch matnini ko&#8217;rish yoki tahrirlashning imkoni yo&#8217;q. Arduinoda keng qo&#8217;llaniladigan yana bir fayl turi\u00a0<strong>bililoteka <\/strong>hisoblanadi. Biblioteka fayllari &#8220;<strong>.h<\/strong>&#8221; kengaytmasiga ega bo&#8217;ladi; Ichki (standart) bibliotekalarni va tashqi bibliotekalarni menyudan ham ulash mumkin (<strong>ichki bibliotekani ulash<\/strong> &#8211; &#8220;\u0421\u043a\u0435\u0442\u0447\/\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\/&#8217;biblioteka nomi'&#8221;, <strong>tashqi bibliotekani ulash<\/strong> &#8211; &#8220;\u0421\u043a\u0435\u0442\u0447\/\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\/\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c .ZIP \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443&#8230;&#8221;, <strong>bibliotekalarni boshqarish<\/strong> &#8211; &#8220;\u0421\u043a\u0435\u0442\u0447\/\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\/\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438&#8230;&#8221;).<\/p>\n<p style=\"text-align: justify;\">Arduino IDE har safar ishga tushirilganda asosiy oynada oxirgi ishlatilgan sketch fayl(lar)i ochiladi. Birinchi marta ishga tushirilganda esa, yangi sketch fayli hosil bo&#8217;ladi. Yangi sketch kamida 2 ta majburiy funksiyadan iborat bo&#8217;ladi, ular <strong>setup()<\/strong> va <strong>loop()<\/strong> funksiyalari. Funksiyalarni e&#8217;lon qilishda ular boshqa koddan uning boshi va oxirida mos ravishda <strong>{<\/strong> va <strong>}<\/strong> belgilari bilan ajratib qo&#8217;yiladi (funksiyalar haqida batafsil <a href=\"https:\/\/yarat.uz\/?p=1122\">bu yerda<\/a> tanishish mumkin).<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-990 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/ds1307_exm.jpg\" alt=\"\" width=\"633\" height=\"618\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/ds1307_exm.jpg 633w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/ds1307_exm-300x293.jpg 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/p>\n<p style=\"text-align: left;\">Har qanday sketch quyidagi strukturaga ega bo&#8217;ladi:<\/p>\n<p style=\"text-align: justify;\"><strong>Skechga izohlar sohasi<\/strong> &#8211; bu yerda mazkur sketchning vazifasi, muallifi, havolalar va boshqa ma&#8217;lumotlar izohlash belgilari yordamida (&#8220;\/*&#8221; belgilari oralig&#8217;ida &#8220;*\/&#8221; yoki &#8220;\/\/&#8221; belgilaridan keyin) keltiriladi;<\/p>\n<p style=\"text-align: justify;\"><strong>Global konstantalar <\/strong><strong>sohasi<\/strong> &#8211; Xizmatchi konstantalarni belgilash yoki o&#8217;zlashtirish sohasi (#define &#8230;);<\/p>\n<p style=\"text-align: justify;\"><strong>Bibliotekalarni qo&#8217;shib olish sohasi<\/strong> &#8211; Arduino IDE standart bibliotekalari, tashqi bibliotekalar yoki boshqa sketch fayllarini nomini ko&#8217;rsatish orqali ularni mazkur sketchga ulash (qo&#8217;shib olish) sohasi. &#8220;#Include&#8221; buyrug&#8217;i bilan ulanadi. Ulanadigan biblioteka nomi &#8220;&#8221; yoki &lt;&gt; ichida ko&#8217;rsatiladi;<\/p>\n<p style=\"text-align: justify;\"><strong>Global o&#8217;zgaruvchilar sohasi<\/strong> &#8211; o&#8217;zgaruvchilar, ularning turi va boshlang&#8217;ich qiymatini e&#8217;lon qilish qismi;<\/p>\n<p style=\"text-align: justify;\"><strong>void setup() {&#8230;}<\/strong> &#8211; sketch mikrokontrollerga yuklanganda birinchi bo&#8217;lib va faqat bir marta ishga tushadigan, odatda yaratilayotgan qurilmaning sozlamalarini o&#8217;rnatishga mo&#8217;ljallangan, majburiy funksiya. Ushbu funksiya Arduinoning har qanday sketchida, hatto unda hech qanday buyruq bajarilishi shart bo&#8217;lmagan taqdirda ham, ushbu funksiya e&#8217;lon qilinishi shart;<\/p>\n<p style=\"text-align: justify;\"><strong>void loop() {&#8230;}<\/strong> &#8211; setup() funksiyasidan keyin ishga tushadigan va doimiy ishlab turadigan (takrorlanadigan) buyruqlarni o&#8217;z ichiga olishi kerak bo&#8217;lgan, majburiy funksiya.\u00a0Ushbu funksiya ham Arduinoning har qanday sketchida, hatto unda hech qanday buyruq bajarilishi shart bo&#8217;lmagan taqdirda ham, ushbu funksiya e&#8217;lon qilinishi shart;<\/p>\n<p style=\"text-align: justify;\"><strong>void &lt;funksiya_nomi()&gt; {&#8230;}<\/strong> &#8211; foydalanuvchi funksiyalari [ular foydalanuvchi tomonidan yaratiladigan va global o&#8217;zgaruvchilar e&#8217;lon qilinganidan keyingi xohlagan sohada joyda e&#8217;lon qilinishi va setup(), loop() yoki boshqa har qanday funksiyalardan chaqirilishi mumkin].<\/p>\n<p style=\"text-align: justify;\"><strong>Kod<\/strong> &#8211; setup(), loop() yoki foydalanuvchi funksiyalari sohasida ma&#8217;lum bir algoritm asosida kiritiladigan Arduino (C++) buyruqlari, operatorlari va funksiyalari ketma-ketligi. Har bir buyruq, operator va funksiya oxirida <strong>&#8220;;&#8221;<\/strong> belgisi bilan yakunlanadi.<\/p>\n<div style=\"text-align: center;\"><strong>Sketchni kompilyatsiya qilish va plataga yuklash<\/strong><\/div>\n<div>\n<div><\/div>\n<div style=\"text-align: justify;\"><strong>&#8220;\u0424\u0430\u0439\u043b&#8221;<\/strong> menyusining &#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b&#8221; bo&#8217;limida turli murakkablikdagi, interfeyslar, sensorlar, displeylar va boshqa modullar bilan ishlash bo&#8217;yicha namunalarni o&#8217;z ichiga olgan namunaviy sketchlar ro&#8217;yxati kategoriyalari bo&#8217;yicha keltirilgan (Plata turi o&#8217;zgartirilganida mazkur namunaviy sketchlar ro&#8217;yxati o&#8217;zgarishi mumkin. Chunki bir plata uchun mo&#8217;ljallangan ayrim sketchlarni boshqa tanlangan plataga yuklab bo&#8217;lmasligi yoki sketch noto&#8217;g&#8217;ri ishlashi mumkin).<\/div>\n<div style=\"text-align: justify;\">\n<div>Shuningdek, dastlab &#8220;\u0421\u043a\u0435\u0442\u0447&#8221; menyusining &#8220;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443&#8221; bo&#8217;limida Arduino IDE ichki (standart) bibliotekalari ro&#8217;yxati keltirilgan bo&#8217;ladi. Bundan tashqari ushbu bo&#8217;limdagi &#8220;\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c .ZIP \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443&#8230;&#8221; buyrug&#8217;i yordamida bibliotekalar ro&#8217;yxatiga yangi tashqi bibliotekalarni ham qo&#8217;shish imkoniyati mavjud.<\/div>\n<div>Agar sketchning ishlashi boshqa bir sketchga ham bog&#8217;liq bo&#8217;lsa, bunday yordamchi sketchni asosiy sketchga biblioteka sifatida biriktirib olish mumkin. Buning uchun &#8220;\u0421\u043a\u0435\u0442\u0447&#8221; menyusining &#8220;\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b&#8230;&#8221; buyrug&#8217;i yordamida kerakli fayl tanlanadi. Shundan keyin Arduino IDE oynasida asosiy sketch nomidan o&#8217;ng tomonda qo&#8217;shimcha sketchning nomi ham ko&#8217;rsatib turiladi (qo&#8217;shimcha sketch biriktirilmasa, asosiy sketch ham ishlamaydi).<\/div>\n<\/div>\n<\/div>\n<div>\n<p style=\"text-align: justify;\">Quyida misol tariqasida, Arduino IDE tayyor sketchlaridan biri bo&#8217;lgan &#8220;Blink&#8221; sketchini ishga tushirish jarayonida uni tahrirlash, kompilyatsiya qilish va Arduino Nano platasiga yulkab ishga tushirish jarayonlari bilan tanishamiz.<\/p>\n<p style=\"text-align: justify;\">Aynan &#8220;Blink&#8221; sketchining tanlanishiga sabab, avvalo u Arduino platasiga hech qanday elektron komponentni ulamasdan ishga tushirish mumkin bo&#8217;lgan va eng sodda namunalardan biri hisoblanadi. Shu bilan birga uning yordamida Arduino platasining ishga yaroqliligini, to&#8217;g&#8217;ri ulanganligini tekshirish uchun ham keng foydalaniladi. Bundan tashqari, uni takomillashtirish orqali ko&#8217;plab foydali va qiziqarli loyihalarni yaratishimiz mumkin. Bunday amaliy loyihalarning ayrimlari saytimiz sahifalarida ham keltirilgan.<\/p>\n<p style=\"text-align: justify;\">&#8220;\u0424\u0430\u0439\u043b&#8221; menyusi &#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b\/01.Basics&#8221; bo&#8217;limidan &#8220;Blink&#8221; sketchini tanlaymiz. Oynada sketchning quyidagi kodi ochiladi (Uni plataga yuklashdan oldin Arduino platasini kompyuter USB portiga ulaymiz va menyudan kerakli plata hamda portni ham tanlaymiz):<\/p>\n<\/div>\n<div style=\"text-align: left;\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-313 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/example-blink.png\" alt=\"\" width=\"923\" height=\"672\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/example-blink.png 923w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/example-blink-300x218.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/example-blink-768x559.png 768w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/p>\n<p style=\"text-align: justify;\">&#8220;\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c&#8221; tugmasini bosamiz va kutamiz. Oynaning quyi qismidagi status sohasida yuklash jarayonining borish haqida eslatma ko&#8217;rsatib turiladi. Jumladan, sketch muvaffaqiyatli yuklangach, qisqa muddatli &#8220;\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430&#8221; yozuvi ko&#8217;rinadi.<\/p>\n<p style=\"text-align: justify;\">Hammasi to&#8217;g&#8217;ri bajarilgan bo&#8217;lsa, platadagi svetodiodning 1 gerts (sekundiga 1 marta) chastota bilan o&#8217;chib-yonayotganini kuzatishimiz mumkin.<\/p>\n<p style=\"text-align: center;\"><strong>Arduino bilan ishlashda tez-tez uchraydigan xatoliklar<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduino IDE dasturida ko&#8217;pincha sketchni kompilyatsiya qilish (xatolarni tekshirish) va plataga yuklash jarayonida ayrim xatoliklar yuzaga kelishi mumkin. Quyida eng eng ko&#8217;p uchraydigan ayrim xatoliklarga misollar keltiramiz.<\/p>\n<p style=\"text-align: justify;\"><strong>Sketchni plataga yuklab bo&#8217;lmasligi:<br \/>\n<\/strong>&#8211; Juda ko&#8217;p hollarda plata yoki undagi <strong>mikrokontrollerning turini<\/strong> (UNO, ESP8266, ESP32, LGT8F328P va hokazo) yoki plata ulangan <strong>COM portni noto&#8217;g&#8217;ri tanlanishi bilan bog&#8217;liq<\/strong> bo&#8217;ladi. Agar plata va port to&#8217;g&#8217;ri tanlangan bo&#8217;lsa, Windows da <strong>&#8220;\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432&#8221;<\/strong> ga kirib, tegishli COM portni uzib\/ulash hamda dasturga qaytib plata va portni qayta tanlash bilan ham muammo bartaraf etilishi mumkin;<br \/>\n&#8211; Agar bir vaqtda kompyuter USB portlariga <strong>1 tadan ortiq plata ulangan bo&#8217;lsa<\/strong>, ba&#8217;zida ularning nomi yoki ular ulangan port noto&#8217;g&#8217;ri ko&#8217;rsatilgani ham xatolikka olib keladi;<br \/>\n&#8211; Agar sketchni plataga yuklash jarayoni boshlanganidan keyin <strong>port monitori yoki plotteri faollashtirilsa (ochilsa)<\/strong>, port band bo&#8217;lib qolishi oqibatida xatolik yuz berishi mumkin;<br \/>\n&#8211; Ba&#8217;zida COM port bilan bog&#8217;liq kamchiliklarni bartaraf etishda <strong>Windows ni qayta yuklash<\/strong> yoki <strong>platani USB portidan uzib, qayta ulash<\/strong> ham foyda beradi;<br \/>\n&#8211; <strong>sketch boshida kerakli bibliotekani ulab olmaslik <\/strong>natijasida sketchni kompilyatsiya qilib bo&#8217;lmaydi;<br \/>\n&#8211; <strong>Tanlangan arxitekturali plataga mos kelmaydigan biblioteka qo&#8217;llanilishi<\/strong> ham xatolikka olib keladi &#8211; dastur uni umuman plataga yuklay olmaydi. Masalan, UNO ga mos keladigan biblioteka ESP8266 platalariga mos kelmasligi mumkin yoki aksincha;<br \/>\n&#8211; <strong>Arduino Nano va AVR arxitekturali ayrim platalarga sketchni yuklab bo&#8217;lmasligi<\/strong> (lekin boshqa platalar ulanganda xatolik yuzaga kelmasa) <strong>&#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221;<\/strong> menyusining <strong>&#8220;Protsessor&#8221;<\/strong> bo&#8217;limidan <strong>&#8220;ATmega328P (Old bootloader)&#8221;<\/strong> elementini tanlash zarur bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\"><strong>Arduino mikrokontrollerlar oilasiga kirmaydigan boshqa mikrokontrollerlar asosidagi platalarga (masalan, ESP8266, ESP32, LGT8F328P mikrokontrollerlar oilasi platalari va modullariga) sketchni yuklab bo&#8217;lmasligi:<\/strong><br \/>\n&#8211; Arduino IDE dasturida tegishli platalar oilasining <strong>dasturiy vositalari (boshqacha aytganda, drayverlarini) o&#8217;rnatilmaganli<\/strong> yoki ular Arduino IDE dasturi <strong>sozlamalariga kiritib qo&#8217;yilmaganligi<\/strong> yuklash xatoligiga olib keladi;<br \/>\n&#8211; Sketchga <strong>&#8220;#include&#8221;<\/strong> operatori yordamida ulanadigan <strong>bibliotekalar <\/strong>yoki<strong> yordamchi fayllar o&#8217;chib ketgan<\/strong> taqdirda ham, xatolik yuz beradi. Bibliotekalar nomlari Arduino IDE dasturi bibliotekalari ro&#8217;yxatida yoki sketch saqlangan papkada mavjud bo&#8217;lishi kerak. Yordamchi fayl nomi esa, Arduino IDE dasturi oynasida asosiy sketch nomidan keyingi alohida bo&#8217;linmada ko&#8217;rsatib qo&#8217;yilishi kerak (bunday fayllar kamdan-kam hollarda ishlatiladi).<\/p>\n<p style=\"text-align: justify;\">Yuqoridagilardan tashqari, plataning ishlashi uchun <strong>USB port elektr ta&#8217;minoti (&lt;+5V, &lt;1A) yetarli bo&#8217;lmaganligi<\/strong> ham sketch plataga yuklanmasligi yoki ishga tushmasligiga sabab bo&#8217;lishi mumkin. Bunday holda plata alohida ta&#8217;minot manbaiga (akkumulyator, ta&#8217;minot bloki va hokazolarga) ulanishi zarur.<\/p>\n<p style=\"text-align: justify;\">Sketch plataga yuklanganidan keyin, <strong>dastur ishida yuzaga keladigan xatoliklar<\/strong>, odatda plataning imkoniyatlari to&#8217;liq hisobga olinmaganligi bilan bog&#8217;liq bo&#8217;lishi mumkin. Masalan, turli mikrokontrollerlarda ularning flesh xotirasi yoki tezkor xotirasi hajmi turlicha bo&#8217;lishi mumkin va agar sketchda xotiraning maksimal qiymati oldindan hisobga olinmagan bo&#8217;lsa, xotira yetishmasligi sababli dastur kutilganidek ishlamaydi. Bunday xatoliklar haqida dastur (kompilyator) xabar bermasligi mumkin.<\/p>\n<p style=\"text-align: center;\"><strong>Port monitori va plotteridan foydalanish<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduino IDE dasturida port monitoridan dasturni sinash va ishlashidagi oraliq natijalarni kuzatish (<strong><em>Serial.print(), Serial.write()<\/em><\/strong> funksiyalari yordamida), shu bilan birga undagi o&#8217;zgaruvchiga vaqtinchalik qiymatlar kiritish maqsadida (<strong><em>Serial.read()<\/em><\/strong> funksiyasi yordamida) ham foydalanilishi mumkin).<\/p>\n<p>Natijani port monitori orqali kuzatish uchun misol:<br \/>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Sketch namunasi<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>void setup() {<br \/>\nSerial.begin(9600);<br \/>\n}<br \/>\nvoid loop() {<\/p>\n<p>int son1 = 4; int son2 = 5; int son3 = 10; int javob = son1 * son2 &#8211; son3;<br \/>\nSerial.println(javob);<\/p>\n<p>if (Serial.available()) {<\/p>\n<p>int qiymat = Serial.read();<\/p>\n<p>int natija = qiymat * 5;<\/p>\n<p>Serial.println(natija);<\/p>\n<p>}<\/p>\n<p>delay(1000);<\/p>\n<div style=\"text-align: left;\">}<\/div>\n<\/div><\/div>\n<div style=\"text-align: justify;\">Sketchni yuklashdan oldin port monitorini tekshirib, hech qanday ma&#8217;lumot chiqmayotganiga ishonch hosil qilamiz. Buning uchun oyna o&#8217;ng tomonidagi &#8220;\u041c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430&#8221; tugmasini bosamiz (yoki &#8220;\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b&#8221; menyusidan &#8220;\u041c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430&#8221; elementini tanlaymiz).<\/div>\n<div style=\"text-align: justify;\">Shundan keyin sketchni plataga yuklaymiz (&#8220;\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0443&#8221;). Monitor portida quyidagi natijani olamiz:<\/div>\n<div>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1004 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/port_monitori.jpg\" alt=\"\" width=\"897\" height=\"381\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/port_monitori.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/port_monitori-300x127.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/port_monitori-768x326.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Arduino IDE da oraliq natijani kompyuter monitoriga to&#8217;g&#8217;ridan-to&#8217;g&#8217;ri chiqarish imkoniyati yo&#8217;qligi sababli, biz ushbu vazifani port monitoriga yuklashimiz mumkin.<\/div>\n<\/div>\n<div style=\"text-align: justify;\"><strong>Port plotteri<\/strong>ni ishga tushirish uchun &#8220;<strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/strong>&#8221; menyusidan &#8220;<strong>\u041f\u043b\u043e\u0442\u0442\u0435\u0440 \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e<\/strong>&#8221; buyrug&#8217;ini tanlaymiz. Plotterning port monitoridan farqi shundaki, unda port monitorida ko&#8217;rsatilayotgan raqamli ma&#8217;lumotlar chiziqli grafik ko&#8217;rinishida ko&#8217;rsatiladi. Masalan, plotter yordamida mikrokontrollerning biron kirish interfeysidagi kiruvchi elektr signalining qiymatini grafik ko&#8217;rinishida kuzatishimiz mumkin.<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-319 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/plotter.png\" alt=\"\" width=\"1280\" height=\"192\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/plotter.png 1280w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/plotter-300x45.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/plotter-1024x154.png 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2023\/05\/plotter-768x115.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Arduino IDE Oldingi darslarda ma&#8217;lumot berilganidek, Arduino yoki uni qo&#8217;llab-quvvatlovchi boshqa platalar (ESP32, ESP8266, LGT8F328P) bilan ishlash, ya&#8217;ni dastur tuzish, uni kompilyatsiyalash, plataga yuklash ishlarini bajarish uchun integrallashgan dasturiy ta&#8217;minot &#8211; Arduino IDE ishlab chiqarilgan. Hozirda ushbu dasturdan nafaqat Arduino standart platalarini dasturlashda, balki uni qo&#8217;llab-quvvatlovchi boshqa turdagi platalarni dasturlashda ham foydalanish mumkin. Buning uchun [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-68","post","type-post","status-publish","format-standard","hentry","category-arduino"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/68","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=68"}],"version-history":[{"count":56,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":5251,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/68\/revisions\/5251"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}