Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Электронный кодовый замок

Электронный кодовый замок 24 июнь 2017 11:43 #1

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Здравствуйте Soir!
Потребовалось на работе установить электронный кодовый замок. Если есть возможность, прошу помощи в написании прошивки для данного устройства.

Т.З.
При подаче питания замок находится в режиме ожидания ввода заранее запрограммированного кода. Код вводится посредством кнопок 1, 2, 3, 4. При каждом нажатии кнопки раздаётся звуковой сигнал длительностью 0,5сек. Если код набран правильно, включается реле RL1 и светодиод D2, на время 4сек. Если код введён не правильно, включается светодиод D1 и раздаётся звуковой сигнал – 5 раз по 0,5сек. затем светодиод гаснет. Если код 5 раз введён не правильно, включается реле RL2 и начинает мигать (0,5сек) светодиод D1, на время 15сек. Кнопки 1, 2, 3, 4 блокируются. По истечении 15 секунд замок возвращается в режим ожидания. Кнопка Open предназначена для открытия двери изнутри, при нажатии включается реле RL1 на время 4 секунды.

Программирование кода.
При нажатии кнопки Prog, зажигается светодиод D3 и замок переходит в режим программирования кода. С помощью кнопок 1, 2, 3, 4 набираем код, регистрируется от 1 до 10 нажатий, причём, одну и ту же кнопку можно использовать несколько раз (если такое возможно). При каждом нажатии кнопки раздаётся звуковой сигнал длительностью 0,5сек. После ввода кода опять нажимаем кнопку Prog, светодиод D3 гаснет и замок переходит в режим ожидания. Если нажать кнопку Prog, ничего не вводить и опять её нажать, в памяти остаётся предыдущий код.
Постарался ничего не упустить. Спасибо. С уважением.

Вложенный файл:

Имя файла: Zamok.rar
Размер файла:14 KB
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 24 июнь 2017 21:51 #2

  • Sergey9301
  • Sergey9301 аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 245
  • Спасибо получено: 13
4 цифры все-же маловато и почему именно PIK а не AVR?
Последнее редактирование: 24 июнь 2017 21:53 от Sergey9301.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 24 июнь 2017 21:54 #3

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
С учётом возможности использования одной кнопки несколько раз, число комбинаций на много увеличивается. Просто пиков у меня несколько штук, но это не принципиально, можно и на AVRе.
Последнее редактирование: 24 июнь 2017 21:57 от yumot.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 24 июнь 2017 22:10 #4

  • Sergey9301
  • Sergey9301 аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 245
  • Спасибо получено: 13
по количеству знаков должно быть ограничение, те 5ти-10ти-20ти значная цифра кода
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 06:38 #5

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
А в какой момент программа должна определить ошибку кода? При первой же ошибочной цифре? Тогда такой замок открывается в течении 2-х минут.
В какой момент программа должна понимать, что ввод кода завершен, автоматически, если код верный? Тоже снижает надежность...

Должно быть что-то вроде такого алгоритма:
При программировании задается любая комбинация произвольной длины.
Чтобы открыть замок снаружи, нужно набрать правильный код и нажать дополнительную кнопку. Обрабатывать код программа будет только после нажатия этой кнопки. Если подтверждения ввода кода нет (дополнительная кнопка не нажата, большая пауза в наборе...), тогда программа или сбрасывает набор, или засчитывает ошибку.

В схеме резисторы R1-R6 лишние.
Последнее редактирование: 25 июнь 2017 06:40 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot

Электронный кодовый замок 25 июнь 2017 07:59 #6

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Вы правы, не додумал. Схему изменил, добавил кнопку 5 подтверждающую ввод кода. Так как злоумышленник об этом знать не будет секретность замка ещё больше увеличится (мне так кажется). Можно даже установить её между остальными кнопками, что ещё больше усложнит задачу взломщику. Если подтверждающая кнопка не нажата, то через 5 секунд после последнего нажатия программа засчитывает ошибку.
Вложения:
Последнее редактирование: 25 июнь 2017 08:26 от yumot.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 08:52 #7

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
Светодиоды D1 и D2 не имеют других функций, только повторяют выходы на реле? Может тогда и просто перенести на выводы реле?
Или можно придать им более расширенный функционал. Например, светодиод OPEN. В режиме ожидания он постоянно выключен. При наборе дублирует озвучку нажатия кнопок. При успешном вводе кода включается на время открытия замка. При ошибке дублирует звук. После пяти неудачных попыток мигает с частотой 2-5 Гц в течении 15 сек.
Последнее редактирование: 25 июнь 2017 08:53 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot

Электронный кодовый замок 25 июнь 2017 09:23 #8

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Да, светодиод D2 по сути дублирует работу реле RL1, его переносим на него, а светодиод D1 работает так:если код набран не правильно, от 1 до 5 попытки, горит постоянно в течении времени звукового сигнала(5 раз по 0,5сек), а после 5 попытки начинает мигать в течении 15сек пока включено RL2. Звуковой сигнал при этом не нужен так как,возможно, включится наружная сигнализация и пойдёт сигнал на пост охраны. И будет понятно(по индикации D1) что произошла не просто ошибка набора кода, а включен сигнал тревоги.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 09:29 #9

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
yumot пишет:
Да, светодиод D2 по сути дублирует работу реле RL1, его переносим на него
Тогда предлагаю новую кнопку перенести вместо этого светодиода, или к ней нужно ставить резистор на +5V.
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot

Электронный кодовый замок 25 июнь 2017 09:36 #10

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Согласен, кнопку перенёс на место светодиода D2

Вложенный файл:

Имя файла: Zamok-2-3.rar
Размер файла:14 KB
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 10:13 #11

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
Если Вам все равно, то немного выводы переназначил. Но если для удобства разработки печатной платы нужно по-другому - пишите.
Светодиод замка можно, как у Вас, возможен вариант как у меня, без разницы с точки зрения прошивки.
По схеме должны быть еще диоды параллельно обмоткам реле.

Прошивку написал, но может что упустил - тестируйте. Длина кода должна быть не более 20 знаков.
Вложения:
Последнее редактирование: 25 июнь 2017 17:15 от Soir. Причина: Обновление прошивки.
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot

Электронный кодовый замок 25 июнь 2017 10:44 #12

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 895
  • Спасибо получено: 100
А теж саме на AVR можна? Було б добре. Тай можливо трохи підточити алгоритм.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 10:52 #13

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Протестировал. Почему то не звучит буззер, хотя состояние вывода 18 меняется.Может протеус барахлит. Не много не правильно работает ошибка набора кода (внутри пяти попыток). Надо что бы звуковой сигнал прозвучал 5 раз(по 0,5сек) а D1 горел всё это время. И ещё просьба увеличить время бездействия в режиме программирования кода до 10 секунд.В остальном всё работает правильно и всё устраивает.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 11:37 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
yumot пишет:
Почему то не звучит буззер, хотя состояние вывода 18 меняется.Может протеус барахлит.
Он не барахлит, буззер не настроен.
yumot пишет:
Не много не правильно работает ошибка набора кода
Исправил, проверьте. Прошивку перезалил.

Vakula пишет:
Тай можливо трохи підточити алгоритм.
Точите, посмотрю...
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot, Vakula

Электронный кодовый замок 25 июнь 2017 14:32 #15

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Погонял в протеусе всё работает правильно. Единственно хотелось бы что бы светодиод D1 при ошибочном наборе кода, внутри пяти попыток, не мигал, а горел постоянно пока идут звуковые сигналы. В остальном всё отлично!
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 25 июнь 2017 17:16 #16

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
Обновил прошивку.
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot

Электронный кодовый замок 25 июнь 2017 17:50 #17

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Теперь всё хорошо, как и хотелось! Ещё раз огромное спасибо!
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 26 июнь 2017 20:33 #18

  • Sergey9301
  • Sergey9301 аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 245
  • Спасибо получено: 13
Vakula пишет:
А теж саме на AVR можна? Було б добре. Тай
на AVR и мне интересно, кнопок лучшеб 5 и хотелось бы прикурутить https:aliexpress.com/item/Free-Shipping-1-pcs-SG90-9g-Mini-Micro-Servo-for-RC-for-RC-250-450-Helicopter, лежит давненько никак руки не дойдут
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 01 июль 2017 22:06 #19

  • yumot
  • yumot аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 41
  • Спасибо получено: 5
Собрал в железе, потестировал, всё работает замечательно! Уважаемый Soir у меня к Вам просьба, уменьшите пожалуйста длительность звуковых сигналов при нажатии кнопок в 2 раза. В остальном всё хорошо.
Администратор запретил публиковать записи гостям.

Электронный кодовый замок 02 июль 2017 06:42 #20

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 5844
  • Спасибо получено: 2047
Сделал 0,2 сек.
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: yumot
Модераторы: wolf2000, Vakula, Айнцвайдрайченко