Запрошуємо, Гість
Ім'я користувача: Пароль: Запам’ятати мене

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

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

  • yumot
  • yumot аватар
  • Оффлайн
  • I go sometimes
  • Дописи: 70
  • Подякували: 14
Здравствуйте 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 live here
  • Дописи: 470
  • Подякували: 28
  • sxem.org Sponsor 2019
4 цифры все-же маловато и почему именно PIK а не AVR?
Останнє редагування: 24 черв. 2017 21:53 від Sergey9301.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • yumot
  • yumot аватар
  • Оффлайн
  • I go sometimes
  • Дописи: 70
  • Подякували: 14
С учётом возможности использования одной кнопки несколько раз, число комбинаций на много увеличивается. Просто пиков у меня несколько штук, но это не принципиально, можно и на AVRе.
Останнє редагування: 24 черв. 2017 21:57 від yumot.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Sergey9301
  • Sergey9301 аватар
  • Оффлайн
  • I live here
  • Дописи: 470
  • Подякували: 28
  • sxem.org Sponsor 2019
по количеству знаков должно быть ограничение, те 5ти-10ти-20ти значная цифра кода
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
А в какой момент программа должна определить ошибку кода? При первой же ошибочной цифре? Тогда такой замок открывается в течении 2-х минут.
В какой момент программа должна понимать, что ввод кода завершен, автоматически, если код верный? Тоже снижает надежность...

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

В схеме резисторы R1-R6 лишние.
Останнє редагування: 25 черв. 2017 06:40 від Soir.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: yumot

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

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Светодиоды D1 и D2 не имеют других функций, только повторяют выходы на реле? Может тогда и просто перенести на выводы реле?
Или можно придать им более расширенный функционал. Например, светодиод OPEN. В режиме ожидания он постоянно выключен. При наборе дублирует озвучку нажатия кнопок. При успешном вводе кода включается на время открытия замка. При ошибке дублирует звук. После пяти неудачных попыток мигает с частотой 2-5 Гц в течении 15 сек.
Останнє редагування: 25 черв. 2017 08:53 від Soir.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: yumot

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

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
yumot пише:
Да, светодиод D2 по сути дублирует работу реле RL1, его переносим на него
Тогда предлагаю новую кнопку перенести вместо этого светодиода, или к ней нужно ставить резистор на +5V.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: yumot

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

  • yumot
  • yumot аватар
  • Оффлайн
  • I go sometimes
  • Дописи: 70
  • Подякували: 14
Согласен, кнопку перенёс на место светодиода D2

Вкладений файл:

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Если Вам все равно, то немного выводы переназначил. Но если для удобства разработки печатной платы нужно по-другому - пишите.
Светодиод замка можно, как у Вас, возможен вариант как у меня, без разницы с точки зрения прошивки.
По схеме должны быть еще диоды параллельно обмоткам реле.

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

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

  • Vakula
  • Vakula аватар
  • онлайн
  • Moderator
  • ich bin Ukrainian
  • Дописи: 1665
  • Подякували: 373
  • sxem.org Sponsor 2019, 2022 ukraine-medal Author
А теж саме на AVR можна? Було б добре. Тай можливо трохи підточити алгоритм.
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
yumot пише:
Почему то не звучит буззер, хотя состояние вывода 18 меняется.Может протеус барахлит.
Он не барахлит, буззер не настроен.
yumot пише:
Не много не правильно работает ошибка набора кода
Исправил, проверьте. Прошивку перезалил.

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

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

  • yumot
  • yumot аватар
  • Оффлайн
  • I go sometimes
  • Дописи: 70
  • Подякували: 14
Погонял в протеусе всё работает правильно. Единственно хотелось бы что бы светодиод D1 при ошибочном наборе кода, внутри пяти попыток, не мигал, а горел постоянно пока идут звуковые сигналы. В остальном всё отлично!
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Обновил прошивку.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: yumot

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

  • yumot
  • yumot аватар
  • Оффлайн
  • I go sometimes
  • Дописи: 70
  • Подякували: 14
Теперь всё хорошо, как и хотелось! Ещё раз огромное спасибо!
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Sergey9301
  • Sergey9301 аватар
  • Оффлайн
  • I live here
  • Дописи: 470
  • Подякували: 28
  • sxem.org Sponsor 2019
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
  • Дописи: 70
  • Подякували: 14
Собрал в железе, потестировал, всё работает замечательно! Уважаемый Soir у меня к Вам просьба, уменьшите пожалуйста длительность звуковых сигналов при нажатии кнопок в 2 раза. В остальном всё хорошо.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Сделал 0,2 сек.
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: yumot, vova0129

Электронный кодовый замок 23 лист. 2018 17:09 #21

  • ikoctik
  • ikoctik аватар
  • Оффлайн
  • Harness is online
  • Дописи: 21
Мої вітання всім. Шановний Soir чи не будете Ви так ласкаві підкорегувати прошивку так, щоб вихід ALARM працював як другий канал. Наприклад при наборі коду 1234 спрацювло реле 1, а при наборі 4321 спрацьовувало реле 2, в планах використовувати для відкриття хвіртки та воріт. Дякую.
Останнє редагування: 23 лист. 2018 17:37 від ikoctik.
Увійдіть до облікового запису, щоб писати повідомлення.

Электронный кодовый замок 23 лист. 2018 18:22 #22

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Проект и прошивка в архиве.
Программирование кодов поочередное: Светодиод включен постоянно - 1-ый канал, мигает - 2-ой.

Если нужно как-то по-другому - описывайте подробно всю работу: программирование, индикацию, алгоритм открывания и т.д...
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.

Электронный кодовый замок 24 лист. 2018 08:22 #23

  • ikoctik
  • ikoctik аватар
  • Оффлайн
  • Harness is online
  • Дописи: 21
Не могли б Ви ще зменшити час утримання реле 2 до 1 сек, та вивести підтвердження спрацювання реле через бузер? Дякую.
Увійдіть до облікового запису, щоб писати повідомлення.

Электронный кодовый замок 24 лист. 2018 09:21 #24

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13458
  • Подякували: 5126
  • sxem.org 2019,2021 Respect Author
Сделал.
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: ikoctik
Модератори: wolf2000, Soir, Vakula, Айнцвайдрайченко