Печать

Кодовый замок с энкодером на Attiny2313

Опубликовано . Опубликовано в Устройства на AVR

Рейтинг:   / 18
ПлохоОтлично 

Для открытия этого замка нужно повернуть ручку энкодера на определенное количество шагов по часовой стрелке, потом на определенное количество шагов против часовой стрелки и еще раз  повернуть по часовой стрелке, реле включится и будет во включенном состоянии пока не будет повернут энкодер по часовой или против часовой стрелки. Устройство собрано на микроконтроллере Attiny2313 фирмы Atmel, который тактируется от внутреннего генератора частотой 128кГц, система слежения за питанием отключена. Количество шагов отображается на двухразрядном семисегментном индикаторе с общим анодом. В режиме ожидания индикатор не светится, а загорается как только будет повернут энкодер. Энкодер используется любой без кнопки.

Кодовый замок с энкодером на Attiny2313 - схема

При выключении питания запоминается состояние управляющего выхода микроконтроллера, если замок открыть и выключить питание, то при включении питания замок останется в открытом состоянии.

Программирование нового кода

Код состоит из трех частей по два разряда, формата ХХ-ХХ-ХХ. Чтобы запрограммировать код, который будет хранится в энергонезависимой памяти, нужно:

1. Повернуть ручку энкодера по часовой стрелке и выставить первую комбинацию кода, нажать на кнопку SB1, индикатор мигнет 1 раз;
2. Повернуть ручку энкодера против часовой стрелки и выставить вторую комбинацию кода, нажать на кнопку SB1, индикатор мигнет 2 раза;
3. Повернуть ручку энкодера по часовой стрелке и выставить третью комбинацию кода, нажать на кнопку SB1, индикатор мигнет 3 раза;
4. Устройство готово к работе с  новым кодом.

Источник: журнал Elektor

Файлы:
Файл прошивки микроконтроллера
Дата 20.07.2011 Размер файла 1.82 KB Закачек 2917

Комментарии  

0 #41 Dmitri 23.04.2015 20:13
А можно исходник пожалуйста?
Сообщить модератору
0 #42 AntonChip 23.04.2015 22:50
Цитирую Dmitri:
А можно исходник пожалуйста?

Положил в архив
Сообщить модератору
0 #43 Dmitri 23.04.2015 23:19
Спасибо!
Сообщить модератору
0 #44 Нурислам 28.06.2015 00:30
Здравствуйте!
Собрал схему, но не работает, при первом обороте по часовой стрелке,индикат ор мигает один раз, при втором обороте против часовой стрелке мигает два раза, как и описано, но вот при третьем обороте по часовой стрелке ни разу не мигает.Помогите пожалуйста, в чем может быть дело?
Сообщить модератору
0 #45 Makc_ 29.10.2015 06:09
2313а подойдет?
Сообщить модератору
0 #46 AntonChip 29.10.2015 06:22
Цитирую Makc_:
2313а подойдет?

Да, подойдет
Сообщить модератору
0 #47 Makc_ 02.11.2015 09:15
Меняю время в исходнике перестает автоматически выключатся. Там ничего переписывать не надо кроме цифры? А то я в программировани и полный ноль.
Сообщить модератору
0 #48 AntonChip 02.11.2015 09:27
Цитирую Makc_:
Меняю время в исходнике перестает автоматически выключатся. Там ничего переписывать не надо кроме цифры? А то я в программировании полный ноль.

Какое именно значение Вы меняете? Для чего?
Сообщить модератору
0 #49 Makc_ 02.11.2015 10:20
Время отключения замка, Много надо меньше
Сообщить модератору
0 #50 AntonChip 05.11.2015 14:24
Цитирую Makc_:
Время отключения замка, Много надо меньше

Необходимо поменять значение этой переменной, минимум 1
Код:unsigned char open_delay = 5; // Время на отключение замка
Сообщить модератору
0 #51 Makc_ 07.11.2015 10:33
Я его и менял просто по не понятной причине протеус отказывался нормально работать, на следующий день почему то симулятор все сделал как положено.
Сообщить модератору
0 #52 2GARIN 14.01.2016 21:20
все таки завел я эту шарманку....нуж но просто снизить контролируемо, скорость загрузки почти до минимума возможного. работает отлично. без глюков. :-*
Сообщить модератору
0 #53 kostian34 07.04.2016 23:16
еепром зашивать ннада?
Сообщить модератору

Рекомендуем посмотреть