Obsah:

Arduino RFID zámok dverí: 5 krokov (s obrázkami)
Arduino RFID zámok dverí: 5 krokov (s obrázkami)

Video: Arduino RFID zámok dverí: 5 krokov (s obrázkami)

Video: Arduino RFID zámok dverí: 5 krokov (s obrázkami)
Video: Копирование rfid карт при помощи arduino 2024, Júl
Anonim
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí
Arduino RFID zámok dverí

*** Aktualizované 9.8.2010 *** Chcel som vytvoriť ľahký a bezpečný spôsob vstupu do svojej garáže. RFID bol najlepší spôsob, ako odomknúť moje dvere, dokonca aj s plnými rukami môžem dvere odomknúť a otvoriť ich! Postavil som jednoduchý obvod so základným arduino čipom ATMega 168 a čítačkou ID-20 RFID na ovládanie elektronického zámku dverí. Obvod sa skladá z 3 samostatných častí, čítačky na čítanie štítkov RFID, ovládača na príjem údajov z čítačky a ovládania výstupu RGB LED a elektrického zámku dverí. Dverový zámok je najskôr nainštalovaný do dverí a testovaný s 9V batériou, aby bola zaistená správna inštalácia. Vo väčšine prípadov chcete normálne otvorený obvod na zámku dverí alebo Fail Secure. To znamená, že dvere zostanú zamknuté, pokiaľ nimi neprechádza žiadny prúd. Keď prechádza 12 VDC elektromagnetom v zámku dverí, doska v zámku ustúpi a umožní voľne zatlačiť dvere. Čítačka je umiestnená na vonkajšej strane dverí a vo vnútri je oddelená od ovládača, aby nikto nemohol obísť zabezpečenie tým, že rozbije čítačku a pokúsi sa čítačku skratovať. Ovládač prijíma sériové údaje z čítačky a ovláda LED diódu RGB a zámok dverí. V tomto prípade som obidve umiestnil na testovanie na samostatné dosky na chlieb. Tu je video prehľad systému v prevádzke Čítajte ďalej a zistite, ako si ho vytvoriť sami! ** Aktualizácia ** Všetky kódy, schémy a návrhy DPS boli testované a vylepšené. Všetky sú tu zverejnené k 9.8.2010 Aktualizované video s konečným nainštalovaným a fungujúcim systémom.

Krok 1: Potrebné diely

Potrebné diely
Potrebné diely

Tu je zoznam dielov a odkazy na web SparkFun.com, kde som ich kúpil. Toto je základná sada dielov, ktoré potrebujete na stavbu a arduino a obvod na čítanie značiek RFID do arduina. Predpokladám, že už máte dosku, napájací zdroj a prepojovacie vodiče.

Veci Arduino

ATmega168 s bootloaderom Arduino 4,95 dolárov

Crystal 16MHz 1,50 dolára

Keramický kondenzátor 22pF 0,25 dolárov (x2)

Rezistor 10k Ohm 1/6 Watt PTH 0,25 USD

Mini tlačidlový spínač 0,35 dolárov

Trojitý výstup LED RGB - rozptýlené 1,95 dolára

Veci RFID

Buď jeden z nich, 20 má lepší dosah, 12 je menšíRFID Reader ID-12 29,95 dolárovRFID Reader ID-20 34,95 dolárov

Odlomenie čítačky RFID 0,95 dolára

Odlomte hlavičky - rovné 2,50 dolára

Značka RFID - 125kHz 1,95 dolárov

Iné

Tranzistor TIP31A (rádiová chatka/miestny obchod s elektronikou za 1,50 dolára)

Zámok dverí je z ebay. Porucha dverí Zabezpečené riadenie prístupu Electric Strike v5 NIE 17,50 $ (kawamall, záliv)

Krok 2: Zostavte ovládač Arduino

Zostavte ovládač Arduino
Zostavte ovládač Arduino
Zostavte ovládač Arduino
Zostavte ovládač Arduino
Zostavte ovládač Arduino
Zostavte ovládač Arduino

Prvým krokom k zostave dverného zámku RFID so základným Arduino je vyskladanie základného arduina. Väčšina čipov ATMega 168 s predflashovaním Arduino je dodávaná s predinštalovaným predvoleným programom žmurkania. Pripojte LED diódu k digitálnemu výstupu 13 a overte, či všetko funguje.

Hardvérová časť tejto čítačky RFID by bola príliš jednoduchá, keby sme použili bežné arduino so vstavaným programátorom USB. Pretože to plánujem vložiť do steny a už sa toho nedotýkať, nechcem používať veľkú objemnú arduino dosku za 30 dolárov, keď si môžem kúpiť ATMega 168 za 5 dolárov a vyrobiť oveľa menšiu vlastnú PCB.

Pretože som sa rozhodol vytvoriť základný obvod Arduino sám, potrebujem externý programátor USB-> Serial FDIT. Zahrnul som schémy Eagle regulátora s napájaním vyrobeným z regulátora napätia 7805. Pri testovaní som použil napájací zdroj na chlebovú dosku.

Aby ste arduino uviedli do prevádzky, skutočne potrebujete ATMega168 so softvérom arduino, na ňom 2x kondenzátory 22pF, kryštál 16 MHz, odpor 10 kOhm, tlačidlo a nepájivú dosku. Pripojenie je dobre známe, ale zahrnul som celú schému obvodu.

Arduino aktivuje 4 výstupy, jeden pre červenú/zelenú/modrú diódu LED a jeden pre spustenie TIP31A na odoslanie 12 VDC do zámku dverí. Arduino prijíma sériové údaje na svoju linku Rx z čítačky RFID ID-20.

Krok 3: Zostavte čítačku RFID

Zostavte čítačku RFID
Zostavte čítačku RFID
Zostavte čítačku RFID
Zostavte čítačku RFID
Zostavte čítačku RFID
Zostavte čítačku RFID

Teraz, keď máte arduino chlieb naložený a pracujete, môžete zostaviť časť čítačky RFID obvodu, ktorá bude obsahovať LED ID-10 alebo ID-20 a RGB na indikáciu stavu obvodu. Nezabudnite, že čítačka bude zvonku a oddelená od ovládača vo vnútri, aby sa niekto nemohol ľahko vlámať.

Aby sme to vytvorili, pošleme 5v/uzemnenie z primárnej platne na sekundárnu dosku, na ktorej staviame čítačku. Pošlite tiež viac ako 3 vodiče z 3 výstupných pinov arduino na ovládanie RGB LED, jeden pre každú farbu. Ešte jeden drôt, na obrázkoch hnedý, bude sériovým pripojením ID-20 na komunikáciu so sériovým vstupom arduina Rx. Toto je veľmi jednoduchý obvod na pripojenie. Rezistory LED a niekoľko bodov na ID-20 sú viazané na uzemnenie/5 V, aby sa nastavil správny stav.

Aby sa uľahčilo pečenie chleba, ID-10/ID-20 Sparkfun predáva dosku Breakout, ktorá vám umožňuje pripojiť dlhšie kolíkové hlavičky, ktoré sú od seba vzdialené, aby sa zmestili na dosku na chlieb. Táto časť a záhlavia sú uvedené v zozname náhradných dielov.

Schéma by mala byť úzka dopredu a mala by sa dať ľahko sledovať.

Krok 4: Programujte

Čas na programovanie vášho arduina. Použitie základného arduina môže byť trochu zložité, možno budete musieť pred a počas prvej časti nahrávania niekoľkokrát stlačiť tlačidlo reset. Veľmi dôležitá vec, ktorú si musíte zapamätať, dostanete chybu pri odosielaní, ak dočasne neodpojíte sériovú linku ID-20 od linky Rx Arduina. ATMega168 má iba 1 vstup Rx a používa ho na odoslanie kódu na rozhovor s programátorom. Počas programovania odpojte ID-20 a potom ho znova zapojte. Použil som programátor FTDI, ktorý vám umožňuje programovať arduino cez USB iba so 4 vodičmi. Schéma ovládača zobrazuje pripojenie konektora záhlavia, ktoré vám umožní priamo ho zapojiť. Sparkfun tiež predáva túto časť, ale mnohí ju už môžu mať.

Môj kód môžete ľahko nahrať do svojho arduina a nikdy sa nepozerať späť, ale čo je na tom zábavné? Dovoľte mi vysvetliť základnú myšlienku toho, ako to funguje.

V prvom rade som nechcel žiadne externé tlačidlá/prepínače/atď. A nechcel som preprogramovať arduino zakaždým, keď som chcel pridať novú kartu. Preto som chcel na ovládanie činnosti obvodu a ovládanie zámku dverí používať iba RFID.

Program zapne modrú LED diódu, čím signalizuje, že je pripravená prečítať novú kartu. Keď je karta prečítaná, rozhodne, či je to platná karta alebo nie, a to tak, že porovná prečítané karty so zoznamom platných kariet. Ak je používateľ platný, arduino VYPNE modrú LED a na 5 sekúnd rozsvieti zelenú LED. Tiež zapne ďalší vysoký výkon na 5 sekúnd. Tento výstup je pripojený k tranzistoru TIP31A a umožňuje malému arduinovi ovládať oveľa väčší dverový zámok 12 V 300 mA bez poškodenia. Po 5 sekundách sa zámok dverí znova uzamkne a LED dióda sa zmení na modrú, aby počkala na načítanie ďalšej karty. Ak je karta neplatná, LED dióda sa na niekoľko sekúnd zmení na ČERVENÚ a vráti sa na modrú, aby ste počkali na ďalšiu kartu.

Je dôležité, aby zámok dverí stále fungoval, aj keď arduino stratí cez noc napájanie alebo sa resetuje. Preto sú všetky platné ID karty uložené v pamäti EEPROM. ATMega168 má 512 bajtov pamäte EEPROM. Každá karta RFID má sériové číslo 5 Hex Byte a kontrolný súčet 1 Hex Byte, pomocou ktorého môžeme overiť, či nedošlo k žiadnym chybám v prenose medzi ID-20 a arduino.

Platné karty sú uložené v EEPROM pomocou prvého bajtu ako počítadla. Ak sú napríklad uložené 3 platné karty, prvý bajt v EEPROM bude 3. EEPROM.read (0); = 3. Keď to vieme a skutočnosť, že každý identifikátor je 5 bajtov, vieme, že 1-5 je karta jedna, 6-10 je karta 2 a 11-15 je karta 3. Môžeme vytvoriť slučku, ktorá sa pozerá cez EEPROM. 5 bajtov naraz a pokúsi sa nájsť kartu, ktorú čítačka čítala.

Ako však môžeme po inštalácii obvodu pridať do EEPROM nové karty? Čítal som na jednej z kariet RFID, ktoré mám, a zakódoval som ich ako hlavnú kartu RFID. Takže aj keď je vymazaná celá EEPROM, hlavná karta bude fungovať. Kedykoľvek sa karta načíta, najskôr skontroluje, či je to karta Master, ak nie, potom pokračuje v zisťovaní, či je to platná karta alebo nie. Ak je karta hlavnou kartou, Arduino prejdeme do „programovacieho režimu“, v ktorom bliká RGB a čaká na načítanie ďalšej platnej značky. Nasledujúca načítaná značka sa pridá na ďalšie voľné miesto v EEPROM a počítadlo sa zvýši o 1, ak karta ešte neexistuje v pamäti EEPROM. Čítačka sa potom vráti do normálneho režimu a čaká na čítanie novej karty.

V súčasnosti som neprogramoval spôsob vymazania karty, pretože dôvody na odstránenie karty by boli s najväčšou pravdepodobnosťou stratou alebo odcudzením. Pretože by sa to s najväčšou pravdepodobnosťou použilo pre 1 až 10 ľudí, najľahšie by bolo naprogramovať kartu Master Erase, ktorá vymaže všetky karty z EEPROM, a potom ich všetky znova pridá, čo trvá iba niekoľko sekúnd. Pridal som kód na vymazanie EEPROM, ale túto funkciu som ešte neimplementoval..

Kód je priložený v textovom súbore spolu s kópiou zoznamu dielov.

Krok 5: Rozbaľte

To je len niekoľko skvelých vecí, ktoré môžete s RFID robiť. Môžete to ešte rozšíriť pomocou výstupu LCD, zaznamenávania toho, kto a kedy vstúpi, pripojenia k sieti/twitteru atď. Mám v pláne vytvoriť hotovú verziu PCB tohto obvodu. Nikdy som nerobil PCB, takže stále pracujem na návrhu a rozložení dielov. Akonáhle ich budem mať hotové, zverejním ich tiež. Odporúčam každému, aby si vzal kód, ktorý som napísal, a upravil ho, aby robil ešte zaujímavejšie veci!

Finalista v súťaži Arduino

Odporúča: