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

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

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

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

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

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

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


Архив для статьи " Кодовый замок с энкодером на Attiny2313"
Описание: Файл прошивки микроконтроллера
Размер файла: 1.82 KB Количество загрузок: 5 026 Download

Комментарии  
-1
Обновите архив для скачивания

Цитирую Kirill:

Обновите архив для скачивания


сейчас скачивал папка серво в архиве
сейчас скачивал папка серво в архиве ОТСУТСТВУЕТ! В чём может быть причина?

Цитирую Kirill:

сейчас скачивал папка серво в архиве ОТСУТСТВУЕТ! В чём может быть причина?


Очистите кеш браузера, скачайте заново, могу скинуть вам на почту файлы
Доброго времени суток. Собрал в железе с SG90. Поведение следующее: после введения правильного кода привод отрабатывает нормально, после закрытия серво отрабатывает и у МК "уплывают мозги" пока не сбросишь питание. На энкодер не реагирует. И ещё, когда подключен сервопривод к 15 ноге МК кнопка запоминания кода не срабатывает, МК тупо зависает пока не снимешь питание.
Проблема с зависанием решилась включением внешнего кварца на 4МГц и установкой фьюз
HB=DF, LB=E6
-1
Подскажите пожалуйста, каким образом можно изменить код, чтобы данное устройство работало от 1 МГц

Цитирую Phoenix:

Подскажите пожалуйста, каким образом можно изменить код, чтобы данное устройство работало от 1 МГц


можно просто скомпилировать проект по частоту 1Мгц, схема должна работать без изменений в коде
Спасибо AntonChip! Подскажите еще пожалуйста каким образом дребезг контактов устраняется в коде? Ведь нет никаких delay-ев в обработчиках кнопки и энкодера :o кроме вот этой страшной строчки

Код:

EIFR = 1<<PCIF; // clear any pending pin change interrupts (contact debouce)


Цитирую Phoenix:

Спасибо AntonChip! Подскажите еще пожалуйста каким образом дребезг контактов устраняется в коде? Ведь нет никаких delay-ев в обработчиках кнопки и энкодера :o кроме вот этой страшной строчки

Код:

EIFR = 1<<PCIF; // clear any pending pin change interrupts (contact debouce)



Обработка нажатия кнопки происходит по внешнему прерыванию, флаг PCIF указывает на то что прерывание выполняется, этой строчкой принудительно сбрасываем этот флаг тем самым говоря контроллеру что обработка кода прошла и выходим из обработчика прерываний, это можно назвать защитой от дребезга
подскажите пожалуйста кто уже сделал этот кодовый замок на тини но с дудкой. Может схему меняли или прошивку, отпишите почту или ссылку ВК инсту, у меня нечего не выходит что бы я не делал, я все коменты учел но все равно не выходит. Хелп, очень нада
Здравствуйте решил собрать кодовый замок можно спросить скинуть печатную плату в формате lay заранее спасибо

Цитирую serz1985:

Здравствуйте решил собрать кодовый замок можно спросить скинуть печатную плату в формате lay заранее спасибо


В архиве печатка в PDF формате
Здравствуйте.
Вопрос к Автору.
Не стабильно работает прошивка "импульс ОА" , при программировании кода с переходом через ноль , почти всегда не открывает, еще бы скидывать показания на ноль , что бы не показывать последний код.
+1
Добрый вечер, а не могли бы подсказать размер платы?
Автор если тема жива проверь импульсный режим после компиляции в  AVRStudio4 на задержку включения к примеру 1 сек или другое значения. При правильно введённом  пароли на PD6 появляется 1 по истечению времени состояния PD6 не меняется, когда повернёшь ручку энкодера PD6=0, почему так? 
Проверил данный момент, все работает, что 1 сек. что и 10 сек.
Спасибо буду разбираться что не так
Связка AvrStudio4+toolchain решил мой вопрос почему-то с WinAVR компилирует без ошибок но в железе не работает как надо, поставил 0.5 сек на открытие замка работает замечательно, спасибо автор за труды.
Эиком - электронные компоненты и радиодетали