Проект №12 «Код доступа»
В предыдущем проекте дверь можно открывать изнутри с помощью одной кнопки. Это, когда мы находимся дома. А что будет, если мы не дома, или, находясь в помещении, не можем открыть, поскольку заняты важным делом?
Очевидно, что надо предусмотреть возможность открытия двери снаружи. Но в этом случае встает вопрос безопасности. Возможность его открыть должны иметь только хозяева помещения или лица, которым они разрешили доступ в дом.
Решение данной задачи на поверхности. Надо придумать некий способ авторизации, то есть процесс определения тех людей, кому разрешено попадать в помещение, и кто может открыть дверь. А кому запрещен доcтуп — чтобы открыть дверь не могли.
Как правило авторизация выполняется через введение кода. Дверь может быть открыта, если ввести правильный код. Если код введен не верно, о дверь не открывается. Соответственно код сообщается только тем, кто имеет право входить в помещение.
Начнем с одного из самых простых вариантов авторизации — с двузначного кода, который будет вводиться с помощью двух кнопок.
Конструкция устройства для проекта
В описанной выше ситуации фигурирует двузначный код, который вводится с помощью двух кнопок. Значит нужны два модуля с кнопками. Помимо них остается и дверной запорный механизм, который будет открываться при правильном введении кода. Ну и для того, чтобы можно
было понять, что происходит с системой (принимает она цифры или нет, правильно введен код или нет) — потребуется использовать пару светодиодных индикаторов. Красный пусть свидетельствует о том, что замок находится в закрытом состоянии, а зеленый показывает, что код введен верно и замок находится в открытом состоянии.
Все перечисленные элементы уже установлены на модели дома, поэтому для реализации проекта необходимо только все правильно подключить.
Алгоритм работы устройства
Как мы договорились в описании задачи, - авторизация гостя будет производиться по двухчисловому коду, вводимому с помощью двух кнопок. Кнопкой с белым колпачком будет вводиться первое число (пусть это будет число 10), а кнопкой с зеленым колпачком - второе (загадаем число 4).
Так как для ввода одного числа есть одна кнопка, то единственный способ его задать - это нажать на кнопку такое количество раз, которое составляет число. Например, чтобы задать цифру 4, надо нажать на кнопку 4 раза. А система должна посчитать количество нажатий. Причем нажатий, после которых идет отпускание кнопки. Получается, что контроллеру необходимо учитывать не только нажимание, но и отпускание кнопки, и только поле этого засчитывать нажатие.
Для того, чтобы устройство могло оценивать введенный код, - выделим на ввод кода 10 секунд. По истечении данного времени введенный код будет сравниваться с правильным кодом в виде чисел 10 и 4.
В итоге общий алгоритм работы устройства будет таким. В начальный момент времени запорный механизм закрыт, горит красный светодиод. Пользователь начинает набирать код. Контроллером считываются нажатия и отпускания кнопок с подсчетом их количества. После первого нажатия красный светодиод выключается. Далее, если код введен верно, то запорный механизм открывается и загорается зеленый светодиод на 5 секунд, по истечению которых замок автоматически закрывается и загорается красный светодиод. Период выбран маленьким, чтобы наглядно показать работу системы контроля доступа и обеспечить ее цикличность. В случае ввода ошибочного кода замок остается закрытым и горит красный индикатор.
Сборка устройства
Как было сказано ранее, сборка будет сводиться по сути к переподключению кабелей к контроллеру и модулям, которые фигурируют в проекте.
Цель проекта заключается в знакомстве с новыми приемами построения алгоритма, такими, как регистрация нажатия на кнопку по ее отпусканию и подсчет нажатий.
1. Отключение модулей, использованных в предыдущих проектах
2. Подключение электронных модулей и загрузка программы в контроллер
Программу (скетч) для загрузки из среды программирования «Студия Эвольвектор», или из Arduino IDE, реализующую указанный в начале проекта алгоритм, можно найти на прилагаемом к конструктору DVD-диску или скачать со страницы проекта на сайта «Академии Эвольвектор»: academy.evolvector.ru/umdom_osn_proekt12_koddostupa
Принципы составления программы описаны в соответствующем методическом пособии.
Проверка устройства в работе
Проверьте устройство на соответствие заданному алгоритму. Вводите код для открытия замка. Убедитесь, что засов открывается при верно введенных числах, и остается закрытым, если введен ошибочный код.
Написать отзыв
Ваше Имя:Ваш отзыв: Внимание: HTML не поддерживается! Используйте обычный текст.
Оценка: Плохо Хорошо
Введите код, указанный на картинке: