Introduction: Automatic Students Attendance System Using Arduino and RFid.

In the rising world of new technology and innovations the only thing that holds back in our society are the old school fundamental activities and the methods which we are practicing for long enough. Adding a virtue to the fundamental practices, the attendance of the students which is a necessary record of school,is the thing which have been modified in this project through introduction of RFID Technology (Radio Frequency identification Technology).

The RF id cards used by the students enroll their attendance using the modern technology which saves time and easy to be recorded.

Step 1: Project Description

The RF ID card issued for each student has an unique set of data for each student . When the students punches using his/ her RF ID card the logging time is recorded. By the help of this, the data can be analysed digitally instead of the fundamental pen paper records used by. The data id saved into a memory device which can be accessed any time. By the use of this we can enroll the time at which the student enters the class .It indicates if the student is on time or is late for the class and displays with the help of the LCD display attached.The login time can be set manually by the authorities. All the system is controlled by the micro-controller.

Step 2: Components Required

1.Arduino nano. Buy arduino nano

2.16*2 LCD display.Buy here

3.RTC module.Buy here

4.RFID reader RC522 and tags.Buy here

5.SD card module.Buy here

6.Connecting Wires.

7.LED(Green and red)


9.SD card.

Step 3: Arduino Nano

Arduino Nano is a small, compatible, flexible and breadboard friendly Micro controller board, developed by in Italy, based on ATmega328p ( Arduino Nano V3.x) / Atmega168 ( Arduino Nano V3.x).It comes with exactly the same functionality as in Arduino UNO but quite in small size.It comes with an operating voltage of 5V, however, the input voltage can vary from 7 to 12V.Arduino Nano Pinout contains 14 digital pins, 8 analog Pins, 2 Reset Pins & 6 Power Pins.Each of these Digital & Analog Pins are assigned with multiple functions but their main function is to be configured as input or output.They are acted as input pins when they are interfaced with sensors, but if you are driving some load then use them as output.Functions like pinMode() and digitalWrite() are used to control the operations of digital pins while analogRead() is used to control analog pins.The analog pins come with a total resolution of 10bits which measure the value from zero to 5V.Arduino Nano comes with a crystal oscillator of frequency 16 MHz. It is used to produce a clock of precise frequency using constant voltage.There is one limitation using Arduino Nano i.e. it doesn’t come with DC power jack, means you can not supply external power source through a battery.This board doesn’t use standard USB for connection with a computer, instead, it comes with Mini USB support.Tiny size and breadboard friendly nature make this device an ideal choice for most of the applications where a size of the electronic components are of great concern.Flash memory is 16KB or 32KB that all depends on the Atmega board i.e Atmega168 comes with 16KB of flash memory while Atmega328 comes with a flash memory of 32KB. Flash memory is used for storing code. The 2KB of memory out of total flash memory is used for a bootloader.

Step 4: Arduino Ide

The Arduino Integrated Development Environment (IDE) is a cross-platform application (for Windows, macOS, Linux) that is written in functions from C and C++. It is used to write and upload programs to Arduino compatible boards, but also, with the help of 3rd party cores, other vendor development boards.

The source code for the IDE is released under the GNU General Public License, version 2.The Arduino IDE supports the languages C and C++ using special rules of code structuring. The Arduino IDE supplies a software library from the Wiring project, which provides many common input and output procedures. User-written code only requires two basic functions, for starting the sketch and the main program loop, that are compiled and linked with a program stub main() into an executable cyclic executive program with the GNU toolchain, also included with the IDE distribution.The Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal encoding that is loaded into the Arduino board by a loader program in the board's firmware.

windows arduino ide download here.

MacOSx arduino ide download here.

Linux arduino ide download here.

Step 5: Uploading a Program to the Board.

1.Install arduino ide software.

2.After you've successfully installed the software, open the application.

3.You should now see a screen like above picture.

4.Select board from tools(Second picture).

5.Connect your board in to PC via USB cable.

6.Select com port from tools.

7.Upload a program to the board.example select File->Examples->Basics->Blink then click upload (Refer picture-3)

8.You should now see build in led start blinking.

Step 6: How to Include Library File.

In this project we must be include these 3 library files.

1.MFRC522.h -> mfrc522 library file download here.

2.SD.h -.> Download SD.h library file

3.RTClib.h -> download rtclib.h here

Step 1-First we download above 3 library files(.zip file).

Step 2-open arduino ide and select Sketch-> include library -> add .ZIP library ->Select file and include.

Step 7: RFID Reader and Tags.

Step 8: 16*2 LCD Display.

Step 9: SD Card Module

Step 10: RTC Module.

Step 11: Final Connection and Coding

LCD connections.

* LCD RS pin to arduino digital pin D3
* LCD Enable pin to arduino digital pin D2

* LCD D4 pin to arduino analog pin A0

* LCD D5 pin to arduino analog pin A1

* LCD D6 pin to arduino analog pin A2

* LCD D7 pin to arduino analog pin A3

* LCD R/W pin to arduinoground

* LCD VSS pin to arduino ground

* LCD VCC pin to arduino 5V

* wiper to LCD VO pin ground

SD card module connections.

* SD card VCC to arduino 3.3V.

*SD card CS to arduino Digitalpin D4.

*SD card MOSI to arduino Digitalpin D11.

*SD card CLK to arduino Digitalpin D13.

*SD card MISO to arduinoDigitalpin D12.

*SD card GND to arduino GND.

RF ID reader connections.

*RFID SDA to arduino Digital pin D10.

*RFID SCK to arduino Digital pin D13.

*RFID MOSI to arduino Digital pin D11.

*RFID MISO to arduino Digital pin D12.

*RFID GND to arduino GND.

*RFID RST to arduino Digital pin D9.

*RFID 3.3V to arduino 3.3V.

RTC module connections.

*RTC module SCL to arduino A5.

*RTC module SDA to arduino A4.

*RTC module VCC to arduino 5V.

*RTC module GND to arduino GND.

LED connections.

*Red LED positive to arduino digital pin D6.

*Red LED negative to arduino ground..

*Green LED positive to arduino digital pin D7.

*Green LED negative to arduino ground.

Buzzer Connections.

*Buzzer positive to arduino digital pin D7.
*Buzzer negative to arduino ground.

Step 12: Uploading Final Code in to the Board.

*Make sure that all the connections are correct or not.

*if it correct then upload this code download here.

*connect arduino Vin pin to a power supply(9v).

Step 13: Data Written in the SD Card.

*SD card removes from SD card module and connected to a PC we can see a text file named as Class 9B log.Open this file we can see student attendance of that corresponding date.

Step 14: Working

Robotics Contest

Participated in the
Robotics Contest