Хелпикс

Главная

Контакты

Случайная статья





Практическая работа №3



Практическая работа №3

«Управление яркостью светодиодов»

1) В этой работе нужно было составить программу включения/выключения светодиодов согласно заданию. Римской цифрой обозначена степень яркости свечения светодиода: I - 30% яркости, II – 60% яркости, III – 100% яркости, пустая ячейка – светодиод выключен.

Время, мс.

Желтый Красный Синий
Pin 11 Pin 10 Pin 9
     
вкл    
вкл вкл  
вкл вкл вкл
     
    вкл
  вкл  
вкл    
    вкл
  вкл  
вкл    
     
вкл I    
вкл I вкл I  
вкл I вкл I вкл I
вкл I I вкл I вкл I
вкл I I вкл I I вкл I
вкл I I вкл I I вкл I I
вкл I I I вкл I I вкл I I
вкл I I I вкл I I I вкл I I
вкл I I I вкл I I I вкл I I I
вкл I I I вкл I I I вкл I I I

Для этого была собрана схема (Рисунок 1), в которой были подключены 3 светодиода, заданы номера портов и цвета соответствующих светодиодов.

Рисунок 1

int Yellow=11;

int Red=10;

int Blue=9; 

void setup () 

{ pinMode(Yellow, OUTPUT);

pinMode(Red, OUTPUT);

pinMode(Blue, OUTPUT);

}

void loop () 

{

delay(3000);

//пауза 3 секунды

analogWrite(Yellow,255);

//включение на всю яркость (100%) желтого светодиода

delay(500);

analogWrite(Red,255);

// включение на всю яркость (100%) красного светодиода

delay(500);

analogWrite(Blue,255);

включение на всю яркость (100%) синего светодиода

delay(500);

analogWrite(Yellow,0);

analogWrite(Red,0);

analogWrite(Blue,0);

//выключение всех светодиодов

delay(2000);

analogWrite(Blue,255);

delay(500);

analogWrite(Blue,0);

analogWrite(Red,255);

delay(500);

analogWrite(Red,0);

analogWrite(Yellow,255);

delay(500);

analogWrite(Yellow,0);

analogWrite(Blue,255);

delay(500);

analogWrite(Blue,0);

analogWrite(Red,255);

delay(500);

analogWrite(Red,0);

analogWrite(Yellow,255);

delay(500);

analogWrite(Yellow,0);

delay(2000);

analogWrite(Yellow,75);

delay(500);

analogWrite(Red,75);

delay(500);

analogWrite(Blue,75);

delay(500);

analogWrite(Yellow,150);

delay(500);

analogWrite(Red,75);

delay(500);

analogWrite(Blue,75);

delay(500);

analogWrite(Red,150);

delay(500);

analogWrite(Blue,75);

delay(500);

analogWrite(Blue,150);

delay(500);

analogWrite(Yellow,255);

delay(500);

analogWrite(Red,255);

delay(500);

analogWrite(Blue,255);

delay(500);

analogWrite(Yellow,255);

delay(2000);

analogWrite(Red,255);

delay(2000);

analogWrite(Blue,255);

delay(2000);

analogWrite(Yellow,0);

analogWrite(Red,0);

analogWrite(Blue,0);

}

2) В этой работе нужно было составить программу включения/выключения светодиодов.

Время, мс.

Желтый Красный Синий
Pin 6 Pin 7 Pin 8
     
вкл    
  вкл вкл
     
вкл вкл  
вкл   вкл
  вкл II  
вкл II вкл II  
    вкл II
вкл I   вкл I
  вкл I  
     
  вкл I вкл I
вкл I   вкл I
вкл III вкл III вкл III
вкл III вкл III  
вкл III    
    вкл III
  вкл III вкл III
вкл III вкл III вкл III

int Yellow=6;

int Red=7;

int Blue=8; 

void setup () 

{ pinMode(Yellow, OUTPUT);

pinMode(Red, OUTPUT);

pinMode(Blue, OUTPUT);

}

void loop () 

{

delay(3000);

analogWrite(Yellow,255);

delay(500);

analogWrite(Red,255);

delay(500);

analogWrite(Blue,255);

delay(500);

analogWrite(Yellow,0);

analogWrite(Red,0);

analogWrite(Blue,0);

delay(1500);

analogWrite(Yellow,255);

delay(500);

analogWrite(Red,255);

delay(500);

analogWrite(Red,0);

analogWrite(Blue,255);

delay(500);

analogWrite(Yellow,0);

analogWrite(Red,150);

delay(500);

analogWrite(Blue,0);

analogWrite(Yellow,150);

delay(500);

analogWrite(Red,150);

delay(500);

analogWrite(Blue,150);

delay(500);

analogWrite(Blue,0);

analogWrite(Yellow,75);

delay(500);

analogWrite(Red,0);

analogWrite(Blue,75);

delay(500);

analogWrite(Red,75);

delay(500);

analogWrite(Yellow,0);

analogWrite(Red,0);

analogWrite(Blue,0);

delay(1500);

analogWrite(Red,75);

delay(500);

analogWrite(Blue,75);

delay(500);

analogWrite(Red,0);

analogWrite(Yellow,75);

delay(500);

analogWrite(Yellow,255);

delay(500);

analogWrite(Red,255);

delay(500);

analogWrite(Blue,255);

delay(500);

analogWrite(Blue,0);

analogWrite(Red,0);

analogWrite(Yellow,0);

analogWrite(Blue,255);

delay(500);

analogWrite(Red,255);

delay(500);

analogWrite(Yellow,255);

delay(500);

analogWrite(Yellow,0);

analogWrite(Red,0);

analogWrite(Blue,0);

}

После подключения Arduino к компьютеру, была загружена программа в контроллер и получено мигание светодиодов. При помощи команды analogWrite была задана интенсивность яркости светодиода. analogWrite(Led,255) задает самую большую яркость светодиода (100%), analogWrite(Led,150) задает более тусклое свечение (60%), а analogWrite(Led,75)  задает тусклое свечение светодиода. Таким образом, при помощи этой команды можно запрограммировать светодиод мигать не только с различной скоростью, но и с разной яркостью, а так же отключать их при помощи analogWrite(Led,0).



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.