Кодовий замок з Ардуїно. Розумний електронний замок на Ардуїно, що працює по Bluetooth - вхідні двері як у Спайдермена Код представлений нижче

13.04.2022

У цьому уроці ми навчимося робити просту систему, яка відпиратиме замок по електронному ключу (Мітці).

Надалі Ви можете доопрацювати та розширити функціонал. Наприклад, додати функцію "додавання нових ключів та видалення їх із пам'яті". У базовому випадку розглянемо простий приклад, коли унікальний ідентифікатор ключа задається в коді програми.

У цьому уроці нам знадобиться:

Для реалізації проекту нам необхідно встановити бібліотеки:

2) Тепер потрібно підключити Зумер, який подаватиме сигнал, якщо ключ спрацював і замок відкривається, а другий сигнал, коли замок закривається.

Зумер підключаємо в наступній послідовності:

Arduino Зумер
5V VCC
GND GND
pin 5 IO

3) У ролі механізму, що відмикає, буде використовуватися сервопривід. Сервопривід може бути обраний будь-який, залежно від необхідних розмірів і зусиль, який створює сервопривід. Сервопривод має 3 контакти:

Більше наочно Ви можете подивитися, як ми підключили всі модулі на малюнку нижче:

Тепер, якщо все підключено, можна переходити до програмування.

Скетч:

#include #include #include //Бібліотека "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; // для зберігання номера мітки у десятковому форматі Servo servo; void setup() ( Serial.begin(9600); Serial.println("Waiting for card..."); SPI.begin(); // ініціалізація SPI / Init SPI bus. mfrc522.PCD_Init(); // ініціалізація MFRC522 / Init MFRC522 card. servo.attach(6); ) // Вибір мітки if (! mfrc522.PICC_ReadCardSerial()) ( return; ) uidDec = 0; // Видача серійного номера мітки.< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

Розберемо скетч детальніше:

Для того, щоб дізнатися UID картки (Мітки), необхідно записати цей скетч в arduino, зібрати схему, викладену вище, і відкрити Консоль (Моніторинг послідовного порту). Коли піднесете мітку до RFID, у консолі виведеться номер

Отриманий UID необхідно ввести в наступний рядок:

If (uidDec == 3763966293) // Порівнюємо Uid мітки, якщо він дорівнює заданому то сервопривід відкриває засувку.

У кожної картки цей ідентифікатор унікальний і не повторюється. Таким чином, коли ви піднесете картку, ідентифікатор якої ви задали в програмі, система відкриє доступ за допомогою сервоприводу.

Відео:

ДАЧА у мене, як і у більшості у кого вона є асоціюється зі словами: відпочинок, шашлик, комфорт та інші приємні духу та тілу руху, але є й зворотний бік: город, копати, ремонт, будівництво тощо.

Протягом 10 років ми з сім'єю намагаємось облагородити та створити максимальний комфорт на нашій дачі. Будуємо, ремонтуємо тощо. Будинок, сарай, лазня…..і нарешті справа дійшла до вуличного паркану, хвіртки та воріт. Робити так на совість, бюджет та зручність.

Після обговорення деяких деталей було прийнято, що ворота повинні бути відкатні на автоматиці та хвіртка володіти деякими властивостями СКУД. З воротами питання було вирішено купівлею комплекту автоматики (привід, рейка, пульт і т.д.), а з хвірткою потрібно було вирішити деякі завдання, про них нижче.

Завдання були такі:

  1. Замок мав працювати спільно з раніше встановленим відео домофоном (відчинити хвіртку не виходячи з дому)
  2. Мати можливість відкриття дверей звичайним ключем та без ключа з вулиці та двору.
  3. Вкладеться в бюджет до 5000 р., що залишився.

Пошуки в рунеті представили наступний діапазон цін від 7000 до нескінченності. Купівля готового рішення відпала і була задумана альтернатива з широкими можливостями, а саме, запиляти двері самому!

Після деяких підрахунків і обчислень було прийнято купити електромеханічний замок близько 2000р., вологозахищеної клавіатури 350р., ну і МК, який тут рулюватиме. Так як в наявності було кілька плат Arduino nano, реле та розсипуху та трохи проводів, різниця між вартістю готового комплекту склала більше 4000 т.р. На мене, чудовий бонус для гаманця та саморозвитку.

Ну що ж, а тепер від слів до дії:

