loading

For a school project, we were looking for a solution on how to track students' attendance. A lot of our students come in late. It's a tedious job checking their presence. On the other hand, there's a lot of discussion because students often will say they are present while in reality they are looking for excuses.

Using a fingerprint reader can be the best way to avoid obstacles such as fraudulent behaviour for students trying to cheat the system. RFID could work just as well, but allows the students to hand out their card, also making it possible to say they forgot their card, either loosing it, thus bringing extra costs to the school.

Step 1: Needed Materials

For the base of this project we will use the following materials:

You could go for an ethernet board or Arduino Yun, but this project's description is based on the hardware of the list above.

Step 2: Enrolling Fingerprints Using Windows Software

Although the GitHUB library has code for enrolling fingerprints, I found it much easier to use the Windows software which is visually more appealing. The result is the same.

Instead of copying it, I would like to refer to step 2 of another instructable for more information on this step.

Step 3: The Software

Before you can build this project, you'll need some software:

  • the Arduino IDE: I used version 1.0.3, because up until now, I was not able to find the firmware upgrade needed to operate the WIFI shield in a version from 1.0.5 upwards
  • the fingerprint library: needed to compile the code. Copy the contents to the libraries folder of your Arduino IDE
  • xAMP: the server environment for storing the information to a database. You can use any version on any platform. If you are a fan of development boards, you can run it on a Raspberry Pi, just like I do.

Step 4: The Hardware Installation

Fair and simple enough: plug in the network board on your Arduino. For making it easier to connect the fingerprint reader, I extended the leads soldering some jumper wires to them. With the exception of the white lead, which was soldered to a yellow wire, the others have the same colours.

Just plug in the green wire in Pin2 and the white (or yellow in my case) in Pin3 for the fingerprint data communication. Power is provided plugging the red wire in the 5V and the black wire in the ground connections.

Step 5: The Arduino Script

It's fairly basic Q&D code. For now, it still lacks checking. For better functioning, two LEDs should be added to the design, allowing the user to see whether his fingerprint was accepted and his information was sent to the server or not. (Green LED = OK, Red LED = an error occurred).

Basically, what the code does, is

  1. connecting to a WPA wireless network
  2. checking if the fingerpring sensor is attached
  3. wait for a fingerprint
    1. If found: send a HTTP request to the server with the fingerprint found

Step 6: The XAMP Files

For the purpose of demonstration, the code is reduced to a strict minimum. You get the MySQL table description, which contains a column for the ID and a TimeStamp field, which is automatically filled in when a new row is inserted in the database.

The PHP script is called from the HTTP request in the Arduino script and processes the ID which is passed to the script. The answer received from the server can be verified with the Serial Monitor of the Arduino IDE.

<p><a href="https://www.flipkart.com/grab-em-cc3000-wifi-shield-arduino/p/itmehvzzgntrgev5?pid=ETYEHVZZQRDAHFYF&affid=affiliate7&affExtParam1=site" rel="nofollow">https://www.flipkart.com/grab-em-cc3000-wifi-shiel...</a></p><p>is this compatible shield....? please let me know...Thanks</p>
<p>Hi there. I'm not sure if this shield is compatible, but in case it is not, it would only require another library for the arduino and adjusting some code depending on that library. If it is an Arduino compatible shield, you should easily find the appropriate library and the necessary code or some examples.</p>
<p>Hey Author! Thanks For Posting this wonderful instructable. I was thinking to make such a thing for my Science Exhitbition. And i want some help from you because i'ma beginner. I had the idea to make a board alongwith the fingerprint sensor that will be connected to a common arduino.(UNO/MEGA). The board will display the total students, present and absent, that will change real time. Is there a way. Can u help me plzzzzz... Plz help me with the code. </p><p>And all file you provided work well except for the registreer.php. PLZ reUpload it.</p>
<p>This is the design of the board.</p><p>Is this fingerprint scanner compatible with your code? <a href="http://www.flipkart.com/robomart-finger-print-module/p/itme3fsuartu4gph?pid=ETYE3FSUHMSUDGFP&otracker=from-search&srno=t_1&query=robomart+finger+print+module&ref=584cafff-04dd-4bd4-a3c3-7489bc9b7b74" rel="nofollow">http://www.flipkart.com/robomart-finger-print-modu...</a></p><p>Also can you plz locate the wifi sheild as shown your picture on this website. im unable to find it. Thanks for everything. I will definately give you credit.</p>
Hi<br> <br> The Wifi shield I'm using can be found at <a href="http://www.arduino.cc/en/Guide/ArduinoWiFiShield" rel="nofollow">http://www.arduino.cc/en/Guide/ArduinoWiFiShield</a>.<br> Google for it using &quot;WiFi-Shield 65198&quot;<br> The fingerprint module you are showing looks similar to the one I used. But I can't garantuee it is the same.<br> I uploaded the PHP file with a .txt extension so it is usable now. This site apparently prohibits the use of PHP files for security reasons, which looks totally reasonable.<br> <br> I think your idea of displaying the number of present and absent students will become complicated using the Arduino. I'm in favorite of using the right technology for the right purpose. Arduino is great for use with sensors and other electronic equipment. However, it lacks the capabilities of a relational database as such. Consider this:<br> * which rules would be used for saying when a student is present or absent?<br> * what happens if a student (conveniently) forgets to scan his finger when leaving the building? What is his status the next day?<br> <br> This kind of questions are easier to process in a xAMP environment.&nbsp;<br> <br> By connecting your arduino to the PC and communicating with it, you might be able to achieve your goal.<br> I don't know all the possibilities of the processing programming environment, but you can look into that. Another way to go is look at one of the possible ways to communicate with your pc on<br> <a href="http://playground.arduino.cc/Main/InterfacingWithSoftware" rel="nofollow">http://playground.arduino.cc/Main/InterfacingWithSoftware</a><br> <br> Good luck with your project<br> <br> <br>
<p><a href="http://www.banggood.com/ESP8266-ESP-12E-UART-WIFI-Wireless-Shield-TTL-Converter-For-Arduino-UNO-R3-Mega-p-1094091.html?rmmds=buy" rel="nofollow">http://www.banggood.com/ESP8266-ESP-12E-UART-WIFI-...</a></p><p>can I use this wifi shield from banggood.com</p>
Thanks for such a quick reply. By the way I have practice with wamp. Can u tell how to use the files in it. Thanks. Also I read the page u gave the link to, for communicating with the arduino. Can u help me make the code capable to be used via serial communication cuz it is going out of budget if we buy the WiFi shield. Thanks a lot again.
<p>hi,</p><p>is it possible to use the intel edison chip instead of the arduino uno?</p><p>thanks</p>
<p>hi</p><p>how can i increase fingerprint database to store unlimetid no of fingers ?</p><p>or how can i save these fingers to excel or any database ?</p>
<p>Such a cool idea! Thanks for sharing! </p>

About This Instructable

20,040views

158favorites

More by yves.vanhal:Runners' arrival registration with QR codes Using fingerprint sensor for time attendance in combination with xAMP solution 
Add instructable to: