INHOUDSOPGAWE:

Arduino RFID -deurslot: 5 stappe (met foto's)
Arduino RFID -deurslot: 5 stappe (met foto's)

Video: Arduino RFID -deurslot: 5 stappe (met foto's)

Video: Arduino RFID -deurslot: 5 stappe (met foto's)
Video: You Need To See This DIY Paint App #electrician #arduino #electronics #engineer #diy #software 2024, Julie
Anonim
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot
Arduino RFID deurslot

*** Opgedateer 8/9/2010 *** Ek wou 'n maklike en veilige manier maak om my motorhuis binne te gaan. RFID was die beste manier om my deur oop te sluit, selfs met my hande vol kan ek die deur oopmaak en oopstoot! Ek het 'n eenvoudige stroombaan gebou met 'n basiese ATMega 168 arduino-chip en 'n ID-20 RFID-leser om 'n elektroniese deurslot te beheer. Die kring bestaan uit 3 afsonderlike dele, 'n Reader om RFID -tags te lees, 'n Controller om data van die leser te aanvaar en die uitset van die RGB LED en die elektriese deurslot te beheer. Die deurslot word eers in 'n deur geïnstalleer en met 'n 9V -battery getoets om die korrekte installasie te verseker. In die meeste gevalle wil u 'n normaal oop kring op die deurslot hê, of Fail Secure. Dit beteken dat die deur gesluit bly as daar geen stroom daardeur loop nie. As 12vDC deur die elektromagneet in die deurslot gelei word, gee 'n plaat in die slot pad en laat die deur vry oopgedruk word. Die leser word aan die buitekant van die deur geplaas en is aan die binnekant apart van die beheerder, sodat niemand die veiligheid kan omseil deur die Reader oop te breek en die leser te probeer kortsluit nie. Die beheerder ontvang reeksdata van die leser en beheer die RGB -LED en die deurslot. In hierdie geval het ek albei op aparte broodborde gesit om te toets. Hier is 'n video -oorsig van die stelsel in werking Lees verder om te sien hoe u een vir u self kan bou! ** Opdatering ** Al die kode-, skematiese en PCB -ontwerpe is getoets en verfyn. Hulle word almal hier geplaas vanaf 8/9/2010 Opgedateerde video van die finale stelsel wat geïnstalleer en werk.

Stap 1: Onderdele benodig

Onderdele benodig
Onderdele benodig

Hier is 'n lys met onderdele en skakels na SparkFun.com waar ek dit gekoop het. Dit is die basiese stel dele wat u moet bou en arduino en 'n kring om RFID -etikette in die arduino in te lees. Ek neem aan dat u reeds 'n broodbord, kragtoevoer en aansluitdrade het.

Arduino goed

ATmega168 met Arduino Bootloader $ 4,95

Kristal 16MHz $ 1,50

Kondensator keramiek 22pF $ 0,25 (x2)

Weerstand 10k Ohm 1/6 Watt PTH $ 0,25

Mini drukknopskakelaar $ 0,35

Drie -uitvoer -LED RGB - $ 1,95 versprei

RFID dinge

Een van hierdie twee, 20 het 'n beter reeks, 12 is kleiner RFID Reader ID-12 $ 29,95 RFID Reader ID-20 $ 34,95

RFID -leser -uitbreek $ 0,95

Break Away Headers - reguit $ 2,50

RFID -tag - 125kHz $ 1,95

Ander

TIP31A -transistor (radiohut/plaaslike elektronikawinkel $ 1,50)

Deurslot is van eBay. Deur misluk Veilige toegangsbeheer Electric Strike v5 NO $ 17.50 (kawamall, bay)

Stap 2: Bou die Arduino -beheerder

Bou die Arduino -beheerder
Bou die Arduino -beheerder
Bou die Arduino -beheerder
Bou die Arduino -beheerder
Bou die Arduino -beheerder
Bou die Arduino -beheerder

Die eerste stap om 'n RFID -deurslot met 'n basiese Arduino te bou, is om 'n basiese werkende arduino uit te voer. Die meeste voorafgeklitsde ATMega 168-skyfies van Arduino word voorsien van die standaardblinkprogram wat vooraf geïnstalleer is. Koppel 'n LED aan digitale uitgang 13 en verifieer dat alles werk.

Die hardeware -gedeelte van hierdie RFID -leser sou te eenvoudig wees as ons 'n gewone arduino met 'n ingeboude USB -programmeerder gebruik. Aangesien ek van plan is om dit in die muur te plaas en dit nie weer aan te raak nie, wil ek nie 'n groot, arduino -bord van $ 30 gebruik as ek 'n ATMega 168 van $ 5 kan koop en 'n baie kleiner PCB kan maak nie.

Omdat ek gekies het om self 'n basiese Arduino-kring te maak, het ek 'n eksterne USB-> Seriële FDIT-programmeerder nodig. Ek het die Eagle -skema's van die kontroleerder ingesluit met 'n kragtoevoer wat uit 'n 7805 spanningsreguleerder gebou is. By die toets het ek 'n broodbordkragbron gebruik.

Om 'n arduino aan die gang te kry, is alles wat u regtig nodig het, die ATMega168 met die arduino -sagteware daarop, 2x 22pF -kondensators, kristal van 16mhz, 10k ohm -weerstand, drukknop en 'n broodbord. Die aansluiting hiervoor is welbekend, maar ek het die volledige skema vir die kring ingesluit.

Die arduino gaan 4 uitsette aktiveer, 1 elk vir rooi/groen/blou LED's, en 1 om die TIP31A te aktiveer om 12vDC na die deurslot te stuur. Die arduino ontvang seriële data op sy Rx-lyn van die ID-20 RFID-leser.

Stap 3: Bou die RFID -leser

Bou die RFID -leser
Bou die RFID -leser
Bou die RFID -leser
Bou die RFID -leser
Bou die RFID -leser
Bou die RFID -leser

Noudat u u arduino-brood aan boord het en aan die werk is, kan u die deel van die RFID-leser van die kring wat die ID-10 of ID-20 en RGB LED bevat, saamstel om die status van die kring aan te dui. Onthou dat die leser buite en buite die beheerder sal wees, sodat iemand nie maklik kan inbreek nie.

Om dit te bou, stuur ons 5v/grond van die primêre broodbord na 'n sekondêre broodbord waarop ons die leser bou. Stuur ook meer as 3 drade van 3 van die arduino -uitsetpenne om die RGB LED, een vir elke kleur, te beheer. Nog 'n draad, Brown in die foto's, is 'n seriële verbinding vir die ID-20 om met die arduino se Rx-reeksinvoer te praat. Dit is 'n baie eenvoudige kring om aan te sluit. LED's kry weerstande en 'n paar punte op die ID-20 is vasgemaak aan die grond/5v om die korrekte status in te stel.

Om die bord makliker te maak, verkoop die ID-10/ID-20 Sparkfun 'n uitbreekbord waarmee u langer penkopstukke kan plaas wat op 'n afstand tussen 'n broodbord pas. Hierdie onderdeel en die speldkopers word in die onderdelelys gelys.

Die skematiese voorblad moet reguit vorentoe wees en maklik om te volg.

Stap 4: Programmeer

Tyd om jou arduino te programmeer. Dit kan 'n bietjie lastig wees met behulp van 'n basiese arduino; u moet moontlik die reset -knoppie verskeie kere druk voor en tydens die eerste deel van die oplaai. 'N Baie belangrike ding om te onthou: u kry 'n oplaaifout as u die ID-20-reëllyn tydelik nie aan die Rx-lyn van die arduino koppel nie. Die ATMega168 het slegs 1 Rx -invoer en dit gebruik dit om kode op te laai om met die programmeerder te praat. Ontkoppel die ID-20 terwyl u programmeer, en koppel dit weer aan sodra u klaar is. Ek het 'n FTDI -programmeerder gebruik waarmee u die arduino via USB met slegs 4 drade kan programmeer. Die skematiese kontroleerder toon 'n speldkopverbinding sodat u een direk kan inskakel. Sparkfun verkoop ook hierdie onderdeel, maar baie het dit dalk al.

U kan my kode maklik na u arduino oplaai en nooit terugkyk nie, maar wat is die plesier daarin? Laat ek die basiese idee van hoe dit werk verduidelik.

Eerstens wou ek geen eksterne knoppies/skakelaars/ens hê nie, en ek wou nie die arduino herprogrammeer elke keer as ek 'n nuwe kaart wou byvoeg nie. Daarom wou ek slegs RFID gebruik om die werking van die stroombaan sowel as die beheer van die deurslot te beheer.

Die program skakel die blou LED aan om aan te dui dat dit gereed is om 'n nuwe kaart te lees. As die kaart gelees word, besluit dit of dit 'n geldige kaart is of nie deur dit te vergelyk met 'n lys geldige kaarte. As die gebruiker geldig is, skakel die arduino die blou LED uit en skakel die groen LED vir 5 sekondes aan. Dit skakel ook 'n ander uitset hoog vir 5 sekondes aan. Hierdie uitset is gekoppel aan die TIP31A -transistor en laat die klein arduino toe om 'n veel groter 12v 300mA deurslot te beheer sonder om beskadig te word. Na 5 sekondes sluit die deurslot weer en die LED word weer blou om te wag dat nog 'n kaart gelees moet word. As die kaart ongeldig is, verander die LED vir 'n paar sekondes na ROOI en terug na Blue om te wag vir 'n ander kaart.

Dit is belangrik dat die deurslot steeds werk, selfs al verloor die arduino oornag krag of word dit herstel. Daarom word alle geldige kaart -ID's in die EEPROM -geheue gestoor. Die ATMega168 het 512 Bytes EEPROM -geheue. Elke RFID-kaart het 'n 5 Hex Byte-reeksnommer en 'n 1 Hex Byte Check-som wat ons kan gebruik om te verifieer dat daar geen foute was in die oordrag tussen die ID-20 en die arduino nie.

Geldige kaarte word in die EEPROM gestoor deur die eerste Byte as 'n teller te gebruik. Byvoorbeeld, as daar 3 geldige kaarte gestoor is, sou die eerste Byte in die EEPROM 3. EEPROM.read (0) wees; = 3. As ons dit weet, en die feit dat elke ID 5 Bytes lank is, weet ons dat 1-5 kaart een is, 6-10 kaart 2 is en 11-15 kaart 3. Ons kan 'n lus maak wat deur die EEPROM kyk 5 grepe op 'n slag en probeer die kaart vind wat die leser ingelees het.

Maar hoe kan ons nuwe kaarte by die EEPROM voeg nadat die kring geïnstalleer is? Ek het gelees in een van die RFID -kaarte wat ek het, en het dit hard gekodeer as die Master RFID -kaart. Dus, selfs al word die hele EEPROM uitgevee, sal die hoofkaart steeds funksioneer. Elke keer as 'n kaart gelees word, kyk dit eers of dit die Master -kaart is, so nie, dan kyk dit of dit 'n geldige kaart is of nie. As die kaart die hoofkaart is, moet ons die arduino in 'n 'programmeermodus' gaan, waar dit RGB flits en wag totdat 'n ander geldige etiket gelees word. Die volgende etiket wat gelees word, word by die volgende vrye plek in die EEPROM gevoeg en die toonbank word verhoog 1 as die kaart nie reeds in die EEPROM -geheue bestaan nie. Die leser keer dan terug na die normale modus en wag totdat 'n nuwe kaart gelees word.

Ek het tans nie 'n manier om 'n kaart te verwyder geprogrammeer nie, aangesien die redes vir die verwydering van 'n kaart waarskynlik sou wees dat dit verlore of gesteel is. Aangesien dit waarskynlik met 1-10 mense gebruik sou word, is die maklikste om 'n Master Erase-kaart te hardprogrammeer wat alle kaarte van die EEPROM sal afvee en dit dan weer byvoeg, wat slegs 'n paar sekondes neem. Ek het kode bygevoeg om die EEPROM uit te vee, maar ek het hierdie funksie nog nie geïmplementeer nie..

Die kode is aangeheg in 'n tekslêer saam met 'n afskrif van die onderdele lys.

Stap 5: Brei uit

Dit is slegs 'n paar van die lekker dinge wat u met RFID kan doen. U kan dit baie verder uitbrei met 'n LCD -uitset, aanmelding van wie binnekom en wanneer, netwerk/twitter -verbinding, ens. Ek beplan om 'n voltooide PCB -weergawe van hierdie kring te maak. Ek het nog nooit 'n PCB gemaak nie, so ek werk nog steeds aan die ontwerp en uitleg van die onderdele. Sodra ek dit voltooi het, plaas ek dit ook. Ek moedig almal aan om die kode wat ek geskryf het te neem en dit aan te pas om nog meer cool dinge te doen!

Finalis in die Arduino -wedstryd

Aanbeveel: