Me resulta difícil descubrir cómo emular las etiquetas Mifare RFID de 13.56 MHz con Arduino y los componentes básicos. He probado algunas ideas, pero no pude leer bytes debido a la diferencia en los protocolos y las frecuencias. Incluso abrí un nuevo Mifare. Etiqueta 1k y soldé su bobina al circuito para evitar errores en el cálculo de inducción y calculé la frecuencia, pero no tengo suerte, ya encontré muchos proyectos similares para 125 kHz pero tengo el lector RFID rc522, así que no puedo probar 125 kHz. ,
y para 125khz encontré esto:
(www.instructables.com/id/RFID-Emulator-How-to-Clone-RFID-Card-Tag-/)
También
(www.instructables.com/id/Stupid-Simple-Arduino-LF-RFID-Tag-Spoofer/) Este es el código que he usado
int coil_pin = 9;
void setup(){
Serial.begin(9600);
//Set pin as output
pinMode(coil_pin, OUTPUT);
//Start it as low
digitalWrite(coil_pin, LOW);
}
//Does manchester encoding for signal and sets pins.
//Needs clock and signal to do encoding
void set_pin_manchester(int clock_half, int signal)
{
//manchester encoding is xoring the clock with the signal
int man_encoded = clock_half ^ signal;
//if it's 1, set the pin LOW (this will tune the antenna and the reader
sees this as a high signal)
//if it's 0, set the pin to HIGH (this will detune the antenna and the
reader sees this as a low signal)
if(man_encoded == 1)
{
digitalWrite(coil_pin, LOW);
}
else
{
digitalWrite(coil_pin, HIGH);
}
Serial.println(man_encoded);
}
void loop()
{
//this is the card data we're spoofing. It's basically 10 hex F's
int data_to_spoof[64] = {1,1,1,1,1,1,1,1,1, 1,1,1,1,0 ,1,1,1,1,0, 1,1,1,1,0
,1,1,1,1,0, 1,1,1,1,0 ,1,1,1,1,0, 1,1,1,1,0 ,1,1,1,1,0, 1,1,1,1,0
,1,1,1,1,0, 0,0,0,0,0};
for(int i = 0; i < 32; i++)
{
set_pin_manchester(0, data_to_spoof[i]);
delayMicroseconds(5);
set_pin_manchester(1, data_to_spoof[i]);
delayMicroseconds(5);
}
}
Tambiénprobéesto,conladiferenciaenlosvaloresdeloscondensadoresylosinductoresyaqueestoytrabajandocon13.56Mhz
Aprecio cualquier ayuda