Съдържание:

Arduino RFID ключалка за врата: 5 стъпки (със снимки)
Arduino RFID ключалка за врата: 5 стъпки (със снимки)

Видео: Arduino RFID ключалка за врата: 5 стъпки (със снимки)

Видео: Arduino RFID ключалка за врата: 5 стъпки (със снимки)
Видео: работа с дубликатор за контактни чипове slav4o.com 2024, Ноември
Anonim
Ардуино RFID ключалка за врата
Ардуино RFID ключалка за врата
Ардуино RFID ключалка за врата
Ардуино RFID ключалка за врата
Arduino RFID ключалка за врата
Arduino RFID ключалка за врата
Arduino RFID ключалка за врата
Arduino RFID ключалка за врата

*** Актуализирано 8/9/2010 *** Исках да направя лесен и сигурен начин да вляза в гаража си. RFID беше най -добрият начин да отключвам вратата си, дори с пълни ръце мога да отключвам вратата и да я отварям! Изградих проста схема с основен чип ATMega 168 arduino и RF-четец ID-20 за управление на електронно заключване на вратата. Веригата се състои от 3 отделни части, четец за четене на RFID тагове, контролер за приемане на данни от четеца и контрол на изхода на RGB светодиода и електрическото заключване на вратата. Заключването на вратата първо се монтира на врата и се тества с 9v батерия, за да се осигури правилен монтаж. В повечето случаи искате нормално отворена верига на ключалката на вратата или Fail Secure. Това означава, че вратата остава заключена, когато през нея не преминава ток. Когато 12vDC преминава през електромагнита в ключалката на вратата, плоча в ключалката отстъпва и позволява вратата да се отваря свободно. Четецът е поставен от външната страна на вратата и е отделен от контролера от вътрешната страна, така че никой да не може да заобиколи сигурността, като отвори четеца и се опита да причини късо съединение на четеца. Контролерът получава серийни данни от четеца и контролира RGB светодиода и ключалката на вратата. В този случай съм поставил и двете на отделни дъски за хляб за тестване. Ето видео преглед на системата в действие Прочетете, за да видите как да създадете такава за себе си! ** Актуализиране ** Всички кодове, схеми и платки са тествани и усъвършенствани. Всички те са публикувани тук към 9/9/2010 Актуализиран видеоклип на последната инсталирана и работеща система.

Стъпка 1: Необходими части

Необходими части
Необходими части

Ето списък с части и връзки към SparkFun.com, където ги купих. Това е основният набор от части, които са ви необходими за изграждане и arduino и схема за четене на RFID тагове в arduino. Предполагам, че вече имате макет, захранване и свързващи проводници.

Arduino неща

ATmega168 с Arduino Bootloader $ 4,95

Кристал 16MHz $ 1,50

Керамичен кондензатор 22pF $ 0,25 (x2)

Резистор 10k Ohm 1/6th Watt PTH $ 0,25

Мини бутон за превключване $ 0,35

RGB LED с тройни изходи - Разпръснати $ 1.95

RFID неща

И двата от тях, 20 имат по-добър обхват, 12 са по-малки RFID Reader ID-12 $ 29.95 RFID Reader ID-20 $ 34.95

Пробив на RFID четец $ 0,95

Break Away Headers - направо $ 2,50

RFID маркер - 125kHz $ 1.95

Други

TIP31A транзистор (радио барака/местен магазин за електроника $ 1,50)

Заключването на вратата е от ebay. Неизправност на вратата Сигурен контрол на достъпа Electric Strike v5 NO $ 17,50 (kawamall, bay)

Стъпка 2: Изградете Arduino Controller

Изградете контролера Arduino
Изградете контролера Arduino
Изградете контролера Arduino
Изградете контролера Arduino
Изградете контролера Arduino
Изградете контролера Arduino

Първата стъпка към изграждането на ключалка за RFID врати с основен Arduino е да се създаде основен работен arduino. Повечето предварително мигащи чипове ATMega 168 на Arduino идват с предварително инсталирана мигаща програма по подразбиране. Свържете светодиод към цифров изход 13 и проверете дали всичко работи.

Хардуерната част на този RFID четец би била твърде проста, ако използвахме обикновен arduino с вграден USB програмист. Тъй като смятам да поставя това в стената и да не го докосвам отново, не искам да използвам голяма обемна дъска от $ 30 arduino, когато мога да купя ATMega 168 за $ 5 и да направя много по -малка персонализирана печатна платка.

Тъй като избрах сам да направя основна схема на Arduino, имам нужда от външен USB-> Serial FDIT програмист. Включих схеми на Eagle на контролера със захранване, изградено от регулатор на напрежение 7805. При тестването използвах захранване за дъска за хляб.

За да стартирате arduino, всичко, от което наистина се нуждаете, е ATMega168 със софтуера arduino, 2x кондензатори 22pF, 16mhz кристал, 10k ohm резистор, бутон и платка. Свързването за това е добре известно, но включих цялата схема на веригата.

Arduino ще задейства 4 изхода, по 1 за червени/зелени/сини светодиоди и 1 за задействане на TIP31A за изпращане на 12vDC към ключалката на вратата. Arduino получава серийни данни в своята Rx линия от RF-четеца ID-20.

Стъпка 3: Изградете RFID четец

Изградете RFID четец
Изградете RFID четец
Изградете RFID четец
Изградете RFID четец
Изградете RFID четец
Изградете RFID четец

Сега, когато имате хляба си arduino на борда и работите, можете да съберете частта от RFID четеца на веригата, която ще съдържа ID-10 или ID-20 и RGB LED, за да покаже състоянието на веригата. Не забравяйте, че четецът ще бъде отвън и отделен от контролера вътре, така че някой да не може лесно да проникне.

За да изградим това, ще изпратим 5v/Ground от основната дъска за хляб към вторична дъска за хляб, върху която изграждаме Reader. Също така изпратете над 3 проводника от 3 изходни извода на arduino, за да контролирате RGB LED, по един за всеки цвят. Още един проводник, Браун на снимките, ще бъде серийна връзка за ID-20, за да разговаря с Rx серийния вход на arduino. Това е много проста схема за свързване. Светодиодните резистори и няколко точки на ID-20 са свързани към земята/5v, за да зададат правилното състояние.

За да улесните създаването на макет ID-10/ID-20 Sparkfun продава Breakout board, която ви позволява да прикрепяте по-дълги заглавки на щифтове, разположени така, че да паснат на дъска за хляб. Тази част и щифтовете са изброени в списъка с части.

Схемата трябва да е точно напред и лесна за следване.

Стъпка 4: Програмирайте

Време е да програмирате вашия arduino. Това може да бъде малко сложно с помощта на основен arduino, може да се наложи да натиснете бутона за нулиране няколко пъти преди и по време на първата част на качването. Много важно нещо, което трябва да запомните, ще получите грешка при качване, ако не прекъснете временно серийната линия ID-20 към линията Rx на arduino. ATMega168 има само 1 Rx вход и го използва за качване на код за разговор с програмиста. Изключете ID-20 по време на програмирането, след което го включете отново, когато приключите. Използвах FTDI програмист, който ви позволява да програмирате arduino чрез USB само с 4 проводника. Схемата на контролера показва връзка на заглавка на щифт, която ви позволява да включите директно такава. Sparkfun също продава тази част, но много може би вече я имат.

Можете лесно да качите моя код на вашия arduino и никога да не поглеждате назад, но какво е забавното в това? Позволете ми да обясня основната идея за това как работи.

Първо, не исках никакви външни бутони/превключватели/и т.н. и не исках да препрограмирам arduino всеки път, когато исках да добавя нова карта. Затова исках да използвам само RFID за контрол на работата на веригата, както и за контрол на ключалката на вратата.

Програмата включва синия светодиод, за да покаже, че е готова за четене на нова карта. Когато картата бъде прочетена, тя решава дали е валидна карта или не, като сравнява прочетеното в списък с валидни карти. Ако потребителят е валиден, arduino изключва синия светодиод и включва зеления светодиод за 5 секунди. Той също така включва друг изход за 5 секунди. Този изход е свързан към транзистора TIP31A и позволява на малкия arduino да управлява много по -голяма ключалка на вратата 12v 300mA, без да се повреди. След 5 секунди ключалката на вратата се заключва отново и светодиодът отново светва в синьо, за да изчака друга карта да бъде прочетена. Ако картата е невалидна, светодиодът се променя в червено за няколко секунди и обратно в синьо, за да изчака друга карта.

Важно е заключването на вратата все още да работи, дори ако arduino загуби захранване за една нощ или се нулира. Следователно всички валидни идентификационни номера на картата се съхраняват в паметта на EEPROM. ATMega168 има 512 байта EEPROM памет. Всяка RFID карта има 5 шестнадесетичен байтов сериен номер и 1 шестнадесетична байтова контролна сума, която можем да използваме, за да проверим дали няма грешки при предаването между ID-20 и arduino.

Валидните карти се съхраняват в EEPROM, като се използва първият байт като брояч. Например, ако има 3 съхранени валидни карти, първият байт в EEPROM ще бъде 3. EEPROM.read (0); = 3. Знаейки това и факта, че всеки идентификатор е дълъг 5 байта, ние знаем, че 1-5 е карта първа, 6-10 е карта 2 и 11-15 е карта 3. Можем да направим цикъл, който гледа през EEPROM 5 байта наведнъж и се опитва да намери картата, която е прочетена от четеца.

Но как можем да добавим нови карти към EEPROM, след като веригата е инсталирана ?? Прочетох в една от RFID картите, които имам, и твърдо я кодирах като Master RFID карта. Така че дори ако целият EEPROM е изтрит, основната карта ще продължи да функционира. Винаги когато се чете карта, тя първо проверява дали е основната карта, ако не, тогава продължава да вижда дали е валидна карта или не. Ако картата е основната, имаме arduino да премине в "режим на програмиране", където мига RGB и чака да бъде прочетен друг валиден маркер. Следващият маркер, който се чете, се добавя към следващото свободно място в EEPROM и броячът се увеличава с 1, ако картата вече не съществува в паметта на EEPROM. След това четецът се връща в нормален режим и изчаква да бъде прочетена нова карта.

Понастоящем не съм програмирал начин за изтриване на карта, тъй като причините за изтриването на карта най -вероятно биха били изгубени или откраднати. Тъй като това най-вероятно ще се използва с 1-10 души, най-лесното нещо, което бихте направили, е да програмирате твърдо карта Master Erase, която ще изтрие всички карти от EEPROM, след което ще ги добави отново, което отнема само няколко секунди. Добавих код за изтриване на EEPROM, но все още не съм приложил тази функция..

Кодът е приложен в текстов файл заедно с копие от списъка с части.

Стъпка 5: Разгънете

Това са само някои от готините неща, които можете да правите с RFID. Можете да разширите това много повече с LCD изход, регистриране на това кой влиза и кога, връзка с мрежа/twitter и т.н. Никога досега не съм правил печатна платка, така че все още работя върху дизайна и оформлението на частите. След като ги завърша, ще ги публикувам и аз. Насърчавам всеки да вземе кода, който съм написал, и да го променя, за да направи още по -готини неща!

Финалист в конкурса Arduino

Препоръчано: