Go Down

Topic: Lector RFID [SOLUCIONADO] (Read 2474 times) previous topic - next topic

B96SR

Oct 29, 2018, 06:42 pm Last Edit: Nov 05, 2018, 05:07 pm by surbyte
Buen dia

Tengo dudas sobre el lector RFID RC522 con arduino uno

pin 10 - SDA
pin 13 - SCK
pin 11 - MOSI
pin 12 - MISO
GND   - GND
pin 9  - RST
3.3 V - 3.3 V

les dejo ahi el codigo, lo que pasa es que paso la tarjeta o el llavero y no lo detecta, ¿a que se debe?,
tengo 2 RFID y ya lo eh probado con ambos

Code: [Select]

#include <SPI.h>    //Cargamos la librería SPI incluida en el IDE de Arduino
#include <RFID.h>   //Cargamos la librería RC522_RFID de Paul Kourany

#define SS_PIN 10   // Declaramos el pin SDA del Arduino
#define RST_PIN 9   // Declaramos el pin RST del Arduino
RFID rfid(SS_PIN, RST_PIN);   //Iniciamos el objeto RFID

String cardID;      //Declaramos una variable de tipo string
                    //para almacenar el valor de los datos obtenidos de
                    //la etiqueta RFID

void setup() {
Serial.begin(9600);//Iniciamos la comunicación serie para leer las respuestas del módulo
SPI.begin();        //Iniciamos la comunicación SPI
rfid.init();        //Iniciamos el objeto RFID
}

void loop() {
check_for_card();   //Comprobamos en bucle si hay una tarjeta cerca del lector llamando a la función check_for_card()
}

void check_for_card()
{

 if (rfid.isCard()) {   //Si hay una tarjeta cerca del lector...
   Serial.println("Se ha detectado una tarjeta cerca del lector"); //Mostramos un mensaje por el monitor serie

   if (rfid.readCardSerial()) {     //Leemos la ID de la tarjeta
      cardID = String(rfid.serNum[0]) + String(rfid.serNum[1]) + String(rfid.serNum[2]) + String(rfid.serNum[3]) + String(rfid.serNum[4]);  //Le damos una formato de cadena de carácteres
      Serial.println(cardID);  //La mostramos en el monitor serie

      if (cardID == "4272516342312" || cardID == "4426315511437"){   //Si la ID es alguna de estas 2...
        Serial.println("La tarjeta es valida");  //La tarjeta es válida!

      }else{   //En caso contrario...
        Serial.println("La tarjeta es invalida"); //La tarjeta no es válida!
      }

   rfid.halt();  //Finalizamos el objeto RFID
   delay(1000);  //Pausa de 1 segundo para dar tiempo a finalizar todas las ordenes
   }
}
}

Swift

Hola prueba con este tutorial y el código que indica con su respectiva librería LECTURA DE TARJETAS RFID a ver si puedes leer la tarjeta y su identificador

B96SR

Gracias, ya lo probé y no me funciono, no se a que se debe

B96SR

Ya lo solucione, gracias

para empezar no estaba bien soldada el modulo de RFID y si conectas arduino a un puerto USB 3.0 no funciona, tiene que ser a un puerto normal (2.0).

esta pagina fue la que me ayudo:
https://create.arduino.cc/projecthub/Aritro/security-access-using-rfid-reader-f7c746?f=1

probe con 3 modulos de RFID, 2 de ellos me marcan 0x12 = (unknown) pero si funcionan al probar otros codigos, el otro 0x92 = v2.0, al parecer los primero segun lo que lei son chinos, y el otro es original, aun asi todos funcionan con otros codigos como este:

Code: [Select]
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 53
#define RST_PIN 5

MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup(){
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("RFID reading UID");
}
void loop(){
  if (mfrc522.PICC_IsNewCardPresent()){
    Serial.print("hola");
    if (mfrc522.PICC_ReadCardSerial()){
      Serial.print("ya");
      Serial.print("Tag UID:");
      for (byte i = 0; i < mfrc522.uid.size; i++){
        Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? "0" : " ");
      }
      Serial.println();
      mfrc522.PICC_HaltA();
    }
  }
}


si sale 0x0 = (unknown) es porque no esta bien conectado el circuito o porque esta mal soldado el RFID


Mikms

Está bien saberlo para cuando surja algun problema asi. Gracias

Go Up