{"id":1875,"date":"2024-02-27T15:17:48","date_gmt":"2024-02-27T10:17:48","guid":{"rendered":"https:\/\/yarat.uz\/?p=1875"},"modified":"2025-03-19T15:27:04","modified_gmt":"2025-03-19T10:27:04","slug":"analog-signalni-qayta-ishlash","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=1875","title":{"rendered":"Analog datchiklar bilan ishlash [14+]"},"content":{"rendered":"<p style=\"text-align: justify;\">Analogni signalni raqamlashtirish deganda uni maxsus modul yoki mikrokontroller yordamida analog holatidan raqamli holatga o&#8217;tkazish jarayoni tushuniladi. Mikrokontrollerda bunday vazifani maxsus ichki konverter (ADC) bajaradi va bunday imkoniyatga ega bo&#8217;lgan pinlar <strong>analog pinlar<\/strong> deb yuritiladi. Bundan tashqari ba&#8217;zi analog modullarning o&#8217;zi ham analog signalni raqamli formatga o&#8217;tkazish imkoniyatiga (mustaqil ADC ga) ega bo&#8217;ladi. Odatda bunday modullarda ham analog ham raqamli signal chiqish kontaktlari mavjud bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\">Arduinoda analog signalni raqamlashtirish uchun <strong>analogRead()<\/strong> funksiyasi qo&#8217;llaniladi. Uning qo&#8217;llanilishi formati quyidagicha:<\/p>\n<p><strong>analogRead(&lt;argument&gt;);<\/strong><\/p>\n<p style=\"text-align: justify;\">Bu yerda funksiyaning argumenti sifatida analog pin nomi yoki uning tartib raqami ko&#8217;rsatiladi. Funksiyaning o&#8217;zi esa, mikrokontroller turiga qarab, asosan 0&#8230;1023 oralig&#8217;ida qiymat qabul qiladi. Masalan:<\/p>\n<p><strong>int pinHolati = analogRead(A0);<\/strong><br \/>\n\/\/ A0 analog pini holati <em>int<\/em> qiymat turidagi <em>pinHolati<\/em> o&#8217;zgaruvchisiga o&#8217;zlashtirilmoqda.<\/p>\n<p style=\"text-align: justify;\">&#8220;analogRead()&#8221; funksiyasining qo&#8217;llanilishini Arduinoning &#8220;AnalogReadSerial&#8221; namunaviy sketchi yordamida ko&#8217;rib chiqamiz (Menyuning &#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b\/01. Basics&#8221; bo&#8217;limi).Sketchning vazifasi A0 analog portiga ulangan analog datchikning qiymatini o&#8217;lchash, uni o&#8217;zgaruvchiga o&#8217;zlashtirish va ketma-ket portga yuborish hisoblanadi. Natijani port orqali kuzatish mumkin. Analog datchik sifatida o&#8217;zgaruvchan rezistor, fotodatchik, termodatchik va hokazolar bo&#8217;lishi mumkin. Analog datchiklar turli xil shakldagi signallarni elektr signaliga aylantirishiga qaramay, yuqorida keltirilganidek, barcha analog datchiklarning signallari mikrokontroller ADC konverteri yordamida odatda 0&#8230;1023 oralig&#8217;idagi qiymatlarga aylantiriladi.<\/p>\n<p style=\"text-align: justify;\">Sketchning original izohlari o&#8217;rniga o&#8217;zbek tilidagi izohlar keltiriladi.<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>'AnalogReadSerial' sketchi<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nvoid setup() {<br \/>\nSerial.begin(9600); \/\/ Serial obyektini (ketma-ket portni) faollashtiramiz<br \/>\n}<\/p>\n<p>void loop() {<br \/>\nint sensorValue = analogRead(A0); \/\/ A0 analog pinini o&#8217;qiymiz va natijani &#8220;sensorValue&#8221; o&#8217;zgaruvchisiga o&#8217;zlashtiramiz<br \/>\nSerial.println(sensorValue); \/\/ O&#8217;zgaruvchi qiymatini port monitoriga chiqaramiz<br \/>\ndelay(1); \/\/ stabillik uchun qisqa pauza o&#8217;rnatamiz<br \/>\n}<\/div><\/div>\n<p style=\"text-align: justify;\"><strong>1-variant.<\/strong> Dastlab, o&#8217;zgarmas qarshilikka ega bo&#8217;lgan rezistorlarni qulaylik uchun plataga quyidagi sxemaga (kuchlanishni bo&#8217;lgich sxemasiga) asosan ulaymiz. Shu yo&#8217;l bilan rezistorlarning qiymatiga qarab, A0 piniga kiruvchi kuchlanish cheklanadi va unga mos raqamlashgan qiymat hosil qilinadi. Turli qarshilikka ega bo&#8217;lgan rezistorlar uchun turli raqamlashgan qiymatlar to&#8217;g&#8217;ri keladi va ular 0 dan 1023 gacha oraliqda bo&#8217;ladi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3974 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistor_bb.jpg\" alt=\"\" width=\"426\" height=\"600\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistor_bb.jpg 426w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistor_bb-213x300.jpg 213w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\" \/><\/p>\n<p><em>Natija:<\/em><\/p>\n<p style=\"text-align: center;\"><em><strong>(Material to&#8217;ldirish jarayonida)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Yuqoridagi sxema hech qanday amaliy loyihalarda qo&#8217;llanilmasligi mumkin. Lekin, qarshiligi turlicha bo&#8217;lgan bir nechta rezistorlarni qo&#8217;llab va ularga bir nechta tugmalarni ketma-ket ulab, amaliy hamiyatga ega bo&#8217;lgan ko&#8217;plab loyihalarni yaratish mumkin. Ya&#8217;ni, bunda har xil tugma bosilishi natijasida, analog pinda ham shunga mos turli darajadagi signallar hosil bo&#8217;lishiga e&#8217;tibor beriladi. Bundan tashqari, ayrim tugmalarni baravar bosib ham, natijaviy qarshilik qiymatini pasaytirib, yana boshqa raqamlashgan ko&#8217;rsatkichlarni olish mumkin.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3975 aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistors_buttons_bb.jpg\" alt=\"\" width=\"523\" height=\"600\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistors_buttons_bb.jpg 523w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/uno_rezistors_buttons_bb-262x300.jpg 262w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>2-variant.<\/strong> Dastlab, qulaylik uchun maksimal qarshiligi 10 kOm bo&#8217;lgan <strong>potensiometr<\/strong> (o&#8217;zgaruvchan rezistor)ni plataga quyidagi sxemaga asosan ulaymiz (o&#8217;rtadagi kontakt A0 piniga, qolgan kontaktlar +5V va GND pinlariga ulanadi. Shu yo&#8217;l bilan potensiometr yordamida &#8220;kuchlanish bo&#8217;lgichi&#8221; (&#8220;\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f&#8221;) hosil qilinadi. Chetki kontaktlar o&#8217;rni almashsa, qarshilik qiymati o&#8217;zgarishi yo&#8217;nalishi qarama-qarshisiga almashadi). Potensiometrning o&#8217;rtadagi kontakti regulirovka natijasida Arduinoning +5V va GND (0V) qutblari orasidagi oraliq kuchlanishni tanlash vazifasini bajaradi. Shu kuchlanishga mos qiymat esa, A0 pinida hosil bo&#8217;ladi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1896 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_potensiometr.jpg\" alt=\"\" width=\"460\" height=\"620\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_potensiometr.jpg 460w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_potensiometr-223x300.jpg 223w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/p>\n<p style=\"text-align: justify;\">Sketch yuklansa, potensiometr regulirivka qilinishi jarayonida port monitori va plotter orqali quyidagi natijalarni kuzatishimiz mumkin:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1898 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr.jpg\" alt=\"\" width=\"897\" height=\"380\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr-300x127.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr-768x325.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: center;\">1-rasm. Potensiometrda regulirovka natijasi port monitorida.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1897 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr2.jpg\" alt=\"\" width=\"910\" height=\"393\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr2.jpg 910w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr2-300x130.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_potensiometr2-768x332.jpg 768w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/p>\n<p style=\"text-align: center;\">2-rasm. Potensiometrda regulirovka natijasi plotterda.<\/p>\n<p style=\"text-align: justify;\">Potensiometrning ushbu xususiyati yordamida Arduinoga ulangan tashqi yuklamani ham boshqarish mumkin.<\/p>\n<p style=\"text-align: justify;\"><strong>3-variant. <\/strong>Endi quyidagi sxema asosida plataga analog datchik sifatida <strong>fotorezistor<\/strong> (R2) ulaymiz.<\/p>\n<p style=\"text-align: justify;\">Sxemadagi R1 rezistor, R2 fotorezistor bilan birgalikda kuchlanishni bo&#8217;lgich vazifasini bajaradi. Ulardan biri musbat qutbga (+5V), ikkinchisi manfiy qutbga (GND), o&#8217;zaro birlashgan umumiy kontakt esa, Arduino UNO ning A0 piniga ulangan.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1895 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_fotorezistor.jpg\" alt=\"\" width=\"472\" height=\"531\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_fotorezistor.jpg 472w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_fotorezistor-267x300.jpg 267w\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" \/><\/p>\n<p style=\"text-align: justify;\">Sketch yuklanganidan so&#8217;ng, port monitorini ochsak, hududdagi yorug&#8217;likdan kelib chiqib, port monitorida sonlar o&#8217;zgarayotganini kuzatish mumkin (3-rasm). Ushbu o&#8217;zgarishni yanada vizuallashtirish uchun, natijalarni plotterda kuzatishimiz mumkin (4-rasm).<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1888 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor.jpg\" alt=\"\" width=\"897\" height=\"378\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor-768x324.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\">3-rasm. O&#8217;qilgan qiymatlar o&#8217;zgarishi port monitorida.<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1887 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor2.jpg\" alt=\"\" width=\"897\" height=\"378\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor2.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor2-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_photorezistor2-768x324.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\">4-rasm. O&#8217;qilgan qiymatlar o&#8217;zgarishi grafigi plotterda.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Kelgusida ushbu sketchni takomillashtirib, yorug&#8217;lik darajasi asosida qurilmani boshqarish loyihalarini yaratishimiz mumkin bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\"><strong>4-variant.<\/strong> Sxemani o&#8217;zgartiramiz. Bunda yorug&#8217;lik datchigi o&#8217;rniga MAX9814 <strong>mikrofonli modul<\/strong> (tovush datchigi)ni ulaymiz. Sketchga hech qanday o&#8217;zgartirish kiritish talab etilmaydi. Ulansi sxemasi quyidagicha bo&#8217;ladi:<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2366 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing-mikrophone.jpg\" alt=\"\" width=\"903\" height=\"1182\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing-mikrophone.jpg 903w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing-mikrophone-229x300.jpg 229w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing-mikrophone-782x1024.jpg 782w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing-mikrophone-768x1005.jpg 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/p>\n<p data-wp-editing=\"1\">Natija (mos ravishda port monitori orqali va plotter orqali kuzatilganda):<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1892 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon.jpg\" alt=\"\" width=\"897\" height=\"378\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon-768x324.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1891 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon2.jpg\" alt=\"\" width=\"897\" height=\"378\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon2.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon2-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/analogRead_mikrofon2-768x324.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Rasmlardan ko&#8217;rish mumkinki, signaldagi qisqa muddatli &#8220;sakrash&#8221;lar tovush yuqori bo&#8217;lgan (qarsak, gapirish) paytlarni anglatadi. Qolgan paytdagi o&#8217;zgarvuchan sonlar (port monitori) va shunga mos zigzagsimon chiziqlar (plotter) turli shovqinlar darajasini bildiradi. Aynan signaldagi &#8220;sakrash&#8221;lar qiymatlariga asoslanib, boshqa qurilmani tovush orqali boshqarish shartlarini belgilash mumkin bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Quyidagi rasmdagi KY-038 mikrofonli modulidan foydalanilganda ham, yuqoridagi sketchdan foydalanish mumkin:<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2364 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/fritzing-mikrophone2.jpg\" alt=\"\" width=\"903\" height=\"1428\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/fritzing-mikrophone2.jpg 903w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/fritzing-mikrophone2-190x300.jpg 190w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/fritzing-mikrophone2-648x1024.jpg 648w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/fritzing-mikrophone2-768x1215.jpg 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\"><strong>5-variant.<\/strong> HC-SR501 infraqizil harakat detektorini A0 analog piniga ulaymiz (ushbu detektorni analog datchik sifatida analog pinga ham, raqamli datchik sifatida raqamli pinga ham ulash mumkin, chunki harakat sezilganda detektor chiqish kontaktida yuqori signal hosil qiladi, kutish rejimida yana chiqish pinida LOW signali hosil bo&#8217;ladi).<strong><br \/>\n<\/strong><\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1915 size-medium\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-0-300x250.jpg\" alt=\"\" width=\"300\" height=\"250\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-0-300x250.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-0.jpg 561w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1903 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_pir-sensor_HC-SR501.jpg\" alt=\"\" width=\"380\" height=\"537\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_pir-sensor_HC-SR501.jpg 380w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_pir-sensor_HC-SR501-212x300.jpg 212w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">HC-SR501 harakat detektorining oldingi analog datchiklardan farqli jihati bor. U mustaqil (Arduinosiz) ham foydalanish mumkin bo&#8217;lgan datchik bo&#8217;lib, uning chiqish kontaktini rele moduliga ulansa, to&#8217;g&#8217;ridan-to&#8217;g&#8217;ri yuklamani (chiroqni) boshqarish mumkin. Bundan tashqari, detektor ishga tushirilganda taxminan 1 daqiqa davomida o&#8217;zini o&#8217;zi initsializatsiya qiladi va bu paytda harakatni aniqlamaydi. Bundan tashqari, harakat aniqlanganib, yuklama ulanganidan so&#8217;ng ma&#8217;lum vaqtdan keyin yana uni o&#8217;chiradi va kutish rejimiga o&#8217;tadi. Kutish rejimiga o&#8217;tishdan oldin ham 3-4 sekund initsializatsiyadan o&#8217;tadi va bu vaqtda ham harakatni sezmaydi. Datchik bilan ishlaganda bu holatlarni hisobga olinishi zarur.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Datchikning chetida 2 ta o&#8217;zgaruvchan rezistor o&#8217;rnatilgan bo&#8217;lib, ulardan biri (plataning o&#8217;rtarog&#8217;ida joylashgan) detektorning sezgirligini (3-7 metr), 2-chisi HIGH chiqish signalini ushlab turish vaqtini (5-300 sekund) sozlash uchun ishlatiladi. Platadagi &#8220;H&#8221;, &#8220;L&#8221; rejimlari uyasi detektor yuklamani ulagan paytda ham harakatni sezishni davom ettirishi (&#8220;H&#8221; rejimi) yoki harakat sezilishidan qat&#8217;iy nazar yuklamani belgilangan vaqtda uzishi (&#8220;L&#8221; rejimi) uchun tanlanadi.<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1909 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-1.jpg\" alt=\"\" width=\"1024\" height=\"634\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-1.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-1-300x186.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-1-768x476.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Bundan tashqari, datchikning qopqog&#8217;i ochilsa, plataga qo&#8217;shimcha fotorezistor va termorezistor o&#8217;rnatish uchun joylar ajratilganini ko&#8217;rish mumkin. Fotorezistor o&#8217;rnatilsa (RL kontaktlari) detektor yorug&#8217; paytda ishlamaydi (yuklamani ulamaydi). Termorezistor o&#8217;rnatilsa (RT kontaktlari), detektor ekstremal (juda sovuq, juda issiq) temperaturalarda ham ishlash qobiliyatiga ega bo&#8217;ladi.<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1908\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-2-300x222.jpg\" alt=\"\" width=\"300\" height=\"222\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-2-300x222.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-2-768x569.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-2.jpg 772w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1914\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501_2-300x237.jpg\" alt=\"\" width=\"300\" height=\"237\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501_2-300x237.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501_2-768x606.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501_2.jpg 866w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p data-wp-editing=\"1\">Natija:<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Datchik ulanganidan keyin 1 daqiqa o&#8217;tgach, uning holatini port monitorida va plotterda kuzatamiz:<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1911 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-3.jpg\" alt=\"\" width=\"897\" height=\"377\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-3.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-3-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-3-768x323.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1912 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-5.jpg\" alt=\"\" width=\"897\" height=\"377\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-5.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-5-300x126.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/pir-sensor_HC-SR501-5-768x323.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Ko&#8217;rinib turibdiki, yuqoridagi 4 xil turdagi analog datchikni sxemaga ulash bilan sketchda umuman o&#8217;zgarish kiritish talab etilmadi. Shuningdek, datchiklarning sxemaga ulanishida ham katta o&#8217;zgarish bo&#8217;lgani yo&#8217;q. Boshqa turdagi analog datchiklarni ulanishi bilan ham sxemada jiddiy o&#8217;zgarish yuzaga kelmaydi. Barcha hollarda analog datchikning analog signal chiqish kontaktini Arduinoning analog kirish kontaktiga ulanishi, ta&#8217;minot kontaktlarini esa, mos ravishda +5V, GND kontaktlariga ulash zarur.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\"><strong>6-variant.<\/strong> Ushbu variantda analog datchik sifatida termistordan (NTC-termorezistordan) foydalanamiz. Termistor haqida <a href=\"https:\/\/yarat.uz\/?p=83\">elektron komponentlar haqidagi darsda<\/a> batafsil ma&#8217;lumotlar keltirilgan. Mazkur darsda, termistor qarshiligidan kelib chiqib, temperaturani aniqlash formulalari hamda ayrim kontsantalar qiymatlari ham keltirilgan. Yuqoridagi sxemada R2 fotorezistor o&#8217;rniga analog <strong>termistor<\/strong>dan (NTC-termorezistordan) foydalanamiz va sxemaga kichik o&#8217;zgartirish kiritamiz. Sxema quyidagi ko&#8217;rinishga keladi:<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2078 size-large\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_ntc_termistor-861x1024.jpg\" alt=\"\" width=\"640\" height=\"761\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_ntc_termistor-861x1024.jpg 861w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_ntc_termistor-252x300.jpg 252w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_ntc_termistor-768x913.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/fritzing_ntc_termistor.jpg 921w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\"><strong>Raqamlashtirilgan signalni qayta ishlash<\/strong><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Biz yuqorida ayrim analog datchiklarning Arduinoga ulanishi va ularning raqamlashtirilgan qiymatlarini o&#8217;qish jarayonlari bilan tanishdik. Ma&#8217;lum bo&#8217;ldiki, datchiklar orqali qabul qilingan turli xil analog signallar <strong>analogWrite() <\/strong>funksiyasi yordamida 0&#8230;1023 oralig&#8217;idagi raqamli qiymatlarga aylantiriladi. Ularni qayta ishlash orqali turli xil tashqi qurilmalarni boshqaruvchi yoki natijalarni vizuallashtirib beruvchi qurilmalar loyihalarini yaratishmiz mumkin. Quyida shunday qurilmalardan biri &#8211; termistor asosidagi eng oddiy termometr sketchuni tuzamiz.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Natijalarni hozircha faqat port monitori orqali kuzatish bilan cheklanamiz (kelgusida sxemaga biron displey modulini ulash orqali, temperaturani u orqali kuzatishimiz ham mumkin bo&#8217;ladi).<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Termistor asosidagi termometr sketchi:<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>'Termistor asosidagi termometr. Bibiotekasiz variant<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nint r2 = 10000;<br \/>\nfloat du, r_term, T, log_r2;<br \/>\nfloat c1 = 0.001129148, c2 = 0.000234125, c3 = 0.0000000876741;<br \/>\nvoid setup() {<br \/>\nSerial.begin(9600); \/\/ Serial obyektini (ketma-ket portni) faollashtiramiz<br \/>\n}<\/p>\n<p>void loop() {<br \/>\ndu = 1023-analogRead(A0); \/\/ A0 analog pinini o&#8217;qiymiz va natijani &#8220;du&#8221; o&#8217;zgaruvchisiga o&#8217;zlashtiramiz<br \/>\ndelay(1); \/\/ stabillik uchun qisqa pauza o&#8217;rnatamiz<br \/>\nr_term = r2\/(1023\/du &#8211; 1); \/\/ kuchlanishni qarshilikka aylantiramiz<br \/>\nlog_r2 = log(r_term);<br \/>\nT = (1.0\/(c1 + c2 * log_r2 + c3 * log_r2 * log_r2 * log_r2)); \/\/ Kelvin bo&#8217;yicha temperatura<br \/>\nT = T &#8211; 273.15; \/\/ Kelvindan gradusga o&#8217;tkazish<br \/>\nSerial.println(&#8220;Temperatura = &#8221; + (String)T + &#8221; C&#8221;); \/\/ Temperaturani port monitoriga chiqaramiz<br \/>\ndelay(2000); \/\/ qayta o&#8217;lchash pauzasi<br \/>\n}<\/div><\/div>\n<p data-wp-editing=\"1\">Port monitori va plotterda natijani kuzatamiz:<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2083 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_port.jpg\" alt=\"\" width=\"897\" height=\"391\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_port.jpg 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_port-300x131.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_port-768x335.jpg 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\">Temperatura ko&#8217;rsatkichlari port monitorida.<\/p>\n<p data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2084 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_plotter-e1709472393150.jpg\" alt=\"\" width=\"458\" height=\"391\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_plotter-e1709472393150.jpg 458w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/termistor_plotter-e1709472393150-300x256.jpg 300w\" sizes=\"auto, (max-width: 458px) 100vw, 458px\" \/><\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\">Temperatura ko&#8217;rsatkichlari plotterda.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Kelgusida, xuddi shu termometrni turli xil hisoblashlarni bajarib o&#8217;tirmasdan, termodatchik qiymatlarini to&#8217;g&#8217;ridan-to&#8217;g&#8217;ri haroratni ifodalovchi qiymatlarga aylantirib beradigan <a href=\"https:\/\/yarat.uz\/?p=2417\">bibliotekadan foydalanamiz<\/a> va yuqoridagi sketchni soddalashtiramiz.<\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">Kelgusida &#8220;Aqlli uy&#8221; o&#8217;quv loyihasini tayyorlash jarayonida, yuqoridagi kabi analog datchiklar va ularni raqamlashtirish funksiyalaridan keng foydalanishimiz mumkin.<\/p>\n<p style=\"text-align: center;\" data-wp-editing=\"1\"><strong><em>Topshiriqlar:<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\" data-wp-editing=\"1\">1) Yuqoridagi barcha sketchlarni Arduino UNO va Wemos D1 mini platalari uchun bajaring.<br \/>\n2) Yuqoridagi &#8216;AnalogReadSerial&#8217; sketchi yordamida, o&#8217;zingizda mavjud bo&#8217;lgan analog datchiklar qiymatlarini o&#8217;lchang.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Analogni signalni raqamlashtirish deganda uni maxsus modul yoki mikrokontroller yordamida analog holatidan raqamli holatga o&#8217;tkazish jarayoni tushuniladi. Mikrokontrollerda bunday vazifani maxsus ichki konverter (ADC) bajaradi va bunday imkoniyatga ega bo&#8217;lgan pinlar analog pinlar deb yuritiladi. Bundan tashqari ba&#8217;zi analog modullarning o&#8217;zi ham analog signalni raqamli formatga o&#8217;tkazish imkoniyatiga (mustaqil ADC ga) ega bo&#8217;ladi. Odatda bunday [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1875","post","type-post","status-publish","format-standard","hentry","category-namunaviy-sketchlar"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/1875","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=1875"}],"version-history":[{"count":51,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/1875\/revisions"}],"predecessor-version":[{"id":3978,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/1875\/revisions\/3978"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}