O’rnatilgan tizimlar fanidan 2-labaratoriya ishi 1-topshiriq rgb-yorug’lik diodi. Impuls kengligining modulyatsiyasi



Yüklə 184,5 Kb.
səhifə2/2
tarix21.05.2023
ölçüsü184,5 Kb.
#118401
1   2
1-topshiriq rgb-yorug’lik diodi. Impuls kengligining mo

1 jadval

Rang

R

G

B

Qizil

255

0

0

Olov rang

255

125

0

Sariq

255

255

0

Yashil

0

255

0

Havo rang

0

255

255

Ko’k

0

0

255

Siyox rang

255

0

255

Yorug’lik diodimiz 7 ta asosiy ranglarning hammasidan o’tib qizil rangdan siyox ranggachan tovlanishi kerak. Kamalakning xohishiy oraliqdagi ranglarni hisoblash algoritmi quyidagicha:


1.Hisoblashning boshlang’ich nuqtasi qilib qizil rangni qabul qilamiz (255, 0, 0).
2. G ko’k tarkibli qiymatni sekin asta oshirib boriladi, toki olov rang qiymatiga yetmagunchaga (255, 125, 0), so’ng sariq ranggachan (255, 255, 0).
3. R qizil tarkibli qiymatni sekin asta yashil rang qiymatigachan (0, 255, 0)kamaytiriladi.
4. V ko’k tarkibli qiymatnisekin asta havo rang qiymatigachan (0, 255, 255) kamaytiriladi.
5.G yashil tarkibli qiymatnisekin asta ko’krang qiymatigachan (0, 0, 255)kamaytiriladi.
6.R qizil tarkibli qiymatni sekin asta siyox rang qiymatgachan (255, 0, 255) oshiriladi.
7. Bir oz sukut saqlab va 1 qadamga o’tiladi. Sketch tarkibi 8-listingda berilgan.


8 -listing
const int RED=11; // RGB- yorug’lik diodining qizil oyoqchasining chiqishi
const int GREEN=10; // RGB- yorug’lik diodining yashil oyoqchasining chiqishi
const int BLUE=9; // RGB- yorug’lik diodining ko’k oyoqchasining chiqishi
int red; // R-tarkibli rangni saqlash uchun o’zgaruvchi
int green; // G-tarkibli rangni saqlash uchun o’zgaruvchi
int blue; // V-tarkibli rangni saqlash uchun o’zgaruvchivoidsetup()
void setup()
{;}
void loop ()
{
// qizildan sariqqa
red=255;green=0;blue=0;
for(green=0;green<=255;green++)
setRGB(red,green,blue); // sariqdan yashilga
for(red=255;red>=0;red--)
setRGB(red,green,blue); // yashildan ko’kga
for(blue=0;blue<=255;blue++)
setRGB(red,green,blue); // havo rangdan ko’kga
for (green=255; green>=0; green--)
setRGB(red,green,blue); // ko’kdan siyox ranggachan
for(red=0;red<=255;red++)
setRGB(red,green,blue);
delay(2000);
}
// RGB– yorug’lik diod rangini o’rnatish funksichsi
void setRGB(int r,int g,int b)
{
analogWrite(RED,r);
analogWrite(GREEN, g);
analogWrite(BLUE,b);
delay(10);
}


Xulosa
Men bu labaratoriya ishini bajarish davomida RGB yoruglik diodidan foydalanib Arduino beradigan 5v yoki 0 ning qiymatini AnalogWrite funksiyasi yordamida raqamli ravishda 0-255 oraliqda o’zzgartirib uning qiymatlari o’zgarishiga mos ravishda diodning rangi o’zgarishini kuzatdim.



Yüklə 184,5 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin