This post briefly goes into a solution I am investigating to create RFID based door openers. The idea is to have a series of doors, each openable using an RFID card paired to that specific lock / reader / door / unit.
Wireless RFID card readers
Looking for a simple way to create a series RFID readers which are able to operate wirelessly, I came upon the following post by Josh Tananbaum / the GeekMovement .
It describes the creation of a RFID reader “TUNE glove” and uses 3 main components:
- The Innovations ID2 RFID reader
- An Arduino board
- An XBee module
I bluntly copied the RFID part of “parts needed” from the GeekMovement post here.
The ID12 is a short range RFID reader that sends the ID on theRFID card in a serial stream through pin 9 to any device including the Arduino board in the TUNE Glove.
In that solution the Arduino board then sends this data to the XBee module, using the NewSoftSerial library.
XBee might be sufficient
What the code for the TUNE Glove seems to do is contstruct the numbers and then pass them from Arduino to XBee.
It is possible that you do not need the Arduino. This post by Lynnlinse seems to suggest (using a different type of RFID reader) that is doable. As the ID12 sends serial data in a specific Baud-rate, the XBee can be used to simply broadcast that wirelessly to the XBee base station. The software on the main computer, which can be a solid state machine like the FitPC2 or a low cost machine like a Netbook, can then translate the raw serial data from the reader.
Something to test out. It would dramatically simplify remotely readable RFID readers as you will only need the RFID card reader and the XBee module.
The ID12 RFID reader
Creating an RFID reader appears to be relatively simple, thanks to the use of serial data.
The ID12 has two Digital Out ports: D0 and D1. In the schema presented for the TUNE Glove, D0 is used, located at pin 9. The other pins connected are:
- Pin 2 (RST) and pin 11 (SV) to +5V
- Pin 1 (GND) and pin 7 (FS) to GND
3.5 and 5 Volt voltage regulators
As a layman, what I did not know existed are the single-chip Voltage regulators. The base models are step-down regulators with an output of 3.5V and 5 Volts. Perfect when you need to add XBee or WiFly to your experiments.
Arduino NewSoftSerial library
Another neat thing is the NewSoftSerial library for Adruino, allowing you to turn any set of pins into additional RX/TX pins with free to set baud rates.
It is based on Ladyadas AFSoftSerial, uses “interrupt driven receives” and is written by Mikhal Hart.
What is handy to know is how to use the library, which is quite simple.
I copied and pasted the SoftSerial elements from the GeekMovement TUNE Glove project.
// Define the SoftSerial object called "xbee" and the pins it will use NewSoftSerial xbee(rxPin,txPin); // Start it with a speed of 9600 baud xbee.begin(9600); // Write data xbee.print(code[i], HEX);
Other RFID projects
I found another RFID project on the Arduino Playground Wiki. It does not state who wrote the article. The cote is attributed to: “vgrhcp”.
That project also uses the NewSoftSerial library to allow communication to both the RFID reader and a computer or device.
Electric strike lock
The Electric Strike lock is what you will find in almost any door with an electric opener via an intercom system.
Its internals contain an electro magnet that – when activated – releases the strike and allows the door to be pushed open.
When the electromagnet is disabled, the strike will block again.
You can buy Electric Strike locks operating at 12 Volts. Conveniently the same amount as for an Arduino board.