Kazalo:

Zaklepanje vrat Arduino RFID: 5 korakov (s slikami)
Zaklepanje vrat Arduino RFID: 5 korakov (s slikami)

Video: Zaklepanje vrat Arduino RFID: 5 korakov (s slikami)

Video: Zaklepanje vrat Arduino RFID: 5 korakov (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Julij
Anonim
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID
Zaklepanje vrat Arduino RFID

*** Posodobljeno 8.9.2010 *** Želel sem na enostaven in varen način vstopiti v svojo garažo. RFID je bil najboljši način za odklepanje vrat, tudi s polnimi rokami lahko odklenem vrata in jih odprem! Zgradil sem preprosto vezje z osnovnim čipom ATMega 168 arduino in bralnikom RFID ID-20 za nadzor elektronske ključavnice za vrata. Vezje je sestavljeno iz 3 ločenih delov, čitalnika za branje RFID oznak, krmilnika za sprejemanje podatkov iz čitalnika in krmiljenje izhoda LED RGB in električne ključavnice za vrata. Ključavnica za vrata je najprej nameščena v vratih in preizkušena z 9v baterijo, da se zagotovi pravilna namestitev. V večini primerov želite normalno odprt krog na ključavnici vrat ali Fail Secure. To pomeni, da vrata ostanejo zaklenjena, ko skozi njih ne teče tok. Ko 12VDC prehaja skozi elektromagnet v ključavnici vrat, plošča v ključavnici popusti in omogoči prosto odpiranje vrat. Čitalnik je nameščen na zunanji strani vrat in je ločen od krmilnika na notranji strani, tako da nihče ne more zaobiti varnosti, tako da odpre bralnik in poskuša kratek stik čitalnika. Krmilnik prejema serijske podatke od čitalnika in nadzoruje RGB LED in ključavnico za vrata. V tem primeru sem za testiranje oboje dal na ločene plošče za kruh. Tukaj je video pregled delovanja sistema Preberite, če želite videti, kako ga zgraditi zase! ** Posodobitev ** Vse kode, sheme in načini tiskanih vezij so bili preizkušeni in izboljšani. Vsi so objavljeni tukaj dne 9.9.2010 Posodobljen videoposnetek končnega nameščenega in delujočega sistema.

Korak: Potrebni deli

Potrebni deli
Potrebni deli

Tu je seznam delov in povezav do SparkFun.com, kjer sem jih kupil. To je osnovni sklop delov, ki jih potrebujete za izdelavo in arduino ter vezje za branje RFID oznak v arduino. Predvidevam, da že imate osnovo, napajalnik in priključne žice.

Arduino stvari

ATmega168 z zagonskim nalagalnikom Arduino 4,95 USD

Kristal 16MHz 1,50 USD

Keramični kondenzator 22pF 0,25 USD (x2)

Upor 10k Ohm 1/6 vat PTH 0,25 USD

Stikalo za mini gumb 0,35 USD

LED s trojnim izhodom RGB - razpršeno 1,95 USD

RFID stvari

Eden od teh, 20 ima boljši doseg, 12 je manjši ID bralnika RFID ID-12 29,95 USD RFID čitalnik ID-20 34,95 USD

Zlom bralnika RFID 0,95 USD

Break Away Headers - naravnost 2,50 USD

Oznaka RFID - 125 kHz 1,95 USD

Drugo

Tranzistor TIP31A (radijska hiša/lokalna trgovina z elektroniko 1,50 USD)

Zaklepanje vrat je iz ebaya. Door Fail Varen nadzor dostopa Electric Strike v5 NO 17,50 USD (kawamall, zaliv)

2. korak: Zgradite krmilnik Arduino

Zgradite krmilnik Arduino
Zgradite krmilnik Arduino
Zgradite krmilnik Arduino
Zgradite krmilnik Arduino
Zgradite krmilnik Arduino
Zgradite krmilnik Arduino

Prvi korak pri izdelavi ključavnice za vrata RFID z osnovnim Arduinom je izdelava osnovnega delovnega arduina. Večina že nameščenih čipov ATMega 168 Arduino ima vnaprej nameščen privzeti program za utripanje. Priključite LED na digitalni izhod 13 in preverite, ali vse deluje.

Strojni del tega bralnika RFID bi bil preveč preprost, če bi uporabili običajen arduino z vgrajenim programerjem USB. Ker nameravam to postaviti v steno in se je več ne dotikati, ne želim uporabiti velike arduino plošče v vrednosti 30 USD, ko lahko kupim ATMega 168 za 5 USD in naredim veliko manjšo PCB po meri.

Ker sem se sam odločil za izdelavo osnovnega vezja Arduino, potrebujem zunanji programer USB-> Serial FDIT. Vključil sem sheme krmilnika Eagle z napajalnikom, sestavljenim iz regulatorja napetosti 7805. Pri testiranju sem uporabil napajalnik za ploščo za kruh.

Za zagon arduina vse, kar resnično potrebujete, je ATMega168 z utripajočo programsko opremo arduino, 2x 22pF kondenzatorji, 16mhz kristal, 10k ohmski upor, gumb in plošča. Priključek za to je dobro znan, vendar sem vključil celotno shemo vezja.

Arduino bo sprožil 4 izhode, po 1 za rdečo/zeleno/modro LED in 1 za sprožitev TIP31A za pošiljanje 12vDC na ključavnico vrat. Arduino prejema serijske podatke na liniji Rx od bralnika RFID ID-20.

3. korak: Zgradite bralnik RFID

Zgradite bralnik RFID
Zgradite bralnik RFID
Zgradite bralnik RFID
Zgradite bralnik RFID
Zgradite bralnik RFID
Zgradite bralnik RFID

Zdaj, ko je vaš kruh arduino vkrcan in deluje, lahko sestavite del čitalnika RFID v vezju, ki bo vseboval LED ID-10 ali ID-20 in RGB, da prikaže stanje vezja. Ne pozabite, da bo bralnik zunaj in ločen od krmilnika znotraj, tako da nekdo ne more zlahka vdreti.

Za izdelavo tega bomo poslali 5v/Ground iz primarne plošče za kruh na sekundarno ploščo za kruh, na kateri gradimo bralnik. Pošljite tudi več kot 3 žice s 3 izhodnih zatičev arduino za nadzor LED RGB, po eno za vsako barvo. Še ena žica, Brown na slikah, bo serijska povezava za ID-20 za pogovor z arduinovim serijskim vhodom Rx. To je zelo preprosto vezje za povezavo. LED-uporni upori in nekaj točk na ID-20 so vezani na ozemljitev/5v za nastavitev pravilnega stanja.

Da bi olajšali oplaščenje, ID-10/ID-20 Sparkfun prodaja ploščo Breakout, ki vam omogoča, da pritrdite daljše glave zatičev, ki so razporejeni tako, da se prilegajo plošči za kruh. Ta del in glave zatičev so navedeni na seznamu delov.

Shema mora biti natančna in enostavna za sledenje.

4. korak: Program

Čas je, da programirate svoj arduino. To je lahko nekoliko zapleteno z uporabo osnovnega arduina, morda boste morali pritisniti gumb za ponastavitev večkrat pred in med prvim delom nalaganja. Zelo pomembna stvar, ki si jo morate zapomniti, boste prenesli napako pri nalaganju, če začasno ne odklopite serijske linije ID-20 na arduinovo linijo Rx. ATMega168 ima samo 1 Rx vhod in ga uporablja za nalaganje kode za pogovor s programerjem. Med programiranjem odklopite ID-20 in ga, ko končate, znova priključite. Uporabil sem programer FTDI, ki vam omogoča programiranje arduina prek USB -ja s samo 4 žicami. Shema krmilnika prikazuje povezavo glave zatiča, ki vam omogoča neposredno priključitev. Sparkfun tudi prodaja ta del, vendar ga mnogi morda že imajo.

Lahko preprosto naložite mojo kodo na svoj arduino in se nikoli ne ozrete nazaj, kaj pa je v tem zabavno? Naj razložim osnovno idejo, kako deluje.

Najprej nisem hotel nobenih zunanjih gumbov/stikal/itd in nisem hotel ponovno programirati arduina vsakič, ko sem hotel dodati novo kartico. Zato sem želel uporabljati samo RFID za nadzor delovanja vezja in nadzor nad ključavnico na vratih.

Program vklopi modro LED, kar pomeni, da je pripravljen za branje nove kartice. Ko se kartica prebere, se odloči, ali je veljavna ali ne, tako da primerja, kar je prebrala, s seznamom veljavnih kartic. Če je uporabnik veljaven, arduino izklopi modro LED in vklopi zeleno LED za 5 sekund. Prav tako za 5 sekund vklopi visoko moč drugega izhoda. Ta izhod je priključen na tranzistor TIP31A in omogoča drobnemu arduinu, da nadzoruje veliko večjo ključavnico vrat 12v 300mA, ne da bi se poškodoval. Po 5 sekundah se ključavnica na vratih znova zaklene in LED lučka zasveti modro, da počaka, da se prebere druga kartica. Če je kartica neveljavna, se LED za nekaj sekund spremeni v RDEČO in nazaj v modro, da počaka na drugo kartico.

Pomembno je, da ključavnica še vedno deluje, tudi če arduino čez noč izgubi moč ali se ponastavi. Zato so vsi veljavni ID -ji kartice shranjeni v pomnilniku EEPROM. ATMega168 ima 512 bajtov pomnilnika EEPROM. Vsaka kartica RFID ima serijsko številko 5 hex bajtov in kontrolno vsoto 1 hex bajt, s katero lahko preverimo, da pri prenosu med ID-20 in arduinom ni bilo napak.

Veljavne kartice se shranijo v EEPROM z uporabo prvega bajta kot števca. Če so na primer shranjene 3 veljavne kartice, bi bil prvi bajt v EEPROM -u 3. EEPROM.read (0); = 3. Če to vemo in dejstvo, da je vsak ID dolg 5 bajtov, vemo, da je 1-5 kartica ena, 6-10 kartica 2 in 11-15 kartica 3. Lahko naredimo zanko, ki gleda skozi EEPROM 5 bajtov hkrati in poskuša najti kartico, ki jo je prebral bralec.

Kako pa lahko po namestitvi vezja v EEPROM dodamo nove kartice ?? V eni od kartic RFID, ki jih imam, sem prebral in jo trdo kodiral kot glavno kartico RFID. Torej, tudi če je celoten EEPROM izbrisan, bo glavna kartica še vedno delovala. Kadar koli preberete kartico, najprej preveri, ali gre za glavno kartico, če ne, nato pa še naprej preverja, ali je veljavna ali ne. Če je kartica glavna kartica, gre arduino v "način programiranja", kjer utripa RGB in čaka, da se prebere druga veljavna oznaka. Naslednja označena oznaka se doda naslednjemu prostemu mestu v EEPROM -u in števec se poveča za 1, če kartica še ne obstaja v pomnilniku EEPROM. Bralnik se nato vrne v običajni način in počaka, da se prebere nova kartica.

Trenutno nisem programiral načina za brisanje kartice, ker bi bili razlogi za brisanje kartice najverjetneje izgubljeni ali ukradeni. Ker bi to najverjetneje uporabili pri 1-10 osebah, bi bilo najlažje trdo programirati kartico Master Erase, ki bo izbrisala vse kartice iz EEPROM-a in jih nato znova dodala, kar traja le nekaj sekund. Za brisanje EEPROM -a sem dodal kodo, vendar te funkcije še nisem uvedel..

Koda je priložena v besedilno datoteko skupaj s kopijo seznama delov.

5. korak: Razširite

To je le nekaj kul stvari, ki jih lahko počnete z RFID. To bi lahko še dodatno razširili z izhodom LCD, beleženjem, kdo in kdaj vstopi, omrežno/twitter povezavo itd. Načrtujem izdelavo končne PCB različice tega vezja. Še nikoli nisem izdelal tiskanega vezja, zato še vedno delam na oblikovanju in postavitvi delov. Ko jih bom dokončal, jih bom tudi objavil. Spodbujam vsakogar, naj vzame kodo, ki sem jo napisal, in jo spremeni, da naredi še bolj kul stvari!

Finalist tekmovanja Arduino

Priporočena: