
Видео
Схема

Исходный код
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Полицейская мигалка на светодиодах
4// ─────────────────────────────────────────
5// Красный и синий светодиоды по очереди быстро мигают по 3 раза,
6// получается эффект полицейской мигалки. Показывает циклы for и управление
7// временем.
8//
9// Пины:
10// D2 -> Красный светодиод
11// D3 -> Синий светодиод
12// Каждый светодиод с резистором 330 ohm
13
14// Время вспышки (мс). Чем меньше значение, тем быстрее мигание
15int delayTime = 60;
16
17void setup() {
18 pinMode(2,OUTPUT); // Красный
19 pinMode(3,OUTPUT); // Синий
20}
21
22void loop() {
23 // Красный светодиод мигает 3 раза
24 for(int i=0;i<3;i++){
25 digitalWrite(2,HIGH);
26 delay(delayTime);
27 digitalWrite(2,LOW);
28 delay(delayTime);
29 }
30
31 // Синий светодиод мигает 3 раза
32 for(int i=0;i<3;i++){
33 digitalWrite(3,HIGH);
34 delay(delayTime);
35 digitalWrite(3,LOW);
36 delay(delayTime);
37 }
38}
39
Частые вопросы
Как сделать стробоскоп реалистичнее?
Настоящие полицейские огни несколько раз коротко вспыхивают каждым цветом. Если с помощью цикла `for` быстро включить один светодиод три раза (например, 50 ms включён, 50 ms выключен) и затем перейти к следующему, получится эффект, очень похожий на полицейскую мигалку.
Можно ли поставить красному и синему светодиодам одинаковый резистор?
Работать будут, но яркость будет разной: прямое напряжение синего светодиода (около 3,2 V) выше, чем у красного (около 1,9 V), поэтому с тем же резистором через него течёт меньший ток. Чтобы яркость была одинаковой, для синего светодиода можно выбрать меньшее сопротивление; этот расчёт делает калькулятор резистора для светодиода.
Зачем здесь цикл for?
Он нужен, чтобы повторить один и тот же узор мигания заданное число раз. Вместо того чтобы копировать код несколько раз, можно управлять повторением из одного места, написав `for (int i = 0; i < 3; i++)`.
Как сделать вспышку ярче?
Рассчитывай схему так, чтобы ток с пина Uno не превышал 20 mA; сам пин не ограничивает ток этим значением. Для более мощных светодиодов или светодиодных лент нужно управлять ими от подходящего отдельного источника питания через транзистор или MOSFET, рассчитанный на ток нагрузки; не подключай мощные нагрузки прямо к пину.
