Laboratoriya ishi №4 4- mavzu: rgb-yorug‘lik diodi. Impuls kengligining modulyasiyasi. Ishdan maqsad


Download 260.51 Kb.
Sana30.04.2023
Hajmi260.51 Kb.
#1417876
Bog'liq
Laboratoriya ishi №4 RGB yorug‘lik diodi. Impuls kengligining modulyatsiyasi


LABORATORIYA ISHI №4
4- Mavzu: RGB-yorug‘lik diodi. Impuls kengligining modulyasiyasi.


Ishdan maqsad. Arduinoda RGB-yorug‘lik diodini boshqarish hamda impuls kengligining modulyasiyasi haqida amaliy tushunchalarga ega bo’lish.
Ishni bajarish uchun kerakli jihozlar:

  • 1 RGB LED 10 mm x 1 ta;

  • Arduino Uno R3 platasi x 1ta;

  • 270 ohm qarshilik x 3 ta;

  • Breadboard (Doska)x 1;

  • Ulash uchun similar;

  • USB kabeli x 1;

  • Kompyuter x 1.

Ishni bajarish uchun kerakli dasturiy ta’minot:

  • Arduino IDE

  • tinkercat.com web sayti 
    1. RGB-yorug‘lik diodi haqida


Arduino bilan RGB (Red Green Blue) LEDni boshqarish uchun analogWrite funktsiyasidan foydalanamiz. Bir qarashda RGB LEDlari odatdagi LEDlar bilan bir xil ko'rinadi, lekin aslida ular ichida uchta LED o'rnatilgan bo’lib biri qizil, biri yashil va biri ko'k. Har birining yorqinligini boshqarish orqali siz LED rangini boshqarishingiz mumkin. Ya'ni, biz har bir LEDning yorqinligini moslashtiramiz va chiqishda kerakli rangni olamiz. Buning uchun siz o'zgaruvchan rezistorlardan foydalanishingiz mumkin. Ammo natijada sxema juda murakkab bo'ladi.

1-rasm. RGB-yorug‘lik diodi

2- rasm. Ulanish diagrammasi
RGB LED-dagi umumiy anot ikkinchi eng uzun kontaktdir. Ushbu pinni erga (gnd) ulaymiz. Haddan tashqari o’zgaruvchi elektr oqimlarning oldini olish uchun har bir LED o'z 270 ohmli qarshilik orqali ulanadi. Ushbu rezistorlar katodlar (qizil, yashil va ko'k) va bizning Arduino-dagi boshqaruv pimlari orasidagi elektronga o'rnatiladi.
Agar siz umumiy katot o'rniga oddiy anodli RGB LED dan foydalansangiz, LEDdagi eng uzun pin gnd pin o'rniga +5 V pinga ulanadi.



3-rasm. Arduino platasi, RGB led va BreadBoardning ulanishi (VBBda)

4-rasm. Arduino platasi, RGB led va BreadBoardning ulanishi (RBB da)

    1. Ranglar

Biroz nazariya: biz uchta asosiy rangni aralashtirib, yangi soyalarni ko'rishimiz mumkin, chunki bizning ko'zimizda uchta turdagi retseptorlar mavjud (qizil, yashil va ko'k uchun).
Natijada, sizning ko'zingiz va miyangiz ushbu uchta rangning to'yinganligi haqidagi ma'lumotlarni qayta ishlaydi va ularni boshqa spektr soyalariga aylantiradi. Ya'ni, uchta LEDni bir vaqtning o'zida ishlatish, biz ko'zimizni aldayotganga o'xshaymiz. Xuddi shu fikr televizorlarda ham qo'llaniladi, bu yerda LCD alohida qizil piksellarni hosil qilish uchun juda yaqin qizil, yashil va ko'k nuqtalardan iborat.

5-rasm. RGB ranglar tasnifi
Agar biz barcha LEDlarni bir xil nashrida qilib qo'ysak, uni oq rangda yonib turganini ko'ramiz. Agar biz ko'k LEDni o'chirib qo'ysak va xuddi shu yorqinlik bilan faqat qizil va yashil chiroq yonib tursa, biz sariq rangga ega bo'lamiz. Ranglarni xohlagancha aralashtirib, har bir LEDning yorqinligini alohida boshqarishimiz mumkin.
Qora rang yorug'lik yo'qligidan boshqa narsa emasligi sababli, siz uni ololmaysiz. Qora rangning eng yaqin soyasi - bu LEDlar butunlay o'chirilgan payt.
Quyidagi Arduinoda RGB ranglarni boshqarish uchun yozilgan kod bilan tanishib chiqishingiz mumkin:
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
//#define COMMON_ANODE
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
setColor(255, 0, 0);
delay(1000);
setColor(0, 255, 0);
delay(1000);
setColor(0, 0, 255);
delay(1000);
setColor(255, 255, 0);
delay(1000);
setColor(80, 0, 80);
delay(1000);
setColor(0, 255, 255);
delay(1000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue); }

    1. Impuls kengligining modulyasiyasi (PWM)

Impuls kengligining modulyasiyasi (Pulse Width Modulation) - quvvatni boshqarish usullaridan biri. PWM har bir alohida LEDning yorqinligini boshqarish uchun ishlatiladi.

6-rasm. Ushbu rasmda Arduino PWM pinlaridan birining signali sxematik tarzda aks ettirilgan.
Har 1/500 soniyada PWM chiqishi puls hosil qiladi. Ushbu impulsning uzunligi "analogWrite" funksiyasi bilan boshqariladi. Ya'ni, "analogWrite (0)" hech qanday kuchlanish hosil qilmaydi, lekin "analogWrite (255)" keyingi signal boshlanishiga qadar davom etadigan signal hosil qiladi. Ya'ni, bu bitta doimiy turtki berilayotgandek taassurot qoldiradi.
Agar analogWrite funksiyasi doirasida 0 dan 255 gacha bo'lgan qiymatni aniqlasak, biz ma'lum bir muddatdagi impulsni hosil qilamiz. Agar kuchlanish uzunligi 5% bo'lsa, biz belgilangan Arduino chiqishiga maksimal quvvatning 5 foizini sarflaymiz va LED bizga maksimal yorug'likda yoqilmagan holda ko'rinadi.
4. Nazorat savollari.
1. RGB-yorug‘lik diodi qanday tuzilishga ega?
2. RGB-yorug‘lik diodi nima uchun qo’llaniladi?
3. Arduino platasi, RGB led va BreadBoardning ulanishi VBBda ko’rsatib bering.
5. RGB Ledga dastur qay tarzda yoziladi?
6. Impuls kengligining modulyasiyasi (PWM) qay hollarda qo’llanilinishini aytib bering
Download 260.51 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling