Банк проектов 8-11 Банк проектов 8-11 кл | Page 75
неверное, комбинация сбрасывается. Издаётся продолжительный звуковой сигнал, и пользователь
заново начинает ввод. При каждом нажатии одной из клавиш должен издаваться короткий
звуковой сигнал.
После правильного ввода комбинации запорный механизм откроется. Для того чтобы сейф
снова закрылся, необходимо перезагрузить программу. То есть в программе нужно предусмотреть
команду, которая бы возвращала сервопривод в исходное состояние (закрытое) при включении или
перезапуске нашей системы.
Программная реализация алгоритма
Рассмотрим основные функции, которые потребуются для реализации программы.
После запуска устройства в программе должен производиться опрос трёх кнопок, и в случае
нажатия кнопки, отвечающей за ввод комбинации, необходимо увеличивать заранее созданную
переменную на 1. Таких переменных должно быть две (для каждой кнопки). Пользователь вводит
последовательно комбинацию, начиная с первой кнопки. Для работы с тактовыми кнопками
сначала нужно программным способом настроить их на вход и обязательно подключить на каждый
порт 2–4 внутренний подтягивающий резистор.
Настраивается это в void setup() командой pinMode(buttonPin, INPUT_PULLUP), где buttonPin
порт, куда подключена кнопка (2–4). INPUT означает, что мы принимаем сигнал (порт работает как
вход), а приставка PULLUP означает, что подключается внутренний подтягивающий резистор. Далее
для
считывания
состояния
с
кнопки
(нажата/не
нажата)
используется
команда
digitalRead(buttonPin). Для того чтобы подробнее разобраться с программированием контроллера
при работе с кнопкой, рекомендуется обратиться к стандартному примеру (рис. 2).
Рисунок 2. Пример программирования с тактовой кнопкой
75