Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

int ledVerde=4;

int option;

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>

#define RST_PIN 9
#define SS_PIN 10
#define ledVerde 4

Servo servoMotor;

MFRC522 mfrc522(SS_PIN, RST_PIN);

byte LecturaUID[4];
byte Usuario1[4] = {0x61, 0xB6, 0xE6, 0x1A};
byte Usuario2[4] = {0xA1, 0x68, 0xA3, 0x1B};

void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode(ledVerde,OUTPUT);
servoMotor.attach(3);
}

void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent())
return;

if ( ! mfrc522.PICC_ReadCardSerial())
return;

digitalWrite(ledVerde, LOW);
servoMotor.write(0);

for(byte i = 0; i < mfrc522.uid.size; i++) {


if(mfrc522.uid.uidByte[i] < 0x10) {
Serial.print(" 0");
}
else{
Serial.print(" ");
}
Serial.print(mfrc522.uid.uidByte[i], HEX);
LecturaUID[i]=mfrc522.uid.uidByte[i];
}

Serial.print("\t");

if(comparaUID(LecturaUID, Usuario1)){
Serial.println("Bienvenido Usuario 1");
digitalWrite(ledVerde, HIGH);
}
else if(comparaUID(LecturaUID, Usuario2)){
Serial.println("Bienvenido Usuario 2");
digitalWrite(ledVerde, HIGH);
}
else
Serial.println("Usuario no registrado");
mfrc522.PICC_HaltA();

if(Serial.available()>0){
option = Serial.read();
if(digitalRead(4)==HIGH && option == 'A'){ //cara reconocida
servoMotor.write(120);
delay(7000);
digitalWrite(ledVerde,LOW);
servoMotor.write(0);
}
}
if(digitalRead(4)==LOW || option == 'B'){
digitalWrite(ledVerde, LOW);
}
}

boolean comparaUID(byte lectura[],byte usuario[])


{
for (byte i=0; i < mfrc522.uid.size; i++){
if(lectura[i] != usuario[i])
return(false);
}
return(true);
}

You might also like