Після придбання всіх необхідних компонентів почав пиляти.

Схема підключення клавіатури

Додаткова індикація світлодіодів (білий, зелений, червоний) панелі з клавіатурою сигналізує (введення, правильний пароль, відкрити двері, відмовлено).

  • pin 9 жовтий
  • pin 10 зелений
  • pin 11 червоний

Панель (решітка) з оргскла, нарізали за коробку цукерок та посмішку сусіди по офісу. Але фреза найменша виявилася трохи жирнішою, довелося попрацювати надфілем.

Ну ось і вихідні, я висунувся на дачу.

Для відкриття електромеханічного замку, потрібно 12 ст. Блок живлення, що живить МК був 5 ст., Рішення поставити підвищує DC-DC перетворювач з піднебесної для замку. Все підключив почав перевіряти, чи працює, але при подачі напруги на соленоїд замку дуня перезавантажувалася, кз на блок живлення. Далі більше, після підключення панелі виклику від відео домофона до замку, при натисканні кнопки відчинити двері не чого не відбувалося, малий струм на замок. Тягнути нові дроти не варіант, були вже забетоновані на виході з дому. Вирішив додати ще одне реле для панелі та поставити додатковий блок живлення на 12 ст. для замку. Після розбору/збору все запрацювало, МК перестав перезавантажуватися. Усю цю справу сховав у вологозахищену розпаювальну коробку, сховав дроти, клей, силікон і готове!

Уявляю дверний замок, керований радіочастотним ключем.

Працює замок так: Піднесли НАШ ключ (RFID-мітка) – замок закрився, піднесли ключ повторно – замок відкрився. Для візуалізації роботи замку використано шість двоколірних світлодіодів (лінійка). При закритті – пробігає червоне світло, при відкритті – зелене. Якщо піднести ЧУЖИЙ ключ, мигнуть червоні світлодіоди.

Як виконавчий механізм вирішив використовувати привід центрального замку автомобіля. Можна купити новий, можна б/в, різниця в ціні не велика, тому використовував новий, він і надійніший. Шток приводу з'єднав зі шпінгалетом. Шпінгалет ще радянський, міцний. Та й потужної "антивандальності" мені не потрібно.

"Машинка" керується двома проводами. Одна полярність висуває шток, зворотна полярність втягує шток. При напрузі 12 вольт, струм становить 6 ампер, багато...
У "машинці" немає кінцевих вимикачів.

Виходячи з того, що схема замку (за задумом) має гарантоване живлення, акумулятор 12 вольт, для забезпечення роботи замку, у разі зникнення ~220 . Розробив бруківку схему управління "машинкою". Особливою фішкою схеми є її нелінійність, що забезпечує надійну роботу механізму замку, і водночас – щадний режим роботи "машинки" та ключових транзисторів.

На схемі (вище) плече "Закрити" виділено червоним кольором, а плече "Відкрити" - зеленим. Плечі харчуються окремо, через резистори (перебувають у блоці живлення). Розподіл живлення плечей моста, ввів для виключення помилкових спрацьовувань.

Пояснення: Через резистори 33 Ом (на схемі блоку живлення), напруга 12 вольт заряджає конденсатори (по 2000 -мкф, у кожному плечі). При надходженні керуючого напруга від контролера Arduino_ProMini- 168 на вхід "Закрити" (або аналогічно на "Відкрити") через оптопару PVT322 - відкривається відповідне плече ключів. При цьому відбувається наступне: У момент відкриття ключів, енергія з конденсаторів потужно "смикає" моторчик "машинки". У міру розряду конденсаторів (це відбувається швидко) двигун "машинки" живиться струмом обмеженим резисторами (33-Ом). Завдяки цьому, наприкінці процесу "закриття"-"відкриття" замку, шток рухається досить повільно.

Такий спосіб керування двигуном є оптимальним.

Схема блоку живлення трансформаторна. Взагалі, схема замку живиться від акумулятора 12-вольт, 2,8-А/год. А схема БП підтримує акумулятор на номінальному рівні. Світлодіод "Мережа" вказує на нормальну роботу блоку живлення.

Всі діоди 1N4007 (забув вказати на схемі, а людина поставила питання - які?).

(1) зібрано обмежувач максимального струму. Резистором R 1 верхній поріг струму встановлений 300-мА.
На інтегральному стабілізаторі LM317 (2) зібрано стабілізатор напруги. Напруга стабілізації налаштовується резисторомR 2 . Напруга на акумуляторі повинна бути 13,7 -вольта.

Напруга з акумулятора подається в три точки.
Через резистори (по 33-Ом) на (X), (Y) - живлення плечей ключів "драйвера" двигуна "машинки".

Більшість своїх пристроїв збираю з того, що потрапило під руку. Цей проект не є винятком. Як корпус використовую корпус:) від електронного баласту:

Світлодіоди №-2...№-7 – двоколірні. Вони розташовані в лінії. Використовуються для візуалізації процесів "відкриття" та "закриття" замка. Прикрашання.

Прогрес не стоїть на місці і "Розумні замки" все частіше з'являються на дверях квартир, гаражів та будинків.

Відкривається подібний замок під час натискання на кнопку на смартфоні. Благо, смартфони та планшети вже увійшли до нашого побуту. У деяких випадках "розумні замки" підключають до "хмарних сервісів" на кшталт гугл диска і відкривають віддалено. Крім того, подібний варіант дає можливість надавати доступ до відкриття дверей іншим людям.

У цьому проекті буде реалізовано DIY версію розумного замку на Arduino, керувати яким можна віддалено з будь-якої точки Землі.

Крім того, до проекту додано можливість відкривати замок після впізнання відбитка пальця. Для цього буде інтегровано датчик відбитка пальця. Обидва варіанти відкриття дверей працюватимуть на базі Adafruit IO платформи.

Подібний замок може стати відмінним першим кроком у проекті вашого "Розумного дому".

Налаштування датчика відбитка пальця

Для роботи з датчиком відбитка пальців є чудова бібліотека для Arduino, яка значно полегшує процес налаштування датчика. У цьому проекті використається Arduino Uno. Для підключення до Інтернету використовується плата Adafruit CC3000.

Почнемо з підключення живлення:

  • Підключіть контакт 5V із плати Arduino до червоної рейки живлення;
  • Контакт GND з Arduino підключається до синьої рейки на безпайковій монтажній платі.

Переходимо до підключення датчика відбитка пальця:

  • Спочатку підключіть живлення. Для цього червоний провід з'єднується з рейкою +5 V, а чорний з рейкою GND;
  • Білий провід датчика підключається до контакту 4 Arduino.
  • Зелений провід йде до контакту 3 мікроконтролера.

Тепер займемося модулем CC3000:

  • Контакт IRQ з плати CC3000 підключаємо до піну 2 на Arduino.
  • VBAT – до контакту 5.
  • CS – до контакту 10.
  • Після цього треба підключити SPI контакти Arduino: MOSI, MISO і CLK - до контактів 11, 12 і 13 відповідно.

Ну і в кінці треба забезпечити харчування: Vin – до Arduino 5V (червона рейка на вашій монтажній платі), а GND – до GND (синя рейка на макетці).

Фотографію повністю зібраного проекту показано нижче:

Перед розробкою скетчу, який підвантажуватиме дані на Adafruit IO, треба передати дані про ваш відбиток пальця сенсору. Інакше надалі він вас не впізнає;). Рекомендуємо відкалібрувати датчик відбитка пальця, використовуючи Arduino окремо. Якщо ви працюєте з цим сенсором вперше, рекомендуємо ознайомитися з процесом калібрування та детальною інструкцією щодо роботи з датчиком відбитка пальця.

Якщо ви ще не зробили цього, заведіть обліковий запис на Adafruit IO .

Після цього можемо перейти до наступного етапу розробки "розумного замку" на Arduino: а саме, розробка скетчу, який передаватиме дані на Adafruit IO. Так як програма досить об'ємна, у статті ми виділимо та розглянемо тільки її основні частини, а потім дамо посилання на GitHub, де ви зможете завантажити повний скетч.

Скетч починається з підвантаження всіх необхідних бібліотек:

#include

#include

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#include

#include >

Після цього треба трохи підкоригувати скетч, вставивши параметри вашої WiFi мережі, вказавши SSID та пароль (password):

#define WLAN_SECURITY WLAN_SEC_WPA2>

Крім цього, необхідно ввести ім'я та AIO ключ (key) для входу до вашого облікового запису Adafruit IO:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_ім'я"

#define AIO_KEY "adafruit_io_ключ">

