|
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali
|
Sana | 31.05.2024 | Hajmi | 479,13 Kb. | | #258083 |
Bog'liq 4-amaliy topshiriq O\'T
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
4-AMALIY ISH TOPSHIRIG‘I
Bajardi: TT21-04 guruh talabasi
Axtamov Asadbek
Tekshirdi: Mirsaidov B.M
SAMARQAND – 2024
4-topshiriq
№
|
Topshiriq mavzusi
|
2
|
Fotoqarshilik orqali yorug‘lik o‘zgarishiga qarab 5 ta led diodini yoqish.
|
Arduino qurilmasida fotoqarshilik orqali yorug'lik o'zgarishiga qarab 5 ta LED diodini yoqish uchun quyidagi usuldan foydalanishimiz mumkin. Bu dasturda biz fotorezistor yordamida yorug'lik darajasini o'lchab, unga qarab LED diodlarni yoqamiz.
Kerakli komponentlar:
1. Arduino (UNO yoki har qanday mos keluvchi model)
2. 5 ta LED diod
3. 5 ta 220 ohmli rezistor
4. Fotorezistor
5. 10k ohmli rezistor
6. Jumper simlari
7. Breadboard
Elektr sxema:
1. Fotorezistorni breadboardga joylashtiramiz va uning bir uchini 5V piniga ulaymiz.
2. Fotorezistorning ikkinchi uchini Arduino analog A0 piniga ulaymiz va shuningdek, bu nuqtaga 10k ohmli rezistorning bir uchini ulaymiz. 10k ohmli rezistorning ikkinchi uchini GND piniga ulaymiz.
3. LED diodlarni breadboardga joylashtiring va ularning uzun oyoqlarini (anod) Arduino raqamli pinlariga ulaymiz (masalan, 2, 3, 4, 5, 6 pinlar).
4. LED diodlarning qisqa oyoqlarini (katod) 220 ohmli rezistorlar orqali GND piniga ulaymiz.
Arduino kodi:
```cpp int sensorPin = A0; // Fotorezistor ulangan pin int numLeds = 5; // LED diodlar soni
void setup() { for (int i = 0; i < numLeds; i++) { pinMode(ledPins[i], OUTPUT); // LED pinlarini chiqish (output) holatiga o'tkazish } Serial.begin(9600); // Serial monitorni ishga tushirish } void loop() { int sensorValue = analogRead(sensorPin); // Fotorezistor qiymatini o'qish Serial.println(sensorValue); // Fotorezistor qiymatini serial monitor orqali ko'rsatish int threshold = 1024 / numLeds; // Har bir LED uchun chegara qiymati for (int i = 0; i < numLeds; i++) { if (sensorValue > threshold * i) { digitalWrite(ledPins[i], HIGH); // LED diodni yoqish } else { digitalWrite(ledPins[i], LOW); // LED diodni o'chirish } } } ```
Izoh:
1. Fotorezistor qiymatini `analogRead` funksiyasi yordamida o'qiymiz. Qiymat 0 dan 1023 gacha bo'lishi mumkin.
2. Har bir LED diod uchun yorug'lik darajasi chegarasini hisoblaymiz. Masalan, 5 ta LED diod uchun har bir LED 204.8 ga teng chegara qiymatiga ega bo'ladi.
3. `for` sikli yordamida har bir LED diodni tegishli chegaraga qarab yoqamiz yoki o'chiramiz.
Bu kodni Arduino qurilmamizga yuklaymiz va fotorezistor yorug'lik darajasiga qarab LED diodlarning qanday yoqilishini kuzatamiz.
https://wokwi.com/projects/399298217066608641
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali
|