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.

ESP32 Lolin32 Lite CH340 con Carga de Batería
UNIT Tarjeta de Expansión para ESP32 30 Pines
Limpiador Electrónico en Aerosol 454 ml SILIJET E-7 Plus
Cargador de Carga Rápida 40W US + Cable Tipo C
Cautín de 90W 110V con Puntas Soporte y Esponja
PCM1808 Decodificador de Audio Estereo ADC 99dB SNR 24 Bits
ATTINY13A Microcontrolador 8 Bits 8-PDIP
Gravity LTR390 Sensor de Luz UV (280nm-430nm, UVA, UVB) SEN0540
Limpiador y Lubricante para Equipos Electrónicos en Aerosol 170 ml SILIJET E-PLUS
Par de Propelas 1045 Motor Brushless
Limpiador de Pantallas 170 ml COMPUSTAT
Encoder Rotativo KY-040
XIAO ESP32-S3 Wi-Fi y BLE
Buzzer DC 12V 85dB HE-208 Tono Constante
Malla Desoldadora de Cobre 2mm 1.5m CP-2015
Buzzer Pasivo KY-006
Kit Limpiador y Protector Antiestático para Pantallas 60 ml LCD CLEANER
Toallitas Húmedas para Limpieza de Equipos Electrónicos 30pcs COMPUTOALLAS
Raspberry Pi Pico 2 RP2350
Espuma Limpiadora para Equipos Electrónicos 454 ml SILIMPO
DP-366D Desoldador de Succión
Generador PWM 1 Canal LCD 1Hz – 150KHz
LED Bicolor 5mm KY-011













Valoraciones
No hay valoraciones aún.