Наступні рядки відповідають за взаємодію та обробку даних з датчика відбитка пальця. Якщо датчик був активований (відбиток збігся), буде "1":

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/feeds/fingerprint";

Adafruit_MQTT_Publish fingerprint = Adafruit_MQTT_Publish(&mqtt, FINGERPRINT_FEED);

Крім того, потрібно створити екземпляр об'єкта SoftwareSerial для нашого сенсора:

SoftwareSerial mySerial(3, 4);

Після цього ми можемо створити об'єкт для нашого сенсора:

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

Усередині скетчу ми вказуємо який fingerID повинен активувати замок надалі. У цьому прикладі використовується 0, який відповідає ID першого відбитка пальців, який використовується датчиком:

int fingerID = 0;

Після цього ініціалізуємо лічильник та затримку (delay) у нашому проекті. По суті, ми хочемо, щоб замок автоматично спрацьовував після відкриття. У цьому прикладі використовується затримка в 10 секунд, але ви можете підлаштувати це значення під власні потреби:

int activationCounter = 0;

int lastActivation = 0;

int activationTime = 10*1000;

У тілі функції setup() ми ініціалізуємо датчик відбитка пальців та забезпечуємо підключення чіпа CC3000 до вашої мережі WiFi.

У тілі функції loop() підключаємось до Adafruit IO. За це відповідає наступний рядок:

Після підключення до платформи Adafruit IO перевіряємо останній відбиток пальця. Якщо він збігається, а замок не активований, ми надсилаємо "1" для обробки Adafruit IO:

if (fingerprintID == fingerID && lockState == false) (

Serial.println(F("Access granted!"));

lockState = true;

Serial.println(F("Failed"));

Serial.println(F("OK!"));

lastActivation = millis();

Якщо ж у межах функції loop() замок активовано і ми досягли значення затримки, яке вказували вище, надсилаємо "0":

if ((activationCounter - lastActivation > activationTime) && lockState == true) (

lockState = false;

if (! fingerprint.publish(state)) (

Serial.println(F("Failed"));

Serial.println(F("OK!"));

Останню версію коду ви можете завантажити на GitHub.

Настав час тестувати наш проект! Не забудьте скачати та встановити всі необхідні бібліотеки для Arduino!

Переконайтеся, що ви внесли всі необхідні зміни до скетчу і завантажте його на ваш Arduino. Після цього відкрийте вікно серійного монітора.

Коли Arduino підключиться до мережі WiFi, сенсор відбитка пальця почне блимати червоним. Притуліть палець до датчика. У вікні серійного монітора відобразиться ID номер. Якщо він збігається, з'явиться повідомлення "OK!". Це означає, що дані були надіслані на сервер Adafruit IO.

Схема та скетч для подальшого налаштування замка на прикладі світлодіода

Тепер займемося частиною проекту, яка безпосередньо відповідає за управління дверним замком. Для підключення до бездротової мережі та активації/деактивації замка знадобиться додатковий модуль Adafruit ESP8266 (модуль ESP8266 не обов'язково має бути від Adafruit). На прикладі, який розглянемо нижче, ви зможете оцінити наскільки легко забезпечити обмін даними між двома платформами (Arduino та ESP8266) за допомогою Adafruit IO.

У цьому розділі ми не працюватимемо безпосередньо із замком. Натомість ми просто підключимо світлодіод до контакту, на якому надалі буде підключено замок. Це дозволить протестувати наш код, не заглиблюючись особливо конструкції замка.

Схема досить проста: спочатку встановіть ESP8266 на breadboard. Після цього встановіть світлодіод. Не забувайте, що довга нога світлодіода підключається через резистор. Друга нога резистора підключається до контакту 5 на модулі ESP8266. Другий (катод) світлодіода підключаємо до піна GND на ESP8266.

Цілком зібрана схема показана на фото нижче.


Тепер розберемося зі скетчем, який використовуємо для цього проекту. Знову ж таки, код досить об'ємний і складний, тому ми розглянемо лише його основні частини:

Починаємо з підключення необхідних бібліотек:

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Налаштовуємо параметри WiFi:

#define WLAN_SSID "ваш_wifi_ssid"

#define WLAN_PASS "ваш_wifi_пароль"

#define WLAN_SECURITY WLAN_SEC_WPA2

Також налаштовуємо параметри Adafruit IO. Так само, як і в попередньому розділі:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_ім'я_користувача"

#define AIO_KEY "adafruit_io_ключ"

Вказуємо, до якого піну ми підключили світлодіод (надалі це буде наш замок чи реле):

int relayPin = 5;

Взаємодія з датчиком відбитка пальців, як і в попередньому розділі:

const char LOCK_FEED PROGMEM = AIO_USERNAME "/feeds/lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

У тілі функції setup() вказуємо, що пін, до якого підключено світлодіод, має працювати у режимі OUTPUT:

pinMode(relayPin, OUTPUT);

У межах циклу loop() спочатку перевіряємо, чи ми підключилися до Adafruit IO:

Після цього перевіряємо, який сигнал надходить. Якщо передається "1", активуємо контакт, який ми оголосили раніше, до якого підключено світлодіод. Якщо ми отримали "0", переводимо контакт у стан "low":

Adafruit_MQTT_Subscribe *subscription;

while ((subscription = mqtt.readSubscription(1000))) (

if (subscription == &lock) (

Serial.print(F("Got: "));

Serial.println((char *)lock.lastread);

// Зберігаємо команду в дані типу рядок

String command = String((char*)lock.lastread);

if (command == "0") (

digitalWrite(relayPin, LOW);

if (command == "1") (

digitalWrite(relayPin, HIGH);

Знайти останню версію скетчу ви можете на GitHub.

Настав час тестувати наш проект. Не забудьте завантажити всі необхідні бібліотеки для Arduino і перевірте, чи вірно ви внесли зміни в скетч.

Для програмування чипа ESP8266 можна використовувати простий USB-FTDI конвертер.

Завантажте скетч на Arduino та відкрийте вікно серійного монітора. На даному етапі ми просто перевірили, чи вдалося підключитись до Adafruit IO: доступний функціонал ми розглянемо далі.

Тестуємо проект

Тепер приступаємо до тестування! Перейдіть до меню користувача вашого Adafruit IO, у меню Feeds. Перевірте, чи створені канали для відбитка пальців і замка (на принт-скрині нижче це рядки fingerprint і lock):


Якщо їх немає, доведеться створити вручну.

Тепер нам треба забезпечити обмін даними між каналами fingerprint і lock. Канал lock повинен приймати значення "1", коли канал fingerprint приймає значення "1" і навпаки.

Для цього використовуємо дуже потужний інструмент Adafruit IO: тригери. Тригери - це, по суті, умови, які ви можете застосовувати до налаштованих каналів. Тобто їх можна використовувати для взаємозв'язку двох каналів.

Створюємо новий reactive trigger з розділу Triggers Adafruit IO. Це забезпечить можливість обмінюватися даними між каналами датчика відбитка пальців та замка:


Ось як це має виглядати, коли обидва тригери налаштовані:

Всі! Тепер ми справді можемо тестувати наш проект! Прикладаємо палець до сенсора і бачимо, як Arduino почав підморгувати світлодіодом, який відповідає передачі даних. Після цього повинен блимати світлодіод на модулі ESP8266. Це означає, що він почав одержувати дані через MQTT. Світлодіод на монтажній платі в цей момент повинен також увімкнутися.

Після затримки, яку ви встановили у скетчі (за замовчуванням це значення дорівнює 10 секунд), світлодіод вимкнеться. Вітаємо! Ви можете керувати світлодіодом за допомогою відбитка пальця, перебуваючи у будь-якій точці світу!

Налаштовуємо електронний замок

Ми дісталися останньої частини проекту: безпосереднє підключення та управління електронним замком за допомогою Arduino та датчика відбитка пальця. Проект непростий, ви можете використовувати всі вихідні джерела в тому вигляді, в якому вони викладені вище, але замість світлодіода підключити реле.

Для безпосереднього підключення замка вам знадобляться додаткові компоненти: джерело живлення на 12 В, джек для підключення живлення, транзистор (у цьому прикладі використовується IRLB8721PbF MOSFET, але можна використовувати й інший, наприклад, біполярний транзистор TIP102. Якщо ви використовуєте біполярний транзистор, вам потрібно буде додати резистор.

Нижче показано електричну схему підключення всіх компонентів до модуля ESP8266:


Зверніть увагу, що якщо ви використовуєте транзистор MOSFET, вам не знадобиться резистор між піном 5 модуля ESP8266 і транзистором.

Цілком зібраний проект показаний на фото нижче:


Запитайте модуль ESP8266 за допомогою FTDI модуля та підключіть джерело живлення 12 В до джека. Якщо ви використовували рекомендовані вище піни для підключення, у скетчі нічого міняти не доведеться.

Тепер можете притулити палець до сенсора: замок повинен спрацювати, відреагувавши на ваш відбиток пальця. На відео нижче показано проект автоматичного "розумного" замку в дії:

Подальший розвиток проекту «Розумний замок»

У нашому проекті реалізовано дистанційне керування дверним замком за допомогою відбитка пальця.

Можете сміливо експериментувати, модифікувати скетч та обв'язування. Наприклад, можна замінити дверний електронний замок на реле для керування живленням вашого 3D принтера, маніпулятора або квадрокоптера.

Можна розвивати ваш "розумний дім". Наприклад, віддалено активувати систему поливу на Arduino або вмикати світло в кімнаті... При цьому не забувайте, що ви можете одночасно активувати практично необмежену кількість пристроїв, використовуючи Adafruit IO.

Залишайте Ваші коментарі, питання та поділіться особистим досвідом нижче. У дискусії часто народжуються нові ідеї та проекти!

Провідного каналу youtube AlexGyver просили зробити електронний замок своїми руками. Ласкаво просимо до циклу відео про електронні замки на arduino. Загалом майстер пояснить ідею.

Існує кілька варіантів створення системи електронного замку. Найчастіше використовуються для замикання дверей та ящиків, шаф. А також для створення схованок та потайних сейфів. Тому потрібно зробити макет, з яким зручно працювати і можна наочно та детально показувати пристрій системи зсередини та зовні. Тому вирішив зробити раму із дверцятами. Для цього знадобиться квадратний брус 30 х 30. Фанера 10мм. Дверні петлі. Спочатку хотів зробити фанерну скриньку, але згадав, що у кімнаті все завалено запчастинами. Подібний ящик нікуди поставити. Тому буде зроблено макет. Якщо хтось хоче поставити собі електронний замок, то, дивлячись на макет, можна з легкістю все повторити.

Все, що потрібно для замку, знайдете у цьому китайському магазині.

Мета – розробити максимально ефективні схеми та прошивки для електронних замків. Ви зможете використовувати ці результати для встановлення цих систем на свої двері, ящики, шафи та схованки.

Дверцята готові. Тепер потрібно придумати, як відкривати та закривати електронним способом. Для цих цілей підходить потужна соленоїдна клямка з aliexpress (посилання на магазин вище). Якщо подати висновки напруги, вона відкриється. Опір котушки майже 12 ом, значить при напрузі 12 вольт котушка буде їсти близько 1 ампера. З таким завданням впорається і літієвий акумулятор і модуль, що підвищує. Налаштовуємо на відповідну напругу. Хоча можна й трохи більше. Клямка кріпиться на внутрішній стороні дверцят на відстані, щоб не чіпляла край і могла захлопуватися. Клямки повинна бути частиною у відповідь у вигляді металевого короба. Використовувати її без цього незручно та неправильно. Прийде поставити сходинку, хоча б створювалася видимість нормальної роботи.

У неодруженому режимі клямка відкривається нормально, тобто якщо на дверцятах є ручка, подаємо імпульс, дверцята за ручку відкриваємо. Але якщо пружити, цей спосіб вже не підходить. Перетворювач, що підвищує, не справляється з навантаженням. Для відкриття підпружинених дверцят доведеться використовувати великі акумулятори і потужніший перетворювач. Або мережеве джерело живлення та забити на автономності системи. У китайських магазинах є клямки великих розмірів. Вони підійдуть для ящиків. Живлення можна подавати за допомогою реле або мосфет транзистора, або силового ключа на тому ж транзисторі. Більш цікаво і менш витратний варіант - сервопривід, з'єднаний з шатуном з будь-яким замикаючим елементом - шпингалет або більш серйозні засувки. Він може знадобитися також шматочок сталевої спиці, яка виконує роль шатуна. Такій системі не потрібний великий струм. Але вона займає більше місця та хитріша логіка управління.

Є два типи сервоприводів. Маленькі слабенькі та великі потужні, якими можна спокійно засунути в отвори у серйозні металеві штирі. Обидва наведені варіанти працюють як на дверцятах, так і на висувних ящиках. З ящиком доведеться повозитись, проробляючи отвір у висувній стінці.

Друга частина