Kommunikatsiyalarini rivojlantirish vazirligi muxammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti urganch filiali




Download 0,84 Mb.
Pdf ko'rish
bet9/10
Sana22.12.2023
Hajmi0,84 Mb.
#126395
1   2   3   4   5   6   7   8   9   10
Bog'liq
Individual loyiha Hojiboy Raupov
Chiqish xati Umida 24.04.24 (2)
2.2 - § Dastur manba kodi
Quyoshdan keyin quyosh panelimiz uchun dastur yozishda birinchi qadam
servo motor uchun kutubxonani kiritishdir. Keyinchalik, biz servoning dastlabki
holatini saqlash uchun o'zgaruvchini ishga tushiramiz. Shuningdek, biz
fotorezistorlar va servo ulangan kontaktdan ma'lumotlarni o'qish uchun
o'zgaruvchilarni ishga tushiramiz.
#include 
//servomotor bilan ishlash uchun kutubxonaning
ulanishi
Servo sg90;
//servomizga nom bering, keling uni sg90 deb ataymiz
int initial_position = 90;
//servoning boshlang'ich pozitsiyasini saqlash uchun
o'zgaruvchi
int LDR1 = A0;
//birinchi fotorezistor ulangan pin
int LDR2 = A1;
//ikkinchi fotorezistor ulangan pin
int error = 5;
//xato saqlash o'zgaruvchisi
int servopin=9;
sg90.attach(servopin) buyrug'i servo motorni Arduino platasining 9-piniga
"birikadi". Keyinchalik, biz fotorezistorlar ma'lumotlarni kiritish rejimiga ulangan
kontaktlarni o'rnatamiz. Keyin biz servomotorni boshlang'ich holatiga (90 daraja)
o'rnatamiz.
void setup()
{
sg90.attach(servopin);
// servomotorni 9-pinga ulaydi
pinMode(LDR1, INPUT);
// ma'lumotlarni kiritish uchun
pinMode(LDR2, INPUT);
// ma'lumotlarni kiritish uchun
sg90.write(initial_position);
//servomotorni boshlang'ich holatiga (90 daraja)
aylantiring.
delay(2000);
// 2 soniya kechikish
}


25
Keyin biz fotorezistorlardan qiymatlarni o'qiymiz va ularni R1 va R2
o'zgaruvchilarida saqlaymiz. Keyinchalik, biz servomotorni burish yo'nalishini
aniqlash uchun ushbu qiymatlar orasidagi farqni hisoblaymiz. Agar ular orasidagi
farq 0 ga teng bo'lsa, bu ikkala fotorezistorga bir xil miqdordagi yorug'lik
tushishini anglatadi, shuning uchun bu vaqtda quyosh panelini aylantirishning
hojati yo'q. Ilgari biz xatoni saqlash uchun o'zgaruvchini e'lon qildik va uning
qiymati 5 ga teng, uning maqsadi quyidagicha bo'ladi - agar ikkita fotorezistorning
qiymatlari o'rtasidagi farq ushbu o'zgaruvchining qiymatidan (5) kam bo'lsa, u
holda servo. harakat qilmaydi (o'z pozitsiyasini o'zgartiradi). Va agar ko'proq
bo'lsa, u holda servomotor quyosh panelini ko'proq yorug'lik oladigan fotorezistor
yo'nalishi bo'yicha aylantiradi. Ya'ni, bu o'zgaruvchining qiymati, xuddi shunday,
bizning qurilmamizning sezgirligini tartibga soladi va minimal chegarani
belgilaydi, undan yuqorida biz servomotorni aylantirishni boshlashimiz kerak.
int R1 = analogRead(LDR1);
// fotorezistordan qiymatni o'qish 1
int R2 = analogRead(LDR2);
// fotorezistordan qiymatni o'qish 2
int diff1= abs(R1 - R2);
// fotorezistorlardan qiymatlar orasidagi farqni hisoblash
int diff2= abs(R2 - R1);
if((diff1 <= error) || (diff2 <= error)) {
//agar farq xato qiymatidan kam bo'lsa, hech narsa qilmaslik
} else {
if(R1 > R2)
{
initial_position = --initial_position;
//servomotorni 0 daraja tomonga aylantirtirish
}
if(R1 < R2)
{
initial_position = ++initial_position;
//servomotorni 180 daraja tomonga aylantirish
}
}


26
Shunday qilib, biz dastur printsipini tahlil qildik, unga ko'ra bizning quyosh
panelimiz Quyoshdan keyin kungaboqar kabi aylanadi. Bizning loyihamizda biz
past og'irlikdagi kam quvvatli quyosh batareyasidan foydalandik, shuning uchun
bizga kam quvvatli servomotor mos keldi, ammo ushbu loyiha asosida siz to'liq
quyosh paneli bilan tizimni yaratishingiz mumkin, ammo sizga ham kerak bo'ladi.


27
Xulosa
Yakuniy malaka ishini loyihalash jarayonida Arduino Uno apparat
platformasi asosida quyosh panellarining holatini boshqarishning avtomatik tizimi
ishlab chiqildi. Tizimni ishlab chiqish jarayonida asosiy komponentlar tanlangan.
Platformaning 3D modellari yaratildi va yig'ildi. Yoqilganda servolarni
avtomatik sozlash, birlamchi ma'lumotlarni qayta ishlash va servo tizimni amalga
oshirishni o'z ichiga olgan dastur yozildi.
Natijada, quyosh o'rnini aniqlash va unga nisbatan quyosh panellarining
o'rnini to'g'rilash imkoniyatiga ega bo'lgan mobil avtomatik quyosh panellari
holatini boshqarish tizimi ishlab chiqilgan va yig'ilgan. Kelajakda tizimni
yangilash rejalashtirilgan, xususan: arzonroq va ixchamroq mikrokontrollerni
izlash, yangi platformani ishlab chiqish, yuqori samaradorlikka ega quyosh
panellarini izlash.


28

Download 0,84 Mb.
1   2   3   4   5   6   7   8   9   10




Download 0,84 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Kommunikatsiyalarini rivojlantirish vazirligi muxammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti urganch filiali

Download 0,84 Mb.
Pdf ko'rish