The Badge Scanner is an embedded system designed to control access to a fitness room using RFID badges. Upon scanning a badge, the system checks if the badge is authorized and grants or denies access. Additionally, it displays the name of the person who scanned the badge, as well as the current temperature and humidity inside the room on an LCD screen. This system ensures that only authorized individuals can access the fitness room, while also providing real-time environmental data to enhance the gym experience.
The Badge Scanner system is composed of hardware and software modules that work together to scan badges, process the information, and control access, while also displaying environmental data:
Hardware Modules:
Software Modules:
Interaction Flow:
List of Components:
Connection Overview:
Development Environment:
The firmware was developed using the Arduino IDE (configured to work with ESP32) or PlatformIO. Both platforms support the ESP32 microcontroller and allow easy integration with libraries for various sensors and actuators.
Libraries and 3rd-Party Sources Used:
Library Name | Purpose |
———————— | ————————————————————————- |
MFRC522.h | Handles RFID reader communication with the ESP32. |
LiquidCrystal_I2C.h | Controls the LCD display via I2C protocol. |
DHT.h | Interfaces with the DHT11/DHT22 sensor to read temperature and humidity. |
EEPROM.h | Used to store authorized badge IDs or logs (optional). |
Algorithms and Planned Structures:
The firmware is structured into several key components:
Function / Module | Description |
———————– | —————————————————————————– |
scanRFID() | Reads the RFID tag using the MFRC522 library. |
compareBadgeID() | Compares the scanned ID to the list of authorized badge IDs. |
unlockDoor() | Activates the servo motor or solenoid lock to grant access. |
displayMessage() | Shows messages on the LCD display (“Access Granted” or “Access Denied”). |
displayEnvironment() | Displays the temperature and humidity values on the LCD. |
soundBuzzer() | Sounds the buzzer in case of an access attempt, either for granting or denying access. |
blinkLED() | Controls the LEDs to indicate the status of the access attempt. |
This Badge Scanner project provides a complete access control system for a fitness room, incorporating RFID scanning for user authentication and environmental monitoring through temperature and humidity readings. The system ensures that only authorized individuals can access the room while providing real-time information about the room's climate, enhancing the gym experience for the user.
Pentru accesarea codului sursă complet, documentației tehnice suplimentare și fișierelor proiectului, vizitați repository-ul oficial al proiectului pe GitHub:
[https://github.com/alexiaenache/BadgeScanner](https://github.com/alexiaenache/BadgeScanner)