0% encontró este documento útil (0 votos)
24 vistas2 páginas

Sumire Py Ino Rfid

Este documento describe un sistema de control de acceso RFID que utiliza un lector MFRC522 para leer tarjetas RFID y comparar sus códigos con dos códigos registrados. Si coincide, enciende un LED verde; de lo contrario, enciende un LED rojo. Define los pines del lector RFID, almacena los códigos de tarjetas autorizadas, lee las tarjetas, extrae y compara sus códigos, y controla los LED en consecuencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas2 páginas

Sumire Py Ino Rfid

Este documento describe un sistema de control de acceso RFID que utiliza un lector MFRC522 para leer tarjetas RFID y comparar sus códigos con dos códigos registrados. Si coincide, enciende un LED verde; de lo contrario, enciende un LED rojo. Define los pines del lector RFID, almacena los códigos de tarjetas autorizadas, lee las tarjetas, extrae y compara sus códigos, y controla los LED en consecuencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

int ledVerde=4;

int ledRojo=5;
int option;
#include <SPI.h> // libreria para el lector
#include <MFRC522.h> // libreria para el lector

#define RST_PIN 9 // reset del mfrc522


#define SS_PIN 10 // selector de chip
#define ledVerde 4
#define ledRojo 5

MFRC522 mfrc522(SS_PIN, RST_PIN);


MFRC522::MIFARE_Key key;

byte tag1[4] = {0xA4, 0x98, 0x39, 0xA5};


byte tag2[4] = {0x70, 0x78, 0x70, 0xA4};

byte tagActual[4]

void setup() {
[Link](9600); // velocidad del puerto serie
while (!Serial); // comprobar si ya ha iniciado
[Link](); // inicia la comunicacion SPI
mfrc522.PCD_Init(); //inicia la comunicacion con el modulo RFID
pinMode(ledVerde,OUTPUT);
pinMode(ledRojo,OUTPUT);
}

void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) // comprobar si esta presente la
tarjeta
return;

// Selecciona una tarjeta


if ( ! mfrc522.PICC_ReadCardSerial()) // leer la tarjeta
return;

[Link](F("Card UID:"));
dump_byte_array([Link], [Link]); // obtiene los
valores leidos de la tarjeta

digitalWrite(ledVerde,LOW); // apaga led


digitalWrite(ledRojo,LOW);
}

void dump_byte_array(byte *buffer, byte bufferSize) { // realiza la lectura


del codigo de la tarjeta y comprueba
for (byte i = 0; i < bufferSize; i++) { // extrae valores del codigo
[Link](buffer[i] < 0x10 ? " 0" : " ");
[Link](buffer[i], HEX);
tagActual[i] = buffer[i];
}
if(compararArray(tagActual,tag1)){ // comprobamos el acceso
para el primer usuario
[Link](" Acceso Permitido...");
digitalWrite(ledVerde,HIGH);
delay(1000);
}
else if(compararArray(tagActual,tag2)){ // comprobamos el acceso
para el segundo usuario
[Link](" Acceso Permitido...");
digitalWrite(ledVerde,HIGH);
delay(1000);
}
else {
[Link](" Desconocido" ); // si el codigo no esta
registrado denegar acceso
digitalWrite(ledRojo,HIGH);
delay(1000);
}
}

boolean compararArray(byte array1[], byte array2[]){ // comprobara codigo leido


con el registrado previamente

if(array1[0] != array2[0]) return(false);


if(array1[1] != array2[1]) return(false);
if(array1[2] != array2[2]) return(false);
if(array1[3] != array2[3]) return(false);
return(true);
}

/*
void loop() {
if([Link]()>0){
option = [Link]();
if(option == 'P'){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOw);
}
if(option == 'N'){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
}
}
*/

También podría gustarte