O‘ZBEKISTON RESPUBLIKASI
RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
KOMPYUTER INJINIRINGI FAKULTETI
Axborot texnologiyalari kafedrasi
O‘rnatilgan tizimlari fanidan
2-AMALIY ISH TOPSHIRIG‘I
Bajardi: TT21-04 guruh talabasi
Ro’zimurodov Jonibek
Tekshirdi: Mirsaidov B.M
SAMARQAND – 2024
2-topshiriq
№
|
Topshiriq mavzusi
|
2
|
Fotoqarshilikda yorug‘lik o‘zgarishiga qarab led lampalarni boshqarish.
Harakat sensor orqali harakat aniqlanganda led lampalarni yoqish.
|
Fotoqarshilik yordamida yorug‘lik o‘zgarishiga qarab LED lampalarni boshqarish uchun fotorezistor (LDR - Light Dependent Resistor) va mikrocontroller (masalan, Arduino) foydalaniladi. Ushbu jarayon quyidagi bosqichlarni o'z ichiga oladi:
Zarur Materiallar:
1. Fotorezistor (LDR)
2. Arduino yoki boshqa mikrocontroller
3. LED lampalar
4. NPN transistor (agar LED ko‘p bo‘lsa yoki yuqori quvvat talab qilsa)
5. Rezistorlar (220 Ohm va 10 kOhm)
6. Jumper simlar
7. Breadboard yoki lehimlash materiallari (doimiy loyihalar uchun)
Tizimni Yig‘ish:
1. Fotorezistorni Ulash:
- Fotorezistorning bir uchini 5V ga, ikkinchi uchini 10 kOhm rezistor orqali GND ga ulang. Fotorezistor va rezistor orasidagi nuqtani Arduino ning analog kirish piniga ulang (masalan, A0).
2.LED Ulash:
- LED ning anodini (uzun oyoq) 220 Ohm rezistor orqali Arduino ning raqamli chiqish piniga (masalan, D9) ulang. LED ning katodini (qisqa oyoq) GND ga ulang.
- Agar ko‘proq LED yoki yuqori quvvat talab qilinsa, LED ni transistor orqali boshqarish kerak bo‘ladi. Buning uchun:
- NPN transistorning kollektorini LED ning katodiga ulang.
- LED ning anodini quvvat manbaiga ulang.
- Transistorning emitterini GND ga ulang.
- Transistorning bazasini 220 Ohm rezistor orqali Arduino ning chiqish piniga ulang (masalan, D9).
Dasturiy Ta'minotni Yozish:
1. Fotorezistordan Ma'lumot Olish:
int ldrPin = A0; // Fotorezistor ulanish pini
int ledPin = 9; // LED ulanish pini
int ldrValue = 0;
void setup() {
pinMode(ledPin, OUTPUT); // LED chiqish sifatida o‘rnatish
Serial.begin(9600); // Serial monitorni boshlash
}
void loop() {
ldrValue = analogRead(ldrPin); // Fotorezistor qiymatini o‘qish
Serial.println(ldrValue); // Qiymatni serial monitorga chiqarish
if (ldrValue < 500) { // Yorug‘lik past bo‘lsa
digitalWrite(ledPin, HIGH); // LED ni yoqish
} else {
digitalWrite(ledPin, LOW); // LED ni o‘chirish
}
delay(100); // 100 millisekund kutish
}
Tizimning Ishlash Printsipi:
1. Fotorezistor yorug‘lik darajasiga qarab qarshilikni o‘zgartiradi. Yorug‘lik ko‘p bo‘lsa qarshilik kamayadi, yorug‘lik kam bo‘lsa qarshilik ortadi.
2. Analog pin (A0) orqali fotorezistordan kelgan qiymat o‘qiladi va bu qiymatga qarab LED yoqiladi yoki o‘chiriladi.
3. Agar yorug‘lik darajasi belgilangan qiymatdan past bo‘lsa, LED yoqiladi, aks holda LED o‘chiriladi.
Ushbu loyiha yordamida siz atrof-muhit yorug‘ligiga qarab avtomatik ravishda LED lampalarni boshqarishingiz mumkin. Qo'shimcha ravishda, siz fotorezistor o'qishlarini ko'rib chiqish va parametrlarni o'zgartirish orqali tizimni yanada optimallashtirishingiz mumkin.
https://wokwi.com/projects/399057761624739841
2 Harakat sensor orqali harakat aniqlanganda led lampalarni yoqish.
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;
//the time when the sensor outputs a low impulse
long unsigned int lowIn;
//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int pirPin = 3; //the digital pin connected to the PIR sensor's output
int ledPin = 13;
/////////////////////////////
//SETUP
void setup(){
Serial.begin(9600);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(pirPin, LOW);
//give the sensor some time to calibrate
|