Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСАЧ АРДУИНО.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
422.99 Кб
Скачать

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

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

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

Время, мс.

Желтый

Красный

Синий

Pin 11

Pin 10

Pin 9

3000

500

вкл

500

вкл

вкл

500

вкл

вкл

вкл

2000

500

вкл

500

вкл

500

вкл

500

вкл

500

вкл

500

вкл

2000

500

вкл I

500

вкл I

вкл I

500

вкл I

вкл I

вкл I

500

вкл I I

вкл I

вкл I

500

вкл I I

вкл I I

вкл I

500

вкл I I

вкл I I

вкл I I

500

вкл I I I

вкл I I

вкл I I

500

вкл I I I

вкл I I I

вкл I I

500

вкл I I I

вкл I I I

вкл I I I

2000

вкл 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);

}

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

Время, мс.

Желтый

Красный

Синий

Pin 6

Pin 7

Pin 8

3000

500

вкл

500

вкл

вкл

1500

500

вкл

вкл

500

вкл

вкл

500

вкл II

500

вкл II

вкл II

500

вкл II

500

вкл I

вкл I

500

вкл I

1500

500

вкл I

вкл I

500

вкл I

вкл I

500

вкл III

вкл III

вкл III

500

вкл III

вкл III

500

вкл III

500

вкл III

500

вкл III

вкл III

500

вкл 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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]