Електронна брава с arduino карта. arduino кодова ключалка

Прегледах The Amazing Spider-Man онзи ден и в една сцена Питър Паркър дистанционно отваря и затваря вратата от лаптопа си. Веднага щом видях това, веднага разбрах, че имам нужда от такава електронна брава на входната врата.

След малко бъркотия сглобих работещ модел на умна ключалка. В тази статия ще ви разкажа как го събрах.

Стъпка 1: Списък с материали





За да сглобите електронна брава на Arduino, ще ви трябват следните материали:

електроника:

  • 5V стенен адаптер

Компоненти:

  • 6 винта за ключалката
  • картон
  • проводници

инструменти:

  • поялник
  • пистолет за лепило
  • пробивна машина
  • пробивна машина
  • пилотно пробиване на дупки
  • канцеларски нож
  • компютър с Arduino IDE

Стъпка 2: Как работи ключалката

Идеята е, че мога да отварям или затварям вратата без ключ и дори без да отивам до нея. Но това е само основната идея, защото можете да добавите сензор за почукване, за да реагирате на специално почукване, или можете да добавите система за гласово разпознаване!

Серво лост, свързан към болта, ще затвори (0°) и ще отвори (60°) болта с помощта на команди, получени чрез Bluetooth модула.

Стъпка 3: Схема на свързване


Нека първо свържем сервото към платката Arduino (искам да отбележа, че въпреки че използвам платка Arduino Nano, изводът е абсолютно същият на платката Uno).

  • кафявият проводник на сервото е заземен, свързваме го със земята на Arduino
  • червеният проводник е положителен, свързваме го към 5V конектора на Arduino
  • оранжев проводник - изход на серво източник, свържете го към пин 9 на Arduino

Съветвам ви да тествате сервото, преди да продължите със сглобяването. За да направите това, в програмата Arduino IDE изберете Sweep в примерите. След като се уверим, че сервото работи, можем да свържем Bluetooth модула. Трябва да свържете rx щифта на Bluetooth модула към tx щифта на Arduino и tx щифта на модула към rx щифта на Arduino. Но не го правете все още! След като тези връзки са запоени, няма да можете да качвате никакви кодове в Arduino, така че първо качете всичките си кодове и едва след това запоявайте връзките.

Ето схемата на свързване на модула и микроконтролера:

  • Rx модул - Tx Arduino платка
  • Tx модул - Rx платка
  • Vcc (положителен терминал) на модула - 3.3v на платката Arduino
  • Свързване на земята към земята (земя към земя)

Ако обяснението не ви е ясно, следвайте предоставената схема на свързване.

Стъпка 4: Тествайте

Сега, когато имаме всички работни части, нека се уверим, че сервото може да премести резето. Преди да монтирам ключалката на вратата, събрах тестова проба, за да се уверя, че сервото е достатъчно здраво. Първоначално ми се стори, че сервото ми е слабо и добавих капка масло към резето, след което всичко заработи добре. Много е важно механизмът да се плъзга добре, в противен случай рискувате да бъдете заключени в стаята си.

Стъпка 5: Корпус за електрически компоненти



Реших да сложа само контролера и Bluetooth модула в кутията, а сервото да оставя отвън. За да направите това, върху парче картон очертайте контура на платката Arduino Nano и добавете 1 см пространство около периметъра и го изрежете. След това също изрязваме още пет страни на тялото. В предната стена ще трябва да изрежете дупка за захранващия кабел на контролера.

Размери на страните на кутията:

  • Долнище - 7,5х4см
  • Капак - 7,5х4см
  • Лява странична стена - 7,5х4см
  • Дясна странична стена - 7,5х4см
  • Предна стена - 4х4 см (с процеп за захранващия кабел)
  • Задна стена - 4х4 см

Стъпка 6: Приложение

За да управлявате контролера, имате нужда от притурка за Android или Windows с вграден Bluetooth. Нямах възможност да тествам приложението на Apple устройства, може би ще са необходими някои драйвери.

Сигурен съм, че някои от вас имат възможност да го проверят. За Android изтеглете приложението Bluetooth Terminal, за Windows изтеглете TeraTerm. След това трябва да свържете модула към вашия смартфон, името трябва да е linvor, паролата трябва да е 0000 или 1234. След като сдвояването е установено, отворете инсталираното приложение, въведете опциите и изберете „Установяване на връзка (несигурна)“. Вашият смартфон вече е сериен монитор на Arduino, което означава, че можете да комуникирате с контролера.

Ако въведете 0, вратата ще се затвори и екранът на смартфона ще покаже съобщението „Вратата затворена“.
Ако въведете 1, ще видите вратата отворена и на екрана ще се появи съобщението "Отворена врата".
В Windows процесът е същият, с изключение на това, че трябва да инсталирате приложението TeraTerm.

Стъпка 7: Монтирайте болта


Първо трябва да свържете сервото към ключалката. За да направите това, отрежете щепселите от монтажните отвори на корпуса на задвижването. Ако поставим серво, монтажните отвори трябва да са на едно ниво с резето. След това трябва да поставите серво лоста в слота на резето, където беше дръжката на резето. Проверете как се движи ключалката в кутията. Ако всичко е наред, фиксирайте серво лоста с лепило.

Сега трябва да пробиете пилотни отвори във вратата за винтовете. За да направите това, прикрепете резето към вратата и маркирайте дупките за винтовете на крилото на вратата с молив. На отбелязаните места пробийте отвори за винтовете с дълбочина приблизително 2,5 см. Прикрепете резето и го закрепете с винтове. Проверете отново сервото.

Стъпка 8: Хранене


За да завършите устройството, ще ви трябва захранване, кабел и мини usb щепсел за свързване към Arduino.
Свържете заземяващия терминал на захранването към заземяващия терминал на mini usb порта, свържете червения проводник към червения проводник на mini usb порта, след това прокарайте проводника от ключалката до пантата на вратата и оттам до гнездото .

Стъпка 9: Код

#include Servo myservo; int pos = 0; int състояние; int флаг=0; void setup() ( myservo.attach(9); Serial.begin(9600); myservo.write(60); delay(1000); ) void loop() ( if(Serial.available() > 0) ( state = Serial.read(); flag=0; ) // ако състоянието е "0", DC моторът ще се изключи if (state == "0") ( myservo.write(8); delay(1000); Serial. println("Вратата е заключена"); ) else if (състояние == "1") ( myservo.write(55); забавяне(1000); Serial.println("Вратата е отключена"); ) )

Стъпка 10: Завършено Arduino Lock

Насладете се на заключването на дистанционното си управление и не забравяйте „случайно“ да заключите приятелите си в стаята.

Напредъкът не стои на едно място и "Умни брави" все по-често се появяват на вратите на апартаменти, гаражи и къщи.

Подобно заключване се отваря, когато натиснете бутон на вашия смартфон. За щастие смартфоните и таблетите вече навлязоха в ежедневието ни. В някои случаи „интелигентните ключалки“ са свързани с „облачни услуги“ като Google Drive и се отварят дистанционно. В допълнение, тази опция дава възможност да се даде достъп до отварянето на вратата на други хора.

В този проект ще бъде внедрена 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 "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#включи

#включи >

След това трябва леко да коригирате скицата, като вмъкнете параметрите на вашата WiFi мрежа, като посочите SSID и парола (парола):

#define WLAN_SECURITY WLAN_SEC_WPA2>

Освен това трябва да въведете име и AIO ключ (ключ), за да влезете в акаунта си в Adafruit IO:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Следните редове са отговорни за взаимодействието и обработката на данни от сензора за пръстови отпечатъци. Ако сензорът е бил активиран (съвпадащ с пръстов отпечатък), той ще бъде "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, което съответства на идентификатора на първия пръстов отпечатък, използван от сензора:

int fingerID = 0;

След това инициализираме брояча и забавянето (закъснението) в нашия проект. По принцип искаме ключалката да работи автоматично след отваряне. Този пример използва забавяне от 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("Достъпът е предоставен!"));

lockState=true;

Serial.println(F("Неуспешно"));

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

lastActivation = millis();

Ако в рамките на функцията loop() заключването е активирано и сме достигнали стойността на забавяне, посочена по-горе, изпращаме "0":

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

lockState=false;

if (! fingerprint.publish(state)) (

Serial.println(F("Неуспешно"));

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

Можете да изтеглите най-новата версия на кода на GitHub.

Време е да тестваме нашия проект! Не забравяйте да изтеглите и инсталирате всички необходими библиотеки на Arduino!

Уверете се, че сте направили всички необходими промени в скицата и я качете във вашия Arduino. След това отворете прозореца на серийния монитор.

Когато Arduino се свърже с WiFi мрежата, сензорът за пръстови отпечатъци ще мига в червено. Поставете пръста си върху сензора. Прозорецът на серийния монитор трябва да показва идентификационния номер. Ако съвпада, ще се появи съобщение "OK!". Това означава, че данните са изпратени до сървърите на Adafruit IO.

Схема и скица за по-нататъшно настройване на ключалката по примера на светодиод

Сега нека се заемем с частта от проекта, която е пряко отговорна за управлението на ключалката на вратата. За да се свържете с безжична мрежа и да активирате/деактивирате ключалката, ще ви е необходим допълнителен модул Adafruit ESP8266 (модулът ESP8266 не е задължително да е от Adafruit). Примерът по-долу ще ви покаже колко лесно е да комуникирате между две платформи (Arduino и ESP8266) с помощта на Adafruit IO.

В този раздел няма да работим директно с ключалката. Вместо това просто ще свържем светодиода към щифта, където ключалката ще бъде свързана по-късно. Това ще направи възможно тестването на нашия код, без да се задълбочава в спецификата на дизайна на ключалката.

Схемата е доста проста: първо инсталирайте ESP8266 на макетната платка. След това инсталирайте светодиода. Не забравяйте, че дългият (положителен) крак на светодиода е свързан чрез резистор. Вторият крак на резистора е свързан към щифт 5 на модула ESP8266. Вторият (катод) светодиод е свързан към щифта GND на ESP8266.

Напълно сглобената верига е показана на снимката по-долу.


Сега нека да разгледаме скицата, която използваме за този проект. Отново кодът е доста голям и сложен, така че ще покрием само основните части от него:

Започваме с включването на необходимите библиотеки:

#включи

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Конфигуриране на WiFi настройки:

#define WLAN_SSID "вашият_wifi_ssid"

#define WLAN_PASS "вашата_wifi_password"

#define WLAN_SECURITY WLAN_SEC_WPA2

Ние също така конфигурираме параметрите на Adafruit IO. Същото като в предишния раздел:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Посочваме към кой щифт сме свързали светодиода (в бъдеще това ще бъде нашата ключалка или реле):

int relayPin = 5;

Взаимодействие със сензора за пръстови отпечатъци, както в предишния раздел:

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

Adafruit_MQTT_Subscribe заключване = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

В тялото на функцията setup() показваме, че щифтът, към който е свързан светодиодът, трябва да работи в режим OUTPUT:

pinMode(relayPin, OUTPUT);

В рамките на цикъла loop() първо проверяваме дали сме се свързали с Adafruit IO:

След това проверяваме какъв сигнал идва. Ако се предаде "1", активираме щифта, който декларирахме по-рано, към който е свързан нашият светодиод. Ако получим "0", поставяме контакта в "ниско" състояние:

Adafruit_MQTT_Абонамент *абонамент;

докато ((абонамент = mqtt.readSubscription(1000))) (

if (абонамент == &заключване) (

Serial.print(F("Получих: "));

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

// Запазване на командата като низови данни

String команда = String((char *)lock.lastread);

if (команда == "0") (

digitalWrite(relayPin, LOW);

if (команда == "1") (

digitalWrite(relayPin, HIGH);

Можете да намерите най-новата версия на скицата на GitHub.

Време е да тестваме нашия проект. Не забравяйте да изтеглите всички необходими библиотеки за вашия Arduino и проверете дали сте направили правилните промени в скицата.

За програмиране на чипа ESP8266 може да се използва прост USB-FTDI конвертор.

Качете скицата в Arduino и отворете прозореца на серийния монитор. На този етап току-що проверихме дали сме в състояние да се свържем с Adafruit IO: ще разгледаме допълнително наличната функционалност.

Тестване на проекта

Сега нека започнем да тестваме! Отидете в потребителското меню на вашия Adafruit IO, в менюто Feeds. Проверете дали каналите за пръстов отпечатък и заключване са създадени или не (на екрана за печат по-долу това са линиите за пръстов отпечатък и заключване):


Ако не съществуват, ще трябва да ги създадете ръчно.

Сега трябва да осигурим обмен на данни между пръстовия отпечатък и каналите за заключване. Каналът за заключване трябва да бъде настроен на "1", когато каналът за пръстови отпечатъци е настроен на "1" и обратно.

За да направим това, използваме много мощен инструмент на Adafruit IO: тригери. Тригерите са по същество условия, които можете да приложите към конфигурирани канали. Тоест те могат да се използват за взаимно свързване на два канала.

Създайте нов реактивен тригер от секцията Тригери в Adafruit IO. Това ще осигури възможност за обмен на данни между каналите на сензора за пръстови отпечатъци и ключалката:


Ето как трябва да изглежда, когато и двата тригера са конфигурирани:

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

След закъснението, което сте задали в скицата (по подразбиране е 10 секунди), светодиодът ще изгасне. Честито! Можете да управлявате светодиода с пръстовия си отпечатък от всяка точка на света!

Настройка на електронна ключалка

Стигнахме до последната част от проекта: директно свързване и управление на електронна брава с помощта на Arduino и сензор за пръстови отпечатъци. Проектът не е лесен, можете да използвате всички източници във формата, в която са представени по-горе, но вместо светодиод, свържете реле.

За директно свързване на ключалката ще ви трябват допълнителни компоненти: 12V захранване, захранващ жак, транзистор (в този пример се използва MOSFET IRLB8721PbF, но може да се използва друг, като биполярен транзистор TIP102. Ако използвате биполярен транзистор, ще трябва да добавите резистор.

Схемата за свързване на всички компоненти към модула ESP8266 е показана по-долу:


Имайте предвид, че ако използвате MOSFET, няма да имате нужда от резистор между ESP8266 пин 5 и транзистора.

Напълно сглобеният проект е показан на снимката по-долу:


Включете модула ESP8266 с помощта на модула FTDI и свържете 12V захранването към жака. Ако сте използвали препоръчаните по-горе щифтове за свързване, няма да се налага да променяте нищо в скицата.

Сега можете да поставите пръста си върху сензора: ключалката трябва да работи в отговор на вашия пръстов отпечатък. Видеоклипът по-долу показва проекта за автоматично интелигентно заключване в действие:

По-нататъшно развитие на проекта Smart Lock

В нашия проект е освободено дистанционно управление на ключалката на вратата чрез пръстов отпечатък.

Чувствайте се свободни да експериментирате, модифицирайте скицата и впрягайте. Например, можете да замените електронно заключване на вратата с реле, за да управлявате мощността на вашия 3D принтер, роботизирана ръка или квадрокоптер...

Можете да развиете своя "умен дом". Например да активирате дистанционно напоителна система на Arduino или да запалите светлина в стая... Имайте предвид, че можете едновременно да активирате почти неограничен брой устройства с помощта на Adafruit IO.

Оставете вашите коментари, въпроси и споделете личния си опит по-долу. В дискусията често се раждат нови идеи и проекти!

В тази статия ще ви покажа как да направите комбинирана ключалка от arduino. За да направите това, ни трябват червени и зелени светодиоди, зумер, arduino nano, LCD дисплей с I2C конвертор, серво задвижване и матрична клавиатура 4x4. Когато е включен, дисплеят ще изпише "Въведете код.",

червеният светодиод ще се включи,

и зеленото изгасва, сервото ще бъде настроено на 0°. Когато бъдат въведени числа, * ще светне на дисплея.

Ако кодът е въведен неправилно, на дисплея ще се покаже "Въведете код.". Ако кодът е правилен, ще прозвучи звуков сигнал, сервото ще се завърти на 180°, на дисплея ще се покаже "Отворено".

зеленият светодиод ще се включи,

и червеното ще изгасне. След 3 секунди сервото ще се върне в изходната си позиция, червеният светодиод ще се включи и зеленият светодиод ще изгасне, на дисплея ще изпише „Затвори.“,

след това дисплеят ще изпише "Въведете код.". Сега за схемата. Първо, свързваме arduino с проводници към макетната платка (захранващи контакти).

След това свързваме матрична клавиатура към контактите D9 - D2.

След това сервото. Свързваме го към щифт 10.

Червен светодиод към щифт 11.

Зелено - до щифт 12.

Зумер - към щифт 13.

Сега качете скицата.

#включи #включи #включи #включи iarduino_KB KB(9, 8, 7, 6, 5, 4, 3, 2); LiquidCrystal_I2C lcd(0x27, 16, 2); Серво серво int пас = (3, 6, 1, 8); int в; int r = 11; int g = 12; void setup() ( KB.begin(KB1); pinMode(r, OUTPUT); pinMode(g, OUTPUT); lcd.init(); lcd.backlight(); digitalWrite(g, LOW); digitalWrite(r, HIGH ); servo.attach(10); servo.write(0); lcd.setCursor(0, 0); ) void loop() ( lcd.clear(); lcd.print("Въведете код."); докато ( !KB.check(KEY_DOWN)) (закъснение(1); ) в = KB.getNum; lcd.clear(); lcd.setCursor(0, 0); lcd.print("*"); докато (!KB. check(KEY_DOWN)) (закъснение(1); ) in = KB.getNum; lcd.print("*"); докато (!KB.check(KEY_DOWN)) (закъснение(1); ) in = KB.getNum; lcd.print("*"); while (!KB.check(KEY_DOWN)) (закъснение(1); ) in = KB.getNum; lcd.print("*"); if (in == пас) ( ако (в == преминаване) ( if (в == преминаване) ( if (в == преминаване) ( lcd.clear(); lcd.setCursor(0, 0); lcd.print("Open."); tone( 13, 400, 750); servo.write(180); digitalWrite(r, LOW); digitalWrite(g, HIGH); забавяне (3000); lcd.clear(); lcd.setCursor(0, 0); lcd. print("Close."); tone(13, 300, 700); servo.write(0); digitalWrite(g, LOW); digitalWrite(r, HIGH); dela; y(1000); ) ) ) )

Това е всичко. Насладете се на кодово заключване!

Списък с радио елементи

Обозначаване Тип Деноминация количество ЗабележкаРезултатМоят бележник
E1 Arduino платка

Arduino Nano 3.0

1 5V Към бележника
E8, E9 Резистор

220 ома

2 smd Към бележника
E6 Светодиод

AL102G

1 червен Към бележника
E7 Светодиод

AL307G

1 зелено Към бележника
E3 ЛСД дисплейС I2C интерфейс1 Зелена подсветка Към бележника
E5 СервоSG901 180 градуса Към бележника
E2 Зумер5V1 Бу Към бележника
E4 клавиатура4x41 матрица Към бележника
Не BreadBoard640 точки1 без запояване
Така се случи, че решихме да монтираме кодова брава на вратата си по време на работа, защото, като непрекъснато влизаме, изтичаме от офиса, вратата на който трябва да бъде постоянно затворена при отсъствие на обитатели. Ключовете често се забравят вътре. Като цяло решихме, че ключалката с код е чудесен изход.

След като се рових из китайските битпазари и ebay, не намерих нищо евтино и повече или по-малко сериозно и реших да го направя сам. Веднага ще направя резервация, че платформата Arduino беше избрана заради нейната простота, тъй като изобщо нямаше опит с микроконтролери.

Идея

На вратата, от външната страна на вратата, трябва да има клавиатура, на която се въвежда паролата, а останалата част от конструкцията е фиксирана отвътре. За контрол на пълното затваряне на вратата се използва тръстиков превключвател. Излизайки от офиса, човек натиска „*“ на клавиатурата и, без да чака вратата да се затвори, затворът за врата си върши работата, когато вратата е напълно затворена, тръстиковият превключвател ще се затвори и ключалката ще бъде затворена. Вратата се отваря чрез въвеждане на 4-цифрена парола и натискане на "#".

Аксесоари

Arduino UNO = $18
Arduino protoshield + макет = $6
L293D = $1
Сноп кабели 30 бр за размножителна дъска = $4
2 гнезда RJ45 = $4
2 RJ45 щепсела = $0,5
задвижващ механизъм за централно заключване = 250 рубли.
Рид ключ = скъсан безплатно от старата витрина.
Шпаньолет метал гигантски размери = безплатно
Калъф от стара D-LINK главина от 1,5 мм желязо = безплатно
Захранване от същия хъб D-LINK за ​​12 и 5v = също безплатно
Куп винтове и гайки за закрепване на всички тези неща към кутията = 100 рубли.
Контролният панел от СОТ = безплатно.

Обща сума:$33,5 и 350 рубли.

Не толкова малко, казвате вие, и определено ще сте прави, но за удоволствието трябва да плащате! И винаги е хубаво да събереш нещо със собствените си ръце. В допълнение, дизайнът може да бъде значително намален в цената, ако използвате гол MK без Arduino.

Подготовка за монтаж

Бих искал да кажа няколко думи за закупуването на ключов елемент от дизайна на задвижващия механизъм. В местен автомагазин ми предложиха два вида задвижващи механизми: "с два проводника и с пет". Според продавачката те били абсолютно еднакви и разликата в броя на проводниците не означавала абсолютно нищо. Но, както се оказа по-късно, това не е така! Избрах устройство с два проводника, захранваше се от 12v. Петпроводният дизайн включва крайни превключватели за контрол на движението на лоста. Разбрах, че съм купил грешния едва когато го разглобих и беше твърде късно да го сменя. Ходът на лоста се оказа твърде кратък, за да натиснете правилно ключалката, следователно беше необходимо да го модифицирате малко, а именно да премахнете две гумени шайби, скъсяващи хода на лоста на задвижващия механизъм. За да направите това, тялото трябваше да бъде изрязано заедно с обикновена ножовка, тъй като втората шайба беше вътре. Синята тиксо към нас, както винаги, ни помогна по-късно при сглобяването му обратно.
За управление на двигателя на задвижващия механизъм беше използван драйверът на двигателя L293D, който може да издържи пиково натоварване до 1200 mA, в нашия случай, когато двигателят на задвижващия механизъм беше спрян, пиковото натоварване се увеличи до само 600 mA.
Контактите от клавиатурата, високоговорителя и два светодиода бяха премахнати от контролния панел от охранителната аларма. Дистанционното управление и основното устройство трябваше да бъдат свързани с помощта на усукана двойка и RJ45 конектори

Програмиране.

Така че, тъй като досега не съм имал никакъв опит с програмирането на Arduino. Възползвах се от разработки и статии на други хора от уебсайта arduino.cc. На кого му пука, може да погледне този грозен код :)

Снимка и видео



Arduino и задвижващ механизъм


Захранване


клавиатура


Шпаньолет (свързан към задвижващия механизъм с метална игла и върху който се поставя термосвиване за красота)

Видео на процеса на работа на устройството:

Така се случи, че решихме да монтираме кодова брава на вратата си по време на работа, защото, като непрекъснато влизаме, изтичаме от офиса, вратата на който трябва да бъде постоянно затворена при отсъствие на обитатели. Ключовете често се забравят вътре. Като цяло решихме, че ключалката с код е чудесен изход.

След като се рових из китайските битпазари и ebay, не намерих нищо евтино и повече или по-малко сериозно и реших да го направя сам. Веднага ще направя резервация, че платформата Arduino беше избрана заради нейната простота, тъй като изобщо нямаше опит с микроконтролери.

Идея

На вратата, от външната страна на вратата, трябва да има клавиатура, на която се въвежда паролата, а останалата част от конструкцията е фиксирана отвътре. За контрол на пълното затваряне на вратата се използва тръстиков превключвател. Излизайки от офиса, човек натиска „*“ на клавиатурата и, без да чака вратата да се затвори, затворът за врата си върши работата, когато вратата е напълно затворена, тръстиковият превключвател ще се затвори и ключалката ще бъде затворена. Вратата се отваря чрез въвеждане на 4-цифрена парола и натискане на "#".

Аксесоари

Arduino UNO = $18
Arduino protoshield + макет = $6
L293D = $1
Сноп кабели 30 бр за размножителна дъска = $4
2 гнезда RJ45 = $4
2 RJ45 щепсела = $0,5
задвижващ механизъм за централно заключване = 250 рубли.
Рид ключ = скъсан безплатно от старата витрина.
Шпаньолет метал гигантски размери = безплатно
Калъф от стара D-LINK главина от 1,5 мм желязо = безплатно
Захранване от същия хъб D-LINK за ​​12 и 5v = също безплатно
Куп винтове и гайки за закрепване на всички тези неща към кутията = 100 рубли.
Контролният панел от СОТ = безплатно.

Обща сума:$33,5 и 350 рубли.

Не толкова малко, казвате вие, и определено ще сте прави, но за удоволствието трябва да плащате! И винаги е хубаво да събереш нещо със собствените си ръце. В допълнение, дизайнът може да бъде значително намален в цената, ако използвате гол MK без Arduino.

Подготовка за монтаж

Бих искал да кажа няколко думи за закупуването на ключов елемент от дизайна на задвижващия механизъм. В местен автомагазин ми предложиха два вида задвижващи механизми: "с два проводника и с пет". Според продавачката те били абсолютно еднакви и разликата в броя на проводниците не означавала абсолютно нищо. Но, както се оказа по-късно, това не е така! Избрах устройство с два проводника, захранваше се от 12v. Петпроводният дизайн включва крайни превключватели за контрол на движението на лоста. Разбрах, че съм купил грешния едва когато го разглобих и беше твърде късно да го сменя. Ходът на лоста се оказа твърде кратък, за да натиснете правилно ключалката, следователно беше необходимо да го модифицирате малко, а именно да премахнете две гумени шайби, скъсяващи хода на лоста на задвижващия механизъм. За да направите това, тялото трябваше да бъде изрязано заедно с обикновена ножовка, тъй като втората шайба беше вътре. Синята тиксо към нас, както винаги, ни помогна по-късно при сглобяването му обратно.
За управление на двигателя на задвижващия механизъм беше използван драйверът на двигателя L293D, който може да издържи пиково натоварване до 1200 mA, в нашия случай, когато двигателят на задвижващия механизъм беше спрян, пиковото натоварване се увеличи до само 600 mA.
Контактите от клавиатурата, високоговорителя и два светодиода бяха премахнати от контролния панел от охранителната аларма. Дистанционното управление и основното устройство трябваше да бъдат свързани с помощта на усукана двойка и RJ45 конектори

Програмиране.

Така че, тъй като досега не съм имал никакъв опит с програмирането на Arduino. Възползвах се от разработки и статии на други хора от уебсайта arduino.cc. На кого му пука, може да погледне този грозен код :)

Снимка и видео



Arduino и задвижващ механизъм


Захранване


клавиатура


Шпаньолет (свързан към задвижващия механизъм с метална игла и върху който се поставя термосвиване за красота)

Видео на процеса на работа на устройството: