BNSS - IoT & Robotics Training

OBJECTIVE

To monitor access, signaling authorized access with a green LED and unauthorized access with a red LED based on RFID tag scans.

MODULES REQUIRED

SCHEMATIC DIAGRAM

Connect RFID sensor as follows:
Connect LCD:
Connect LED 1 and 2:

*Note: The negative pin (LED) connects to GND in the built-in circuit, no additional connection needed.

ARDUINO CODE
JavaScript
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//declare the uid no of rfid card in the below variable as decimal value
const byte monUID[4] = {xx, xx, xx, xx};
bool valid=true;
#define PIN_LED_ROUGE 7
#define PIN_LED_VERTE 6
#define PIN_RST 9
#define PIN_SDA 10
LiquidCrystal_I2C lcd(0x27, 16, 2);
MFRC522 rfid(PIN_SDA, PIN_RST);
void setup(){
SPI.begin();
rfid.PCD_Init();
pinMode(PIN_LED_ROUGE, OUTPUT);
digitalWrite(PIN_LED_ROUGE, HIGH);
pinMode(PIN_LED_VERTE, OUTPUT);
digitalWrite(PIN_LED_VERTE, HIGH);
lcd.init();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Blue Nile Soft :)");
delay(5000);
lcd.clear();
}
void loop(){
if (rfid.PICC_IsNewCardPresent()) {
if (rfid.PICC_ReadCardSerial()) {
for (int i = 0; i < rfid.uid.size; i++) {
if (rfid.uid.uidByte[i] != monUID[i])
{valid=false;}
else
{valid=true;}
}
if (valid == 1) {
// digitalWrite(PIN_LED_VERTE, HIGH);
lcd.print("Access Granted :)");
digitalWrite(PIN_LED_VERTE, LOW);
delay(1000);
digitalWrite(PIN_LED_VERTE, HIGH);
lcd.clear();
}
else // UID non valide
{
// digitalWrite(PIN_LED_ROUGE, HIGH);
lcd.print("Access Denied :(");
digitalWrite(PIN_LED_ROUGE, LOW);
delay(1000);
digitalWrite(PIN_LED_ROUGE, HIGH);
lcd.clear();
} }}}

INSTRUCTIONS

WORKING

IOT Projects

RFID ACCESS CONTROL

/ /

RFID ACCESS CONTROL

OBJECTIVE

To monitor access, signaling authorized access with a green LED and unauthorized access with a red LED based on RFID tag scans.

MODULES REQUIRED

SCHEMATIC DIAGRAM

Connect RFID sensor as follows:
Connect LCD:
Connect LED 1 and 2:

*Note: The negative pin (LED) connects to GND in the built-in circuit, no additional connection needed.

ARDUINO CODE
JavaScript
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//declare the uid no of rfid card in the below variable as decimal value
const byte monUID[4] = {xx, xx, xx, xx};
bool valid=true;
#define PIN_LED_ROUGE 7
#define PIN_LED_VERTE 6
#define PIN_RST 9
#define PIN_SDA 10
LiquidCrystal_I2C lcd(0x27, 16, 2);
MFRC522 rfid(PIN_SDA, PIN_RST);
void setup(){
SPI.begin();
rfid.PCD_Init();
pinMode(PIN_LED_ROUGE, OUTPUT);
digitalWrite(PIN_LED_ROUGE, HIGH);
pinMode(PIN_LED_VERTE, OUTPUT);
digitalWrite(PIN_LED_VERTE, HIGH);
lcd.init();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Blue Nile Soft :)");
delay(5000);
lcd.clear();
}
void loop(){
if (rfid.PICC_IsNewCardPresent()) {
if (rfid.PICC_ReadCardSerial()) {
for (int i = 0; i < rfid.uid.size; i++) {
if (rfid.uid.uidByte[i] != monUID[i])
{valid=false;}
else
{valid=true;}
}
if (valid == 1) {
// digitalWrite(PIN_LED_VERTE, HIGH);
lcd.print("Access Granted :)");
digitalWrite(PIN_LED_VERTE, LOW);
delay(1000);
digitalWrite(PIN_LED_VERTE, HIGH);
lcd.clear();
}
else // UID non valide
{
// digitalWrite(PIN_LED_ROUGE, HIGH);
lcd.print("Access Denied :(");
digitalWrite(PIN_LED_ROUGE, LOW);
delay(1000);
digitalWrite(PIN_LED_ROUGE, HIGH);
lcd.clear();
} }}}

INSTRUCTIONS

WORKING