Untitled
unknown
plain_text
12 days ago
1.9 kB
3
Indexable
Never
#include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // Pin de selección de esclavo (SDA) #define RST_PIN 9 // Pin de reset MFRC522 rfid(SS_PIN, RST_PIN); // Crear instancia del lector void setup() { Serial.begin(9600); // Inicializar comunicación serial SPI.begin(); // Iniciar el bus SPI rfid.PCD_Init(); // Inicializar el lector RFID Serial.println("Acerque la tarjeta al lector..."); } void loop() { // Revisar si hay una tarjeta presente if (rfid.PICC_IsNewCardPresent()) { // Seleccionar la tarjeta if (rfid.PICC_ReadCardSerial()) { Serial.print("UID de la tarjeta: "); for (byte i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i], HEX); Serial.print(" "); } Serial.println(); // Escribir datos en la tarjeta byte block = 4; // Número de bloque donde quieres escribir byte data[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x00, 0x00, 0x00, 0x00}; // Datos de prueba // Escribir datos en el bloque MFRC522::StatusCode status; status = rfid.MIFARE_Write(block, data, 16); if (status == MFRC522::STATUS_OK) { Serial.println("Datos escritos correctamente."); } else { Serial.print("Error al escribir: "); Serial.println(status); } // Leer el bloque byte buffer[18]; // Buffer para almacenar los datos leídos byte size = sizeof(buffer); // Tamaño del buffer status = rfid.MIFARE_Read(block, buffer, &size); if (status == MFRC522::STATUS_OK) { Serial.print("Datos leídos: "); for (byte i = 0; i < size; i++) { Serial.print(buffer[i], HEX); Serial.print(" "); } Serial.println(); } else { Serial.print("Error al leer: "); Serial.println(status); } rfid.PICC_HaltA(); // Detener la comunicación con la tarjeta } } }
Leave a Comment