// THONAIN OUVERTURE SERRURE AVEC KIT RFID
#include <SPI.h>
#include <MFRC522.h>
// ecrire ici le numero UID du bon badge
const byte bonUID[4] = {194, 74, 182, 115};
//
const int pinLEDVerte = 7; // LED verte
const int pinLEDRouge = 6; // LED rouge
const int buzzer = 3; // buzzer
const int relais = 4; // relais
const int pinRST = 9; // pin RST du module RC522
const int pinSDA = 10; // pin SDA du module RC522
MFRC522 rfid(pinSDA, pinRST);
void setup()
{
SPI.begin();
rfid.PCD_Init();
pinMode(pinLEDVerte, OUTPUT);
pinMode(pinLEDRouge, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(relais, OUTPUT);
}
void loop()
{
int refus = 0; // quand cette variable n'est pas nulle, c'est que le code est refusé
if (rfid.PICC_IsNewCardPresent()) // on a dédecté un tag
{
if (rfid.PICC_ReadCardSerial()) // on a lu avec succès son contenu
{
for (byte i = 0; i < rfid.uid.size; i++) // comparaison avec le bon UID
{
if (rfid.uid.uidByte[i] != bonUID[i]) {
refus++;
}
}
if (refus == 0) // UID accepté
{
// allume LED verte et active relais pendant 3 secondes
digitalWrite(pinLEDVerte, HIGH);
digitalWrite(relais, HIGH);
delay(3000);
digitalWrite(pinLEDVerte, LOW);
digitalWrite(relais, LOW);
}
else { // UID refusé
// allume LED rouge et active buzzer pendant 3 secondes
digitalWrite(pinLEDRouge, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);
digitalWrite(pinLEDRouge, LOW);
digitalWrite(buzzer, LOW);
}
}
}
}