Você está na página 1de 6

El control de acceso con el mdulo RFID RC522

RFID ( R adio F recuencia ID entificacin o identificacin por radiofrecuencia) es una tecnologa


que utiliza seales de radio y un (etiqueta) etiqueta de RFID para leer y escribir datos.
La forma ms comn de utilizar la RFID es la identificacin de productos, en los que una etiqueta
puede contener informacin como el cdigo de producto, origen, fecha de vencimiento, fabricante,
etc. Pero su uso no se limita a esto. Podemos utilizar etiquetas RFID en animales con fines de
seguimiento en vehculos conocidos del sistema no tiene punto de pasaportes, seguimiento de la
carga, control de acceso y muchas otras aplicaciones.

El mdulo RC522 RFID para Arduino es capaz de leer las etiquetas que funcionan a una frecuencia
de 13,56 MHz, y soporta tarjetas del tipo Mifare1 S50, S70 Mifare1 Mifare Ultralight, Mifare y Mifare
DESFire Pro.

conexin del mdulo RFID para el Arduino


mdulo RC522 RFID utiliza la interfaz SPI para la comunicacin con el Arduino a travs de los
pines digitales 10 a 13, ms all de la clavija 9 conectado a la RST mdulo. Ver la imagen a
continuacin la disposicin de pines y la conexin con el Arduino, con los pernos apoyados
por MFRC522 biblioteca , que utilizamos en nuestro programa de control de acceso:

La atencin a la alimentacin del mdulo, que se hace a travs del pin 3.3V de Arduino.

El control de acceso con RFID


Vamos a probar el mdulo RFID montaje de un control de acceso usando el Arduino Uno y se
comprueba el nmero de etiqueta y libera (o no), que pasa a travs de una puerta controlada por
un servomotor (microservo 9G):

Este control de acceso usando el circuito de abajo, recordando una vez ms que el poder de
mdulo RFID se realiza a travs de 3.3V pines, y el servo motor se alimenta con 5V, por lo que la
atencin en el montaje de no invertir las conexiones:

Reconociendo las etiquetas y controlar el motor servo


En el programa que utilizamos la librera Servo , ya presente en el IDE de Arduino, y tambin la
bibliotecaMFRC522 , que encontramos que enlazan .
Aadimos dos LEDs para mostrar si el acceso fue liberado ( LED verde en la puerta 5), o negada
( LED rojointermitente en la puerta 6).
Para adaptar el programa a su etiqueta, comprobar el monitor serie el nmero ( UID ) de la etiqueta
leda por el sensor, y luego poner este nmero en esta lnea, en lugar de la "D8 4B 12 22" :
si (conteudo.substring (1) == "D8 12 22 4B")
Como tenemos dos tarjetas, aadir dos entradas idnticas y acaba de cambiar el nmero de UID
en cada una, con una de las tarjetas de acceso liberado y acciona el servomotor, movindolo 90
grados, y el otro con acceso denegado, intermitente el lED rojo.
1
2
3
4
5
6
7
8
9
10
11
12
13

// Programa: RFID - Control de Acceso / cancelar


// Autor: Arduino y Co.
# include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
microservo9g servo;
#define SS_PIN 10
# define RST_PIN 9
mdulo // Definiciones pasador RC522
MFRC522 mfrc522 (SS_PIN, RST_PIN);

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

// leds indicadores liberado o denegado el acceso


int led_liberado = 5 ;
int led_negado = 6 ;
Char st [ 20 ];
void setup ()
{
pinMode (led_liberado, OUTPUT);
pinMode (led_negado, OUTPUT);
// Establecer el servo est conectado al puerto digital de 3
microservo9g.attach ( 3 );
// Mover el servo a la posicin inicial (puerta cerrada)
microservo9g.write ( 90 );
// Inicia la serie
Serial.begin ( 9600 ) ;
// Inicia el bus SPI
SPI.begin ();
// Inicia MFRC522
mfrc522.PCD_Init ();
// mensajes iniciales sobre el monitor serie
Serial.println ( "enfoque de su lector de tarjetas ..." );
Serial.println ();
}
void loop ()
{
// Espera a que la aproximacin de la tarjeta
si (! Mfrc522.PICC_IsNewCardPresent ())
{
volver ;
}
// Seleccionar una de las tarjetas
si (! Mfrc522.PICC_ReadCardSerial ())
{
volver ;
}
// Muestra la serie UID
Serial.print ( "etiqueta UID:" );
Contenido de la serie = "" ;
carta de bytes;
es (byte i = 0 ; i <mfrc522.uid.size; i ++)
{
Serial.print (mfrc522.uid.uidByte [i] < 0x10 ? "0" : "" );
Serial.print (mfrc522.uid.uidByte [i] HEX);
conteudo.concat (String (mfrc522.uid.uidByte [i] < 0x10 ? "0" :
"" ));
conteudo.concat (String (mfrc522.uid.uidByte [i] HEX));
}
Serial.println ();
Serial.print ( "mensaje" );

66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

conteudo.toUpperCase ();
// Comprueba si la cartn1 fue ledo
si (conteudo.substring ( 1 ) == "D8 4B 12 22" )
{
// Aumenta la puerta y enciende el led verde
microservo9g.write (- 90 );
digitalWrite (led_liberado, HIGH);
Serial.println ( "cartn1 - Acceso liberado" );
Serial.println ();
retardo ( 3000 );
microservo9g.write ( 90 );
digitalWrite (led_liberado, LOW);
}
// Comprueba si se ha ledo el Cardboard2
si (conteudo.substring ( 1 ) == "87 4B DC 8A" )
{
Serial.println ( "Cardboard2 - Acceso denegado !!" );
Serial.println ();
// LED parpadea de color rojo
para ( int i = 1 ; i < 5 ; i ++)
{
digitalWrite (led_negado, HIGH);
de retardo ( 200 );
digitalWrite (led_negado, LOW);
de retardo ( 200 );
}
}
retardo ( 1000 );
}

Por debajo del monitor serie que muestra los datos de las etiquetas que han sido liberados o
denegadas:

Este proyecto se puede mejorar mediante la adicin de un sensor de infrarrojos para detectar el
paso de vehculos / personas / objetos por la puerta, o una pantalla para el recuento de golpear

Você também pode gostar