Tartalomjegyzék:

Arduino RFID ajtózár: 5 lépés (képekkel)
Arduino RFID ajtózár: 5 lépés (képekkel)

Videó: Arduino RFID ajtózár: 5 lépés (képekkel)

Videó: Arduino RFID ajtózár: 5 lépés (képekkel)
Videó: RFID Lock Based Filling Machine / Water Dispenser using ARDUINO 2024, Július
Anonim
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár
Arduino RFID ajtózár

*** Frissítve 2010. 08. 9. *** Egyszerű és biztonságos utat akartam elérni a garázsomba. Az RFID volt a legjobb módja az ajtó kinyitásának, még teli kezemmel is ki tudom nyitni és kinyitni! Egy egyszerű áramkört építettem egy alapvető ATMega 168 arduino chippel és egy ID-20 RFID olvasóval az elektronikus ajtózár vezérléséhez. Az áramkör 3 különálló részből áll, egy RFID -címkéket olvasó olvasóból, egy vezérlőből, amely fogadja az olvasó adatait, és vezérli az RGB LED és az elektromos ajtózár kimenetét. Az ajtózárat először egy ajtóba kell felszerelni, és 9 V -os elemmel kell tesztelni a helyes beszerelés érdekében. A legtöbb esetben normálisan nyitott áramkört szeretne az ajtózáron, vagy Fail Secure -t. Ez azt jelenti, hogy az ajtó zárva marad, ha nincs áram rajta. Amikor 12vDC -t vezetnek át az ajtózár elektromágnesén, a zárban lévő lemez enged és lehetővé teszi az ajtó szabad kinyitását. Az olvasót az ajtó külső oldalán helyezték el, és külön van a belső vezérlőtől, így senki sem kerülheti meg a biztonságot azáltal, hogy feltöri az olvasót, és megpróbálja rövidre zárni az olvasót. A vezérlő soros adatokat fogad az olvasótól, és vezérli az RGB LED -et és az ajtózárat. Ebben az esetben mindkettőt külön kenyérlapra tettem tesztelésre. Itt egy videó áttekintés a működő rendszerről Olvassa tovább, és nézze meg, hogyan építhet egyet saját maga számára! ** Frissítés ** Az összes kódot, rajzot és NYÁK -mintát teszteltük és finomítottuk. Mindezek itt vannak közzétéve 2010.08.09 -től. Frissített videó a végső telepített és működő rendszerről.

1. lépés: Szükséges alkatrészek

Szükséges alkatrészek
Szükséges alkatrészek

Itt található a SparkFun.com alkatrészeinek és linkjeinek listája, ahol megvettem őket. Ez az alapvető alkatrészkészlet, amelyet meg kell építenie, és az arduino, valamint egy áramkör az RFID -címkék beolvasásához az arduino -ba. Feltételezem, hogy már rendelkezik kenyérsütő táblával, tápegységgel és csatlakozó vezetékekkel.

Arduino cuccok

ATmega168 Arduino Bootloaderrel 4,95 dollár

Kristály 16MHz 1,50 USD

Kerámia kondenzátor 22pF 0,25 USD (x2)

Ellenállás 10k Ohm 1/6 Watt PTH $ 0.25

Mini nyomógombos kapcsoló $ 0.35

Hármas kimenetű LED RGB - diffúz 1,95 dollár

RFID cucc

Ezek közül bármelyik, 20 jobb hatótávolságú, 12 kisebb RFID Reader ID-12 29,95 USD RFID Reader ID-20 34,95 USD

RFID olvasó áttörés $ 0.95

Break Away Headers - Egyenes $ 2.50

RFID címke - 125 kHz 1,95 USD

Egyéb

TIP31A tranzisztor (rádióállomás/helyi elektronikai üzlet 1,50 USD)

Az ajtózár az ebay -ről származik. Ajtóhiba Biztonságos beléptetés Electric Strike v5 NO $ 17.50 (kawamall, öböl)

Lépés: Készítse el az Arduino vezérlőt

Építse fel az Arduino vezérlőt
Építse fel az Arduino vezérlőt
Építse fel az Arduino vezérlőt
Építse fel az Arduino vezérlőt
Építse fel az Arduino vezérlőt
Építse fel az Arduino vezérlőt

Az RFID ajtózár építésének első lépése egy alapvető Arduino -val az alap működő arduino kenyerezése. A legtöbb Arduino elővillantott ATMega 168 chip az előre telepített villogó programmal érkezik. Csatlakoztasson egy LED -et a 13 -as digitális kimenethez, és ellenőrizze, hogy minden működik -e.

Ennek az RFID olvasónak a hardver része túl egyszerű lenne, ha egy hagyományos arduinot használnánk, beépített USB programozóval. Mivel azt tervezem, hogy ezt a falba teszem, és nem nyúlok hozzá többé, nem szeretnék nagyméretű, 30 dolláros arduino táblát használni, ha vásárolhatok egy 5 dolláros ATMega 168 -at, és sokkal kisebb egyedi PCB -t készíthetek.

Mivel úgy döntöttem, hogy magam készítek egy alapvető Arduino áramkört, szükségem van egy külső USB-> soros FDIT programozóra. Mellékeltem a vezérlő Eagle vázlatait egy 7805 feszültségszabályozóból épített tápegységgel. A tesztelés során kenyérsütő tápegységet használtam.

Az arduino üzembe helyezéséhez minden, amire igazán szüksége van, az ATMega168, rajta az arduino szoftverrel, 2x 22pF kondenzátor, 16mhz -es kristály, 10k ohmos ellenállás, nyomógomb és kenyérlap. Ennek összekapcsolása jól ismert, de az áramkör teljes vázlatát beillesztettem.

Az arduino 4 kimenetet fog kiváltani, egyenként 1 a piros/zöld/kék LED -ekhez, 1 pedig a TIP31A -t, hogy 12vDC -t küldjön az ajtózárhoz. Az arduino soros adatokat fogad az Rx vonalán az ID-20 RFID olvasótól.

3. lépés: Készítse el az RFID olvasót

Készítse el az RFID olvasót
Készítse el az RFID olvasót
Készítse el az RFID olvasót
Készítse el az RFID olvasót
Készítse el az RFID olvasót
Készítse el az RFID olvasót

Most, hogy az arduino kenyér be van építve és dolgozik, összeállíthatja az áramkör RFID olvasó részét, amely tartalmazza az áramkör állapotát jelző ID-10 vagy ID-20 és RGB LED-et. Ne feledje, hogy az olvasó kívül lesz, és elkülönül a vezérlőtől, hogy valaki ne tudjon könnyen betörni.

Ennek felépítéséhez az 5v/földet az elsődleges kenyértábláról egy másodlagos kenyértáblára küldjük, amelyre az olvasót építjük. Ezenkívül küldjön több mint 3 vezetéket az arduino kimeneti csapok közül az RGB LED vezérléséhez, minden színhez egyet. Még egy vezeték, Brown a képeken, soros csatlakozás lesz az ID-20-hoz, hogy beszéljen az arduino Rx soros bemenetével. Ez egy nagyon egyszerű áramkör a csatlakoztatáshoz. A LED-ek ellenállásokat kapnak, és az ID-20 néhány pontja a földhöz/5v-hoz van kötve a helyes állapot beállításához.

A panelek egyszerűbbé tétele érdekében az ID-10/ID-20 Sparkfun Breakout táblát értékesít, amely lehetővé teszi a kenyérsütő táblához illeszkedő, hosszabb tűs fejlécek rögzítését. Ez a rész és a pinheaderek és az alkatrészlistában szerepelnek.

A vázlatnak szűknek kell lennie és könnyen követhetőnek kell lennie.

4. lépés: Programozzon

Ideje programozni az arduino -t. Ez egy kicsit trükkös lehet egy alapvető arduino használatával, előfordulhat, hogy többször kell megnyomnia a reset gombot a feltöltés első része előtt és közben. Nagyon fontos megjegyezni, hogy feltöltési hibát kap, ha ideiglenesen nem választja le az ID-20 soros vonalat az arduino Rx vonaláról. Az ATMega168 csak 1 Rx bemenettel rendelkezik, és arra használja fel a kód feltöltését, hogy beszéljen a programozóval. Programozás közben válassza le az ID-20-at, majd csatlakoztassa vissza, ha végzett. FTDI programozót használtam, amely lehetővé teszi az arduino programozását USB -n keresztül, mindössze 4 vezetékkel. A Vezérlő vázlata tüskés fejléc -csatlakozást mutat, amely lehetővé teszi az egyik közvetlen csatlakoztatását. A Sparkfun is értékesíti ezt az alkatrészt, de sokan már rendelkezhetnek vele.

Könnyedén feltöltheti a kódomat az arduino készülékére, és soha nem nézhet vissza, de mi ebben a szórakoztató? Hadd magyarázzam meg a működésének alapgondolatát.

Először is, nem akartam semmilyen külső gombot/kapcsolót/stb, és nem akartam újraprogramozni az arduino -t minden alkalommal, amikor új kártyát akartam hozzáadni. Ezért csak RFID -t akartam használni az áramkör működésének, valamint az ajtózár vezérlésének szabályozására.

A program bekapcsolja a kék LED -et, jelezve, hogy készen áll egy új kártya olvasására. A kártya olvasásakor eldönti, hogy érvényes kártya -e vagy sem, összehasonlítva az olvasott kártyát az érvényes kártyák listájával. Ha a felhasználó érvényes, az arduino kikapcsolja a kék LED -et, és 5 másodpercre bekapcsolja a zöld LED -et. Ezenkívül egy másik magas kimenetet is bekapcsol 5 másodpercre. Ez a kimenet a TIP31A tranzisztorhoz van csatlakoztatva, és lehetővé teszi az apró arduino számára, hogy egy sokkal nagyobb, 12 V -os 300 mA -es ajtózárat vezéreljen sérülés nélkül. 5 másodperc elteltével az ajtózár újra reteszelődik, és a LED ismét kékre vált, és várja, hogy egy másik kártya leolvasásra kerüljön. Ha a kártya érvénytelen, a LED néhány másodpercre Vörösre vált, majd kékre, hogy várjon egy másik kártyára.

Fontos, hogy az ajtózár akkor is működjön, ha az arduino egyik napról a másikra leállítja az áramot, vagy visszaáll. Ezért minden érvényes kártya azonosítót az EEPROM memóriában tárol. Az ATMega168 512 bájt EEPROM memóriával rendelkezik. Minden RFID kártya 5 hexa bájtos sorozatszámmal és 1 hexa bájt ellenőrző összeggel rendelkezik, amelyekkel ellenőrizhetjük, hogy nem történt-e hiba az ID-20 és az arduino közötti adatátvitelben.

Az érvényes kártyákat az EEPROM tárolja az első bájt számláló használatával. Például, ha 3 érvényes kártya van tárolva, akkor az első bájt az EEPROM -ban 3. EEPROM.read (0); = 3. Ennek ismeretében, és azt a tényt, hogy minden azonosító 5 bájt hosszú, tudjuk, hogy 1-5 az első kártya, 6-10 a 2. kártya és a 11-15 a 3. kártya. Készíthetünk egy hurkot, amely áttekint az EEPROM-on 5 bájtot egyszerre, és megpróbálja megtalálni azt a kártyát, amelyet az olvasó beolvasott.

De hogyan adhatunk új kártyákat az EEPROM -hoz az áramkör telepítése után ?? Olvastam az egyik RFID kártyámban, és keményen kódoltam, hogy a mester RFID kártya. Tehát még akkor is, ha a teljes EEPROM törlődik, a mesterkártya továbbra is működik. Amikor egy kártyát olvasnak, először azt ellenőrzi, hogy ez a Master kártya, ha nem, akkor továbbra is azt, hogy érvényes kártya -e vagy sem. Ha a kártya a fő kártya, akkor az arduino "programozási módba" lép, ahol villog az RGB, és várja, hogy egy másik érvényes címke olvasható legyen. A következő olvasott címke az EEPROM következő szabad pontjához kerül, és a számlálót 1 -gyel növeljük, ha a kártya még nem létezik az EEPROM memóriában. Az olvasó ezután visszatér normál módba, és várja az új kártya olvasását.

Jelenleg nem programoztam a kártya törlésének módját, mivel a kártya törlésének oka valószínűleg az, hogy elveszett vagy ellopták. Mivel ezt nagy valószínűséggel 1-10 emberrel használnánk, a legegyszerűbb az lenne, ha keményen programoznánk egy Master Erase kártyát, amely törli az összes kártyát az EEPROM-ból, majd újra hozzáadja őket, ami csak néhány másodpercet vesz igénybe. Hozzáadtam kódot az EEPROM törléséhez, de ezt a funkciót még nem valósítottam meg..

A kód szöveges fájlban van csatolva az alkatrészlista másolatával együtt.

5. lépés: Bontsa ki

Ez csak néhány a jó dolgok közül, amelyeket az RFID segítségével megtehet. Ezt tovább bővítheti egy LCD kimenettel, naplózásával, hogy ki és mikor lép be, hálózati/twitter kapcsolat stb. Tervezem, hogy elkészítem ennek az áramkörnek a kész PCB változatát. Soha nem készítettem még PCB -t, ezért még dolgozom az alkatrészek kialakításán és elrendezésén. Ha elkészültem, közzéteszem őket is. Arra biztatok bárkit, hogy vegye át az általam írt kódot, és módosítsa azt, hogy még több jó dolgot tegyen!

Az Arduino verseny döntőse

Ajánlott: