В этом проекте вы примените знания, полученные в проекте №3, чтобы создать стробоскоп с возможностью управления скоростью мерцания.
Нам понадобится
- Плата Arduino
- Макетная плата
- Перемычки
- 2 голубых светодиода
- 2 красных светодиода
- Потенциометр с сопротивлением 50 кОм
- 4 резистора с сопротивлением 220 Ом каждый


Принцип работы
Поворот ручки потенциометра вправо/влево изменяет скорость мигания светодиодов, создавая стробоскопический эффект. Вы можете использовать красные и синие светодиоды для создания эффекта полицейских проблесковых маячков (см. рис. 4.1). Чтобы светодиоды одного и того же цвета светились вместе, подключите их к одному контакту на плате Arduino. А если вы сделаете корпус и поместите светодиоды внутрь, у вас получится собственный мобильный стробоскоп! Вы можете установить до 10 светодиодов; понадобится лишь внести минимальные изменения в скетч, добавив информацию о дополнительных светодиодах и выходах.

Сборка
Установите светодиоды на макетную плату, подключив короткие ножки (катоды) к шине заземления, а затем к контакту GND платы Arduino.
Установите резисторы на макетную плату, подключив их к длинным ножкам (анодам) светодиодов. Используя перемычки, подключите два красных светодиода к одному контакту на плате Arduino, а два синих светодиода — к другому. Подключение к плате Arduino осуществляется после резисторов, как показано на рис. 4.2. Так вы сможете управлять светодиодами одного цвета через один контакт.
Не забудьте подать напряжение на макетную плату.

3. Подключите красные светодиоды к контакту 12 на плате Arduino, а синие — к контакту 11 на плате Arduino.

4. Установите потенциометр на макетную плату и подключите центральную ножку к контакту АО на плате Arduino, левую — к контакту GND, а правую — к контакту 5V.


5. Убедитесь, что ваша цепь соответствует схеме на рис. 4.3, а затем загрузите в память Arduino код скетча, приведенный в разделе «Скетч» далее в этом проекте.
Скетч
Скетч начинает работу с настройки контакта Arduino, принимающего аналоговый сигнал с потенциометра, на режим ввода, а контактов, к которым подключены светодиоды, на режим вывода. Микрокомпьютер Arduino считывает аналоговый сигнал, поступающий от потенциометра, и использует полученные данные в качестве значения задержки — количества времени, которое проходит до смены светодиодами своего состояния (включены или выключены). Это означает, что светодиоды включаются и выключаются с частотой, определяемой потенциометром, поэтому изменение его значения влияет на скорость мигания. Скетч в цикле обрабатывает все светодиоды для имитации стробоскопического эффекта.
const int analoglnPin = А0; // Аналоговый контакт, к которому подключен потенциометр int sensorValue = 0; // Значение, полученное от потенциометра int timer =0; // Задержка // Перевод контактов 11 и 12 в режим вывода void setup () { pinMode(12, OUTPUT); pinMode(11, OUTPUT); } // Начало цикла, включающего/выключающего // светодиоды с настраиваемой задержкой void loop() { sensorValue = analogRead (analoglnPin); // Считывание значения от потенциометра timer = map(sensorValue, 0, 1023, 10, 500); // Задержка 10 - 500 мс digitalWrite(12, HIGH); // Подача напряжения на светодиоды delay(timer); // Задержка в зависимости от значения потенциометра digitalWrite (12, LOW) ; // Прекращение подачи напряжения на светодиоды delay(timer); digitalWrite (12, HIGH); delay(timer); digitalWrite (12, LOW) ; digitalWrite(11, HIGH); delay(timer); digitalWrite (11, LOW) ; delay(timer); digitalWrite (11, HIGH); delay(timer); digitalWrite (11, LOW) ; }
Теги: