INFORMACIÓN
La Tarjeta ID RFID 125KHz de Control de Acceso es un dispositivo de identificación sin contacto que utiliza la tecnología de radiofrecuencia para permitir o restringir el ingreso a un área determinada. Funciona gracias a un chip interno pasivo que almacena un código único y a una antena que, al acercarse a un lector compatible, capta la señal de 125KHz emitida por este. La tarjeta responde enviando su código de identificación, el cual es verificado por el sistema de control de acceso para autorizar o denegar la entrada, garantizando así seguridad y rapidez en la identificación de personas.
La Tarjeta ID RFID 125KHz de Control de Acceso se utiliza principalmente en sistemas de seguridad, control de asistencia, gestión de personal, acceso a edificios, estacionamientos y automatización de puertas o torniquetes. Sus aplicaciones abarcan tanto el ámbito empresarial como el residencial, ofreciendo una forma práctica y confiable de identificación sin contacto. Además, es compatible con lectores RFID que trabajan a 125KHz, los cuales pueden integrarse con tarjetas de desarrollo como Arduino, ESP32, ESP8266 y Raspberry Pi, permitiendo crear proyectos de control de acceso inteligente, sistemas de registro o automatización de procesos de manera sencilla y económica.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Tipo: Tarjeta RFID.
- Frecuencia: 125 KHz.
- Color: Blanco.
- Material: PVC.
- Protocolo: EM4102.
- Lectura / Escritura: Solo Lectura.
- Capacidad: 64 bits EEPROM.
- Alcance de lectura/escritura: 0 ~ 5 cm (aprox. depende del lector).
- Dimensiones: 86 mm x 54 mm x 1 mm.
- Peso: 7 g.
Nota: Esta tarjeta puede incluir número de identificación impresa en la tarjeta, no apto para serigrafía o impresión.
DOCUMENTACIÓN Y RECURSOS
TUTORIALES
INFORMACIÓN ADICIONAL
¿Cómo probar la Tarjeta ID RFID 125KHz Control de Acceso?
Materiales Necesarios:
- Arduino UNO.
- Tarjeta ID RFID 125KHz.
- Módulo RDM6300 (5 V).
- Cables Dupont.
Conexiones.
Cableado (RDM6300 → Arduino UNO):
- VCC → 5 V.
- GND → GND.
- TX → D10 (usaremos SoftwareSerial; no conectar RX del módulo).
- RST vacío (opcional).
Código.
hecksum y muestra UID en HEX y DEC):
#include <SoftwareSerial.h>
// RDM6300: 9600 8N1, envía frames: 0x02 + 10 HEX (5 bytes) + 2 HEX checksum + 0x03
// Conexión: TX del RDM6300 -> D10 (RX soft). D11 no se usa.
SoftwareSerial rdm(10, 11); // RX=D10, TX=D11 (sin uso)
uint8_t hexPairToByte(char hi, char lo) {
auto hexVal = [](char c)->uint8_t {
if (c >= '0' && c <= '9') return c - '0';
if (c >= 'A' && c <= 'F') return c - 'A' + 10;
if (c >= 'a' && c <= 'f') return c - 'a' + 10;
return 0;
};
return (hexVal(hi) << 4) | hexVal(lo);
}
bool readTag(uint8_t data5[5]) {
// Espera STX (0x02)
while (rdm.available()) {
uint8_t b = rdm.read();
if (b == 0x02) {
char ascii[12]; // 10 hex (5 bytes) + 2 hex (checksum)
unsigned long t0 = millis();
for (int i = 0; i < 12; i++) {
// timeout simple
while (!rdm.available()) {
if (millis() - t0 > 30) return false;
}
ascii[i] = (char)rdm.read();
}
// Espera ETX (0x03)
unsigned long t1 = millis();
while (!rdm.available()) {
if (millis() - t1 > 20) return false;
}
uint8_t etx = rdm.read();
if (etx != 0x03) return false;
// Convierte los 10 HEX en 5 bytes (UID bruto)
for (int i = 0; i < 5; i++) {
data5[i] = hexPairToByte(ascii[i*2], ascii[i*2 + 1]);
}
// Checksum (BCC) del RDM6300 = XOR de los 5 bytes de datos
uint8_t recvBCC = hexPairToByte(ascii[10], ascii[11]);
uint8_t calcBCC = data5[0] ^ data5[1] ^ data5[2] ^ data5[3] ^ data5[4];
return (recvBCC == calcBCC);
}
}
return false;
}
void setup() {
Serial.begin(115200);
rdm.begin(9600);
Serial.println(F("RDM6300 listo. Acerca una tarjeta..."));
}
void loop() {
uint8_t uid[5];
if (readTag(uid)) {
// Muestra UID en HEX (5 bytes) y en DEC (combinando 4 últimos bytes)
Serial.print(F("UID HEX: "));
for (int i = 0; i < 5; i++) {
if (uid[i] < 0x10) Serial.print('0');
Serial.print(uid[i], HEX);
if (i < 4) Serial.print(':');
}
// Muchas instalaciones usan los 3-4 últimos bytes como ID decimal
uint32_t id32 = ((uint32_t)uid[1] << 24) | ((uint32_t)uid[2] << 16) |
((uint32_t)uid[3] << 8) | (uint32_t)uid[4];
Serial.print(F(" | ID DEC (32b últimos 4 bytes): "));
Serial.println(id32);
delay(500);
}
}
Prueba.
- Sube el sketch al Arduino y abre el Monitor Serie a 115200 baud.
- Acerca la tarjeta a la antena del RDM6300 (2–5 cm).
- Verás “UID HEX” y un ID DEC. Si el checksum falla, no imprimirá el UID (mueve la tarjeta y reintenta).
- Anota el ID para usarlo en tu sistema de control de acceso.
Tip: Si no lees nada, invierte la orientación de la tarjeta, aléjala de metal, y asegúrate de alimentar el módulo con 5 V estables.

















Valoraciones
No hay valoraciones aún.