В этом проекте вы примените знания, полученные в проекте №3, чтобы создать стробоскоп с возможностью управления скоростью мерцания.
Нам понадобится
- Плата Arduino
- Макетная плата
- Перемычки
- 2 голубых светодиода
- 2 красных светодиода
- Потенциометр с сопротивлением 50 кОм
- 4 резистора с сопротивлением 220 Ом каждый
Рисунок 4.0: Нам понадобитсяПринцип работы
Поворот ручки потенциометра вправо/влево изменяет скорость мигания светодиодов, создавая стробоскопический эффект. Вы можете использовать красные и синие светодиоды для создания эффекта полицейских проблесковых маячков (см. рис. 4.1). Чтобы светодиоды одного и того же цвета светились вместе, подключите их к одному контакту на плате Arduino. А если вы сделаете корпус и поместите светодиоды внутрь, у вас получится собственный мобильный стробоскоп! Вы можете установить до 10 светодиодов; понадобится лишь внести минимальные изменения в скетч, добавив информацию о дополнительных светодиодах и выходах.
Рисунок 4.1: Красные и синие светодиоды имитируют свечение полицейских проблесковых маячковСборка
Установите светодиоды на макетную плату, подключив короткие ножки (катоды) к шине заземления, а затем к контакту GND платы Arduino.
Установите резисторы на макетную плату, подключив их к длинным ножкам (анодам) светодиодов. Используя перемычки, подключите два красных светодиода к одному контакту на плате Arduino, а два синих светодиода — к другому. Подключение к плате Arduino осуществляется после резисторов, как показано на рис. 4.2. Так вы сможете управлять светодиодами одного цвета через один контакт.
Не забудьте подать напряжение на макетную плату.
Рисунок 4.2: Подключение светодиодов с помощью перемычек3. Подключите красные светодиоды к контакту 12 на плате Arduino, а синие — к контакту 11 на плате Arduino.
Подключение4. Установите потенциометр на макетную плату и подключите центральную ножку к контакту АО на плате Arduino, левую — к контакту GND, а правую — к контакту 5V.
Подключение
Рисунок 4.3: Принципиальная схема дискотечного стробоскопа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) ;
}
Теги: