Taula de continguts:

Pany de porta RFID Arduino: 5 passos (amb imatges)
Pany de porta RFID Arduino: 5 passos (amb imatges)

Vídeo: Pany de porta RFID Arduino: 5 passos (amb imatges)

Vídeo: Pany de porta RFID Arduino: 5 passos (amb imatges)
Vídeo: Торий: энергетическое решение - THORIUM REMIX 2011 2024, Desembre
Anonim
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino
Pany de porta RFID Arduino

*** Actualitzat el 8/9/2010 *** Volia fer una manera fàcil i segura d'entrar al meu garatge. La RFID era la millor manera de desbloquejar la porta, fins i tot amb les mans plenes puc desbloquejar la porta i obrir-la. Vaig construir un circuit senzill amb un xip arduino bàsic ATMega 168 i un lector RFID ID-20 per controlar un pany electrònic. El circuit consta de 3 parts separades, un lector per llegir etiquetes RFID, un controlador per acceptar dades del lector i controlar la sortida del LED RGB i del pany de la porta elèctrica. El pany de la porta s’instal·la primer en una porta i es prova amb una bateria de 9 v per garantir la correcta instal·lació. En la majoria dels casos, voleu un circuit normalment obert al pany de la porta o Fail Secure. Això significa que la porta es manté bloquejada quan no hi passa corrent. Quan es fa passar 12vDC a través de l’ electroimant del pany de la porta, una placa del pany cedeix i permet obrir la porta lliurement. El lector es col·loca a l'exterior de la porta i està separat del controlador de l'interior de manera que ningú pugui eludir la seguretat obrint el lector i intentant curtcircuitar el lector. El controlador rep dades de sèrie del lector i controla el led RGB i el bloqueig de la porta. En aquest cas, he posat tots dos en taules de pa separades per provar-les. Aquí teniu una descripció general del sistema en acció Seguiu llegint per veure com construir-ne un. ** Actualització ** Tots els dissenys de codi, esquemes i PCB s'han provat i refinat. Tots es publiquen aquí a partir del 8/9/2010 Vídeo actualitzat del sistema final instal·lat i funcionant.

Pas 1: parts necessàries

Parts necessàries
Parts necessàries

Aquí hi ha una llista de parts i enllaços a SparkFun.com on els he comprat. Aquest és el conjunt bàsic de peces que necessiteu per construir i arduino i un circuit per llegir etiquetes RFID a l'arduino. Suposo que ja teniu una placa de connexió, una font d'alimentació i cables de connexió.

Coses d'Arduino

ATmega168 amb Arduino Bootloader 4,95 $

Cristall de 16 MHz 1,50 USD

Condensador ceràmic 22pF 0,25 $ (x2)

Resistència 10k Ohm 1 / 6è vati PTH 0,25 $

Mini botó polsador 0,35 USD

LED de sortida triple RGB: difós 1,95 USD

Coses RFID

Qualsevol d’aquestes, 20 té un abast millor, 12 és més petit RFID Reader ID-12 29,95 $ RFID Reader ID-20 34,95 $

Lector RFID Breakout 0,95 $

Capçaleres Break Away: rectes 2,50 $

Etiqueta RFID: 125 kHz 1,95 USD

Altres

Transistor TIP31A (barra de ràdio / botiga d'electrònica local 1,50 USD)

El pany de la porta és d’ebay. Fallada de la porta Control d'accés segur Electric Strike v5 NO 17,50 $ (kawamall, badia)

Pas 2: creeu el controlador Arduino

Construeix el controlador Arduino
Construeix el controlador Arduino
Construeix el controlador Arduino
Construeix el controlador Arduino
Construeix el controlador Arduino
Construeix el controlador Arduino

El primer pas per construir un pany de porta RFID amb un Arduino bàsic és treure un arduino bàsic de treball. La majoria dels xips ATMega 168 pre-flashed d’Arduino vénen amb el programa de parpelleig predeterminat preinstal·lat. Connecteu un LED a la sortida digital 13 i verifiqueu que tot funcioni.

La part de maquinari d’aquest lector RFID seria massa senzilla si utilitzéssim un arduino normal amb programador USB incorporat. Com que tinc la intenció de posar-ho a la paret i no tornar-lo a tocar, no vull fer servir una gran placa arduino de 30 dòlars quan pugui comprar un ATMega 168 de 5 dòlars i fer un PCB personalitzat molt més petit.

Com que vaig escollir fer un circuit Arduino bàsic jo mateix, necessito un programador extern USB-> Serial FDIT. He inclòs els esquemes Eagle del controlador amb una font d'alimentació construïda a partir d'un regulador de voltatge 7805. En les proves vaig utilitzar una font d'alimentació per a taulers de pa.

Per posar en funcionament un arduino, tot el que realment necessiteu és l'ATMega168 amb el programari arduino llampat, condensadors de 2x 22pF, cristall de 16 MHz, resistència de 10k ohm, polsador i un tauler de suport. La connexió per a això és ben coneguda, però he inclòs tot l'esquema del circuit.

L'arduino activarà 4 sortides, una cadascuna per a LEDs vermells / verds / blaus, i una altra per activar el TIP31A per enviar 12vDC al pany de la porta. L’arduino rep dades de sèrie a la seva línia Rx des del lector RFID ID-20.

Pas 3: Creeu el lector RFID

Construeix el lector RFID
Construeix el lector RFID
Construïu el lector RFID
Construïu el lector RFID
Construïu el lector RFID
Construïu el lector RFID

Ara que teniu el pa arduino embarcat i treballant, podeu muntar la part del lector RFID del circuit que contindrà el LED ID-10 o ID-20 i RGB per indicar l’estat del circuit. Recordeu que el lector estarà fora i estarà separat del controlador interior perquè algú no pugui entrar fàcilment.

Per construir-ho, enviarem 5v / Ground des de la placa principal de pa a una placa secundària per a la qual estem construint el Reader. Envieu també més de 3 cables de 3 dels pins de sortida arduino per controlar el LED RGB, un per a cada color. Un cable més, Brown a les imatges, serà una connexió sèrie per a l'ID-20 per parlar amb l'entrada serial Rx de l'arduino. Es tracta d’un circuit molt senzill de connectar. Els LED obtenen resistències i alguns punts de l'ID-20 estan lligats a terra / 5v per establir l'estat correcte.

Per facilitar el panellat, l’ID-10 / ID-20 Sparkfun ven un tauler Breakout que us permet connectar capçaleres de pin més llargues que estan espaiades per adaptar-se a una taula de pa. Aquesta part i les capçaleres indicades a la llista de peces.

L'esquema ha de ser estret i fàcil de seguir.

Pas 4: programa

És hora de programar el vostre arduino. Això pot ser una mica complicat amb un arduino bàsic, és possible que hàgiu de prémer el botó de reinicialització diverses vegades abans i durant la primera part de la càrrega. Una cosa molt important que cal recordar, obtindreu un error de pujada si no desconnecteu temporalment la línia sèrie ID-20 a la línia Rx de l'arduino. L’ATMega168 només té 1 entrada Rx i l’utilitza per pujar codi per parlar amb el programador. Desconnecteu l'ID-20 mentre programeu i torneu-lo a endollar quan hàgiu acabat. He utilitzat un programador FTDI que us permet programar l’arduino mitjançant USB amb només 4 cables. L'esquema del controlador mostra una connexió de capçalera de pin que us permet connectar-ne una directament. Sparkfun també ven aquesta part, però és possible que molts ja la tinguin.

Podeu penjar fàcilment el meu codi al vostre arduino i no mirar mai enrere, però, què hi ha de divertit? Deixeu-me explicar la idea bàsica de com funciona.

Primer de tot, no volia cap botó / commutador / etc extern i no volia reprogramar l’arduino cada vegada que volia afegir una targeta nova. Per tant, volia utilitzar només RFID per controlar el funcionament del circuit, així com el control del pany de la porta.

El programa engega el LED blau per indicar que està a punt per llegir una nova targeta. Quan es llegeix la targeta, decideix si és una targeta vàlida o no comparant el que ha llegit amb una llista de targetes vàlides. Si l'usuari és vàlid, l'arduino apaga el LED blau i l'encén durant 5 segons. També activa una altra sortida alta durant 5 segons. Aquesta sortida està connectada al transistor TIP31A i permet al petit arduino controlar un pany de porta de 12v 300mA molt més gran sense que es faci malbé. Al cap de 5 segons, el pany es torna a bloquejar i el LED torna a ser blau per esperar que es llegeixi una altra targeta. Si la targeta no és vàlida, el LED canvia a VERMELL durant uns segons i torna a Blau per esperar una altra targeta.

És important que el pany de la porta segueixi funcionant fins i tot si l’arduino perd energia durant la nit o es reinicia. Per tant, tots els identificadors de targeta vàlids s’emmagatzemen a la memòria EEPROM. L'ATMega168 té 512 bytes de memòria EEPROM. Cada targeta RFID té un número de sèrie de 5 bytes hexadecimals i una suma de comprovació de 1 byte hexadecimal que podem utilitzar per verificar que no hi hagi hagut cap error en la transmissió entre l’ID-20 i l’arduino.

Les targetes vàlides s’emmagatzemen a l’EEPROM mitjançant el primer byte com a comptador. Per exemple, si hi ha 3 targetes vàlides emmagatzemades, el primer Byte a l'EEPROM seria 3. EEPROM.read (0); = 3. Sabent això i el fet que cada identificador tingui una longitud de 5 bytes, sabem que l’1-5 és la carta primera, el 6-10 és la targeta 2 i l’11-15 és la targeta 3. Podem fer un bucle que mira a través de l’EEPROM 5 bytes alhora i intenta trobar la targeta que el lector ha llegit.

Però, com podem afegir noves targetes a l'EEPROM després d'instal·lar el circuit? He llegit una de les targetes RFID que tinc i l'he codificat per ser la targeta RFID principal. Així, fins i tot si s’esborra tota l’EEPROM, la targeta mestra continuarà funcionant. Sempre que es llegeix una targeta, comprova primer si es tracta de la targeta mestra, si no, continua comprovant si és una targeta vàlida o no. Si la targeta és la targeta mestra, tenim l'arduino en un "mode de programació" on parpelleja RGB i espera que es llegeixi una altra etiqueta vàlida. La següent etiqueta que es llegeix s'afegeix al següent lloc lliure de l'EEPROM i el comptador s'incrementa 1 si la targeta no existeix a la memòria EEPROM. El lector torna al mode normal i espera que es llegeixi una nova targeta.

Actualment no he programat cap manera de suprimir una targeta, ja que és probable que els motius per esborrar-la es perdessin o es robessin. Com que el més probable és que s'utilitzi amb 1-10 persones, el més fàcil de fer seria programar una targeta Master Erase que esborri totes les cartes de l'EEPROM per tornar-les a afegir totes, que només triguen uns segons. He afegit codi per esborrar l'EEPROM, però encara no he implementat aquesta funció..

El codi s'adjunta en un fitxer de text juntament amb una còpia de la llista de parts.

Pas 5: amplieu

Això és només algunes de les coses interessants que podeu fer amb la RFID. Podeu ampliar-ho molt més amb una sortida LCD, registrant qui entra i quan, connexió de xarxa / twitter, etc. Tinc previst fer una versió PCB acabada d’aquest circuit. Mai no he fet cap PCB, de manera que segueixo treballant en el disseny i la disposició de les peces. Un cop les tinc completes, les publicaré també. Animo tothom a que agafi el codi que he escrit i que el modifiqui per fer coses encara més interessants.

Finalista del Concurs Arduino

Recomanat: