на главную
Карта сайта
English version
Вы читаете:

Кодовый звонок

Охранные устройства
6 лет назад

Кодовый звонок с одной кнопкой на Arduino Pro Mini


Предлагаемый кодовый замок предназначен для установки в такие помещения, как лаборатория, офис, лестничная площадка в подъезде и т. д. Преимущество кодового замка с одной кнопкой от классического наборного поля в том, что его легче оформить в антивандальном исполнении (одна защищённая кнопка и два светодиода).

На страницах журнала "Радио" и в Интернете немало схем и конструкций кодовых замков, но большинство имеют наборное поле из кнопок с цифрами от 0 до 9 и некоторыми буквами. Планировалось сделать кодовый замок в антивандальном исполнении, но такое наборное поле самому изготовить непросто, а приобрести недёшево. Поэтому пришла идея сделать кодовый замок с одной кнопкой.

Схема устройства изображена на рис. 1, оно собрано на основе платы Arduino Pro Mini (подойдут и другие подобные модули - Uno, Nano и т. п.). Кнопка без фиксации SB1 "Ввод", два светодиода HL2, HL3 и акустический излучатель HA1 установлены в небольшом металлическом корпусе, закреплённом на двери. С помощью этой кнопки вводят код, который разделён на две части. Сначала в течение 1 с необходимо ввести первую часть кода. Продолжительность ввода части кода зависит от переменной time_for в скетче: чем больше чисел в коде, тем больше переменная. По умолчанию, в скетче эта переменная имеет значение 10, этого достаточно, чтобы сделать до четырёх нажатий на кнопку. После ввода первой части кода раздаётся звуковой сигнал частотой 1 кГц и вспыхивает светодиод HL3 красного свечения. Затем необходимо ввести вторую часть кода аналогично первой. Если обе части кода совпали с хранящимися в памяти микроконтроллера платы Arduino Pro Mini значениями, на выходе D11 появится напряжение высокого уровня, транзистор VT1 открывается, на электромагнит поступит питающее напряжение и он откроет замок на двери. При этом загорается светодиод HL2 зелёного свечения. Временной интервал, в течение которого на электромагнит поступает напряжение, задан переменной time_rele. Обычно, чтобы зайти в помещение и закрыть за собой дверь, хватает 4 с. Если коды не совпали, раздаются три коротких звуковых сигнала частотой 1 кГц, которые сопровождаются вспышками светодиода HL3.

Схема устройства

Рис. 1. Схема устройства

 

Чтобы запрограммировать новый код, надо нажать на кнопку SB4 "Код". При этом в течение 1 с раздаётся сигнал частотой 1 кГц и вспыхивает светодиод HL2, после чего нужно нажать на кнопку SB1 "Ввод" требуемое число раз (это первая часть кода). Далее опять звучит сигнал и снова вспыхивает светодиод HL2, после чего нажатиями на кнопку SB1 вводят вторую часть кода. После записи кода в память микроконтроллера прозвучит третий звуковой сигнал и будет третья вспышка светодиода HL2.

Установка продолжительности открывания электромагнита происходит после нажатия на кнопку SB3 "Время", при этом в течение 1 с звучит сигнал частотой 1 кГц и вспыхивают светодиоды HL2 и HL3. После этого нужно нажать на кнопку SB1 "Ввод" нужное число раз (одно нажатие соответствует 1 с). После записи информации в память микроконтроллера прозвучит сигнал и в течение 1 с вспыхнут оба светодиода.

Кнопка SB2 "Выйти" расположена внутри помещения на двери и служит для ручного открывания замка. При этом время подачи питания на электромагнит привязано к переменной time_rele в скетче.

Замок может работать с двумя типами исполнительных механизмов: электромагнитом (с номинальным напряжением 27 или 12 В) или с электроприводом дверных автомобильных замков (номинальное напряжение питания - 12 В, закрыть - прямое подключение, открыть - инверсное подключение напряжения). В первом случае будут не нужны элементы R8, R9, VT2, VT3,VD4, VD5, K2 и K3, во втором - исключают элементы R7, VT1, VD3 и K1.

Электропитание устройства осуществляется от сети 230 В. Источник питания собран на трансформаторе Т1, выпрямительном мосте VD1 и одном или двух интегральных стабилизаторах напряжения в зависимости от используемого исполнительного механизма.

Код скетча разделён на пять частей. Первая - проверка условия открывания замка, вторая - смена цифр кода, третья - выход из помещения, четвёртая - смена продолжительности включения реле, пятая - ввод цифр кода с кнопки "Ввод". На рис. 2 приведена часть скетча для обслуживания кнопок.

Часть скетча для обслуживания кнопок

Рис. 2. Часть скетча для обслуживания кнопок

 

Условие if (digital Read (KEY) == LOW) ждёт перепада напряжения с VCC до нуля (нажатие на кнопку), далее следует цикл for (int i=0;i<100;i++), который запускает ещё один опрос этой же кнопки на ввод и увеличение значения первой части кода. Временная задержка delay (300); введена, чтобы исключить влияние дребезга контактов кнопки.

Функция digital Write (LED_RED, HIGH); включает светодиод красного свечения, комбинация tone (BUZ, F_tone);, delay (100); и noTone (BUZ); включает звуковой сигнал на время 100 мс. Переменной F_tone в начале скетча можно установить желаемую частоту сигнала. Функция digitalWrite (LED_RED, LOW); выключает светодиод красного свечения. Функция EEPROM. write (addr_1, counter_ uslo-vie_2); записывает значение переменной counter_uslovie _2 (при смене кода) в ячейку addr_1 памяти микроконтроллера, функция uslovie_2 = EEPROM.read (addr_1); считывает данные из ячейки addr_1 и записывает их в переменную uslovie_2.

Замок содержит четыре основных узла. Первый - панель ввода и индикации (рис. 3), в которой установлены светодиоды HL2, HL3 и кнопка SB1. Он установлен на двери охраняемого помещения, его корпус - металлический. Первая часть корпуса закреплена на деревянной двери шурупами длиной 25 мм, на второй части установлены светодиоды HL2 и HL3, которые могут быть любыми маломощными соответствующего свечения, и кнопка SB1, её тип - К-3, ПКН4-1 (с круглой гайкой, которую при установке лучше посадить на краску). Для установки непосредственно на железную дверь подойдёт импортная антивандальная кнопка PBS-28C(B) или PBS-12. Защитные колпачки для светодиодов использованы от старой советской аппаратуры.

Панель ввода и индикации

Рис. 3. Панель ввода и индикации

 

Второй узел - блок управления (рис. 4 и рис. 5), который установлен на внутренней стороне двери. Для него использован пластмассовый корпус. Транзисторы КТ815А можно заменить транзисторами КТ961 (с любым буквенным индексом), BD165, TIP29. Охлаждение транзисторов не требуется, учитывая малое время нахождения в открытом состоянии (4.5 с) и многократный запас по току. Кнопка SB2 - ПКН6-1 или КМ1-1, кнопки SB3, SB4 - ПМ-2, МП-5, также подойдут любые импортные малогабаритные, так называемые тактовые кнопки (без фиксации). Диоды КД522Б можно заменить любыми маломощными выпрямительными или импульсными, например, серий Д220, КД503, 1N4148.

Блок управления (внешний вид)

Рис. 4. Блок управления (внешний вид)

 

Блок управления с открытым корпусом

Рис. 5. Блок управления с открытым корпусом

 

Кнопки SB4 "Код" (обозначена на рис. 4 буквой К) и SB3 "Время" (обозначена на рис. 4 буквой Т) защищены от случайного нажатия. Для этого они расположены внутри корпуса за отверстиями диаметром 1...2 мм. Чтобы нажать на их толкатели, потребуется тонкий предмет, например, карандаш, скрепка или спичка. Для повышения помехозащищённости контакты каждой кнопки SB1-SB4 желательно зашунти-ровать плёночным или керамическим конденсатором (на схеме не показаны) любого типа ёмкостью 0,1...0,33 мкФ.

Третий узел - источник питания (рис. 6). Он собран в пластмассовом корпусе произвольного размера с учётом размеров трансформатора Т1. На стенках корпуса установлены светодиод HL1, резистор R5, держатель плавкой вставки и выключатель питания. Трансформатор Т1 должен быть мощностью не менее 36 ВА с напряжением вторичной обмотки 19...20 В. Тип реле зависит от исполнительного механизма. Для управления электромагнитом достаточно реле с одной контактной группой на замыкание с номинальным напряжением 5 В или 12 В. Для управления электроприводом потребуются двареле с двумя группами контактов на замыкание, так же на напряжение 5 или 12 В.

Источник питания устройства

Рис. 6. Источник питания устройства

 

Стабилизаторы напряжения DA1, DA2 могут быть других типов, с допустимым выходным током не менее 1,5 А. Если в качестве исполнительного механизма планируется применить электромагнит с номинальным напряжением 27 В, от стабилизатора напряжения +12 В можно отказаться, оставив стабилизатор напряжения +5 В. В этом случае микросхема DA2 должна быть рассчитана на входное напряжение не менее 30 В, а номинальное напряжение реле - 5 или 27 В. Диодный мост VD1 может быть любым на ток до 2 А и обратным напряжением не менее 100 В.

В авторском варианте применён самодельный электромагнит (рис. 7) на напряжение 27 В с сопротивлением обмотки 40 Ом, хотя подойдёт любой на напряжение 27 или 12 В, с силой втягивания, достаточной для открывания дверной щеколды. В авторском варианте электромагнит закреплён на двери, хотя может быть установлен на стене или дверной коробке.

Электромагнит

Рис. 7. Электромагнит

 

Монтаж устройства выполнен на макетных платах с применением навесного проводного монтажа. Часть деталей установленанавыводахдругихэле-ментов. Соединение узлов между собой выполнено экранированными проводами, при этом можно применить любые разъёмы, рассчитанные на соответствующий ток. Экраны проводов соединяют с минусовой линией питания. Например, между источником питания и блоком управления контакты разъёма должны быть рассчитаны на ток до 1,5 А, а для соединения панели ввода и блока управления подойдёт любой малогабаритный разъём. При удалении кнопки SB1 и светодиодов HL2, HL3 на расстояние более 100 мм их провода следует поместить в общий экран, который необходимо соединить с минусовой линией питания, при этом резистор R1 следует располагать рядом с платой Arduino, а не на кнопке SB1.

Замок можно усовершенствовать, введя функцию автоматического открывания двери. Для этого в блок управления, расположенный на внутренней стороне двери, дополнительно устанавливают ультразвуковой дальномер HC-SR04 под некоторым углом к ручке для открывания двери (рис. 8). При приближении руки к ручке двери замок будет открываться автоматически. Дальность срабатывания - 100...200 мм. В этом случае ультразвуковой дальномер подключают к плате Arduino Pro Mini четырьмя проводами: Ucc - к линии питания +5 B; Trig - к контакту А1; Echo - к контакту А0; Gnd - к общему проводу. В Arduino Pro Mini загружают соответствующий скетч. Предварительно опытным путём определяется расстояние, при котором датчик не будет срабатывать в обычном состоянии. Измеренное расстояние в сантиметрах вносят в переменную int UZD_cm = 10;. Когда человек подносит руку к ручке двери, расстояние от датчика до руки становится меньше 10 см и замок открывается.

Устройство в работе

Рис. 8. Устройство в работе

 

Варианты скетчей для разных вариантов конструкции замка на Arduino Pro Mini находятся здесь.

Автор: А. Беозеров, г. Омск