Банк проектов 8-11 Банк проектов 8-11 кл | Page 69

Для питания Arduino можно использовать сетевой адаптер питания, подключённый в соответствующий разъём платы, батарейный отсек с пятью батарейками АА, или можно обойтись USB-кабелем. GND с платы Arduino выведена на отдельную шину, где дублируется, т.к. для подключения всех элементов нам потребуется шесть входов GND. Кнопки подключаются напрямую к входам микроконтроллерной платы. В качестве подтягивающего резистора будет использоваться встроенный, который включается программным способом. Принцип работы одного из вариантов алгоритма В трёхцветном светофоре предусмотрено пять режимов:  Красный (10 секунд).  Красный + жёлтый (2 секунды).  Зелёный (1–20 секунд).  Зелёный моргающий (4 секунды). Интервал моргания 1 секунду, то есть светофор в этом режиме моргнёт зелёным 2 раза (1 секунду горит и 1 секунду не горит).  Жёлтый (2 секунды). При включении устройства пользователь должен сначала настроить длительность работы зелёного сигнала светофора. По умолчанию она равна 1 секунде, и при её настройке она должна быть ограничена верхним пределом в 20 секунд. Для настройки времени будет задействовано две тактовые кнопки, одна из которых будет прибавлять длительность в секундах, а вторая, соответственно, убавлять. Для того чтобы настройки вступили в силу и был произведён запуск основной части программы (переключение сигналов светофора), необходимо однократно нажать третью тактовую кнопку. Программная реализация алгоритма Рассмотрим основные функции, которые потребуются для реализации программы. После запуска устройства в программе должен производиться опрос первых двух кнопок для настройки длительности работы зелёного сигнала светофора до тех пор, пока не нажмётся третья кнопка. Чтобы это реализовать, сначала нужно программным способом настроить их на вход и обязательно подключить на каждый порт 5–7 внутренний подтягивающий резистор. Настраивается это в void setup() командой pinMode(buttonPin, INPUT_PULLUP), где buttonPin порт, куда подключена кнопка (5–7). INPUT означает, что мы принимаем сигнал (порт работает как вход), а приставка PULLUP означает, что подключается внутренний подтягивающий резистор. Далее 69