|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Практическая работа №3Практическая работа №3 «Управление яркостью светодиодов» 1) В этой работе нужно было составить программу включения/выключения светодиодов согласно заданию. Римской цифрой обозначена степень яркости свечения светодиода: I - 30% яркости, II – 60% яркости, III – 100% яркости, пустая ячейка – светодиод выключен.
Для этого была собрана схема (Рисунок 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) В этой работе нужно было составить программу включения/выключения светодиодов.
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).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|