Laboratoriyaning amaliy qismi.
Modelni yig‘ish uchun bizga quyidagilar kerak:
Modelning Arduinoga ulanish sxemasi:
Biz RGB LED anodlarini ulaymiz & nbsp; B portining 1,2,3 satrlariga biz katodlarni minus bilan bog‘laymiz. Turli xil rang palitralarini olish uchun biz anodlarga ma'lum ketma -ketlikda PWM signalini qo‘llaymiz. Bu misolda biz maxsus PWM dasturidan foydalanamiz, garchi Atmega8 -da siz 3 ta kanal uchun PWM apparatini osongina olishingiz mumkin. PWM dasturiy ta'minoti taymerlar / hisoblagichlar etishmasligi va boshqa sabablarga ko‘ra ishlatilishi mumkin. Muayyan chastotali PWMni yaratish uchun biz 8 bitli taymer T0 to‘lg‘azish uzilishidan foydalanamiz (TIMER0_OVF_vect). Prescaler ishlatilmagani uchun taymerning to‘lib ketish chastotasi 31250Hz ga teng bo‘ladi. Va agar "pwm_counter" o‘zgaruvchisi 163 gacha bo‘lsa, PWM chastotasi 190 Gts bo‘ladi. Pwm_r, pwm_g, pwm_b o‘zgaruvchilaridagi qiymatlarga asoslanib, uzilishlar ishlovchisida B portining pinlari almashtiriladi. Rang effektlari LED yorug‘lik vaqti o‘rnatilgan funktsiyalar yordamida konfiguratsiya qilinadi. Sinov dasturida birinchi navbatda qizil, yashil, ko‘k, oq ranglar yonadi, so‘ngra rang o‘tishlari bilan tsikl boshlanadi.
// C++ code
//
int blue=2;
void setup()
{
pinMode(blue, OUTPUT);
}
void loop()
{
digitalWrite(blue, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(blue, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
Do'stlaringiz bilan baham: |