viernes, 19 de septiembre de 2014

Control de Acceso mediante un modulo Lector RFID (Parte 1)

Hola a todos! Voy a explicar como construir fácilmente un Control de Acceso mediante un Modulo Lector RFID.
Hemos necesitado:
1º Arduino Mega (Con el Arduino Uno ya es más que suficiente)
2º Modulo lector RFID-RC522
3º Una tarjeta y un llavero RFID

Montaje:



Pin RFID-RC522
ARDUINO MEGA
ARDUINO UNO
MOSI
52
11
MISO
51
12
SCK
50
13
SDA
53
10




Antes de pasar a la parte de programación debéis de añadir la librería MFRC522. Yo la descargué de https://github.com/miguelbalboa/rfid . Aquí también tenemos algunos ejemplos para usar con el modulo RFID.

Para hacer el programa empecé a partir de un programa de ejemplo rfid_dump_block0, que lo tenéis junto con la librería citada anteriormente. Añadiendo unas líneas propias, hice que comparase la numeración de la tarjeta RFID con las que hay registradas en el mismo programa.

En el caso de que la tarjeta este registrada, podemos saber a quién pertenece y procedemos a dar un saludo, y en el caso de que no esté registrada le damos una invitación a salir

 No os olvidéis de definir la pin del Arduino utilizado en el PIN SDA y el PIN RST en la linea 3 y 4 del código.



7 comentarios:

  1. Hola gracias por el tutorial el problema que tengo es que le cambio el codigo hexadecimal por los mios y no lo reconoce

    ResponderEliminar
  2. Buenas noches, ami me pasa lo mismo que al compañero. Cambio los códigos por los mios (mis tarjetas no llevan código impreso) y no se si es que no estoy introduciendo el código correctamente.
    Me podrías indicar porque en el código del programa has puesto que son los 4 primeros digitos hexadecimales?
    Si son los 4 primeros digitos hexadecimales de un total de cuantos de los que da la tarjeta?

    ResponderEliminar
  3. buenas noches me marca error cuando agrego la libreria MFRC522 del enlace me dice q no se puede usar q solo debe de tener letras y numeros, me ayudarian por favor

    ResponderEliminar
  4. Hola me pasa igual que a Nacho y Ricard. Puedes ayudarnos? ya que te has molestado en crear y compartir este codigo, que menos que ayudar a resolver las dudas.

    Gracias

    ResponderEliminar
  5. Hola, muy interesante el proyecto, tengo el siguiente error.






    C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino:15:57: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

    char* individuo[numcards]={"Hola Fernando","Hola Susan"};

    ^

    C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino:15:57: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

    C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino: In function 'void loop()':

    RFID_SERIAL:47: error: invalid conversion from 'byte {aka unsigned char}' to 'MFRC522::PICC_Type' [-fpermissive]

    Serial.println(mfrc522.PICC_GetTypeName(piccType));

    ^

    In file included from C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino:2:0:

    C:\Users\647\Documents\Arduino\libraries\MFRC522/MFRC522.h:389:29: error: initializing argument 1 of 'const __FlashStringHelper* MFRC522::PICC_GetTypeName(MFRC522::PICC_Type)' [-fpermissive]

    const __FlashStringHelper *PICC_GetTypeName(PICC_Type type);

    ^

    RFID_SERIAL:56: error: invalid conversion from 'byte {aka unsigned char}' to 'MFRC522::StatusCode' [-fpermissive]

    Serial.println(mfrc522.GetStatusCodeName(status));

    ^

    In file included from C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino:2:0:

    C:\Users\647\Documents\Arduino\libraries\MFRC522/MFRC522.h:385:29: error: initializing argument 1 of 'const __FlashStringHelper* MFRC522::GetStatusCodeName(MFRC522::StatusCode)' [-fpermissive]

    const __FlashStringHelper *GetStatusCodeName(StatusCode code);

    ^

    RFID_SERIAL:66: error: invalid conversion from 'byte {aka unsigned char}' to 'MFRC522::StatusCode' [-fpermissive]

    Serial.println(mfrc522.GetStatusCodeName(status));

    ^

    In file included from C:\Users\647\Downloads\RFID_SERIAL\RFID_SERIAL.ino:2:0:

    C:\Users\647\Documents\Arduino\libraries\MFRC522/MFRC522.h:385:29: error: initializing argument 1 of 'const __FlashStringHelper* MFRC522::GetStatusCodeName(MFRC522::StatusCode)' [-fpermissive]

    const __FlashStringHelper *GetStatusCodeName(StatusCode code);

    ^

    exit status 1
    invalid conversion from 'byte {aka unsigned char}' to 'MFRC522::PICC_Type' [-fpermissive]

    ResponderEliminar
  6. amigo por favor revisa el código tiene algunos errores todos los que comentamos nos serviría mucho de ayuda

    ResponderEliminar
  7. Online Slots: 7 Best Mobile Casino Apps In NJ - JtmHub
    New Jersey online slots is now available in 공주 출장안마 our top 7 mobile casino apps — 거제 출장안마 the best online slots 김제 출장샵 sites 제이티엠허브출장안마 in New Jersey, NJ, 경기도 출장안마 Top 7 mobile casino apps in NJ

    ResponderEliminar