An intelligent attendance system that combines facial recognition with automated door access control. It uses computer vision to identify authorized personnel, maintains attendance records in real-time, and controls physical access through an Arduino-based door mechanism.
- Face Recognition: Automated personnel identification
- Attendance Tracking: Real-time Excel-based attendance logging
- Access Control: Automated door control via Arduino
- User Management: Easy addition of new authorized personnel
- Security: Prevents duplicate entries and unauthorized access
- Webcam/USB Camera
- Arduino Uno/Nano
- SG90 Servo Motor
- USB Cable for Arduino
- Basic wiring components
The servo motor is connected to:
- Pin 9 (PWM) for signal
- 5V for power
- GND for ground
- Clone the repository
git clone https://github.com/agneya-1402/Secure-Attendance-System.git
cd Secure-Attendance-System
- Create a virtual environment
python -m venv venv
source venv/bin/activate
- Install dependencies
brew install cmake
brew install dlib
CFLAGS="-stdlib=libc++"
Secure-Attendance-System/
│
├── known_faces/ # Store authorized personnel images
├── circuit/ # Arduino circuit diagrams
├── src/ # Source code
├── main.py # Main Python script
└── Attendance_1.ino # Arduino servo control code
-
Arduino Setup
- Upload
Attendance_1.ino
to your Arduino board - Connect servo motor to Pin 9
- Note down the COM port/device path
- Upload
-
System Configuration
- Add authorized personnel photos to
known_faces/
directory - Name photos as
firstname_lastname.jpg
- Update Arduino port in
main.py
if necessary
- Add authorized personnel photos to
-
Run the System
python src/main.py
-
Adding New Users
- Add clear face photos to
known_faces/
directory - Format:
firstname_lastname.jpg
- System automatically loads new faces on startup
- Add clear face photos to
-
Taking Attendance
- Stand in front of camera
- System automatically:
- Recognizes face
- Marks attendance
- Opens door if authorized
-
Viewing Attendance
- Check
attendance.xlsx
for records - Contains name, date, and time of entry
- Check
The attendance.xlsx file follows this structure:
Name | Date | Time |
---|---|---|
Agneya P. | 2024-10-22 | 09:00:15 |
Jane Smith | 2024-10-22 | 09:15:22 |
Common issues and solutions:
-
Arduino Connection Error
- Check USB connection
- Verify correct COM port/device path
- Ensure Arduino IDE isn't using the port
-
Face Recognition Issues
- Ensure good lighting
- Maintain proper distance from camera
- Check if photo in
known_faces/
is clear
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- OpenCV for computer vision capabilities
- DeepFace for facial recognition
- Arduino community for hardware support
- Anthropic's Claude for development assistance