RFID Reader/EM18

The EM-18 RFID Reader module operating at 125kHz is an inexpensive solution for your RFID based application. The Reader module comes with an on-chip antenna and
can be powered up with a 5V power supply. Power-up the module and connect the transmit pin of the module to recieve pin of your microcontroller. Show your card
within the reading distance and the card number is thrown at the output. Optionally the module can be configured for also a weigand output. RFID means radio-frequency identification. RFID uses electromagnetic fields to transfer data over short distances. RFID is useful to identify people, to make transactions.
You can use an RFID system to open a door. For example, only the person with the right information on his card is allowed to enter. An RFID system uses: tags attached to the object to be identified, in this example we have a key chain and an electromagnetic card. Each tag has his own unique identification (UID). two-way radio transmitter-receiver, the reader, that send a signal to the tag and read its response.

VCC +5V DC
GND Ground of your project board
BUZZ Buzzer for sound Alert
NC No Connection
NC No Connection
SEL SEL=1 Then O/P = RS232
TX Data via RS232
DATA-1 Weigand interface Data High
DATA-A0 Weigand Intrface Data Low

EM-18 Features and Specifications
1. Operating voltage of EM-18: +4.5V to +5.5V
2. Current consumption:50mA
3. Can operate on LOW power
4. Operating temperature: 0ºC to +80ºC
5. Operating frequency:125KHz
6. Communication parameter:9600bps
7. Reading distance: 10cm, depending on TAG
8. Integrated Antenna
APPLICATIONS:
1. Robotics
2. Security systems
3. Medical tags
4. Computer Peripherals
5. Package Identification
6. Theft protection systems
7. Data authorization
8. Unique Identity
9. Body implants
10. Typical Applications
e-Payment
11. e-Toll Road Pricing
12. e-Ticketing for Events
13. e-Ticketing for Public Transport
14. Access Control
15. PC Access
16. Authentication
17. Printer / Production Equipment
RFID WITH ARDUINO CIRCUIT DIAGRAM:
RFID WITH ARDUINO SKETCH WITH CODE:
Copy and Paste below given code or download below given link:
//Circuito.io is an automatic generator of schematics and code
// Include Libraries
#include “Arduino.h”
#include “RFID.h”
#include “Servo.h”
// Pin Definitions
#define RFID_PIN_SDA 10
#define RFID_PIN_RST 2
#define SERVO360_PIN_SIG 3
// Global variables and defines
// object initialization
Servo servo360;
RFID rfid(RFID_PIN_SDA,RFID_PIN_RST);
// define vars for testing menu
const int timeout = 10000; //define timeout of 10 sec
char menuOption = 0;
long time0;
// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup()
{
// Setup Serial which is useful for debugging
// Use the Serial Monitor to view printed messages
Serial.begin(9600);
while (!Serial) ; // wait for serial port to connect. Needed for native USB
Serial.println(“start”);
//initialize RFID module
rfid.init();
menuOption = menu();
}
// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop()
{
if(menuOption == ‘1’) {
// RFID – RC522 RF IC Card Sensor Module – Test Code
//Read RFID tag if present
String rfidtag = rfid.readTag();
//print the tag to serial monitor if one was discovered
rfid.printTag(rfidtag);
}
else if(menuOption == ‘2’)
{
// Servo – Generic Continuous Rotation (Micro Size) – Test Code
// The servo will rotate CW in full speed, CCW in full speed, and will stop with an interval of 2000 milliseconds (2 seconds)
servo360.attach(SERVO360_PIN_SIG); // 1. attach the servo to correct pin to control it.
servo360.write(180); // 2. turns servo CW in full speed. change the value in the brackets (180) to change the speed. As these numbers move closer to 90, the servo
will move slower in that direction.
delay(2000); // 3. waits 2000 milliseconds (2 sec). change the value in the brackets (2000) for a longer or shorter delay in milliseconds.
servo360.write(0); // 4. turns servo CCW in full speed. change the value in the brackets (0) to change the speed. As these numbers move closer to 90, the servo
will move slower in that direction.
delay(2000); // 5. waits 2000 milliseconds (2 sec). change the value in the brackets (2000) for a longer or shorter delay in milliseconds.
servo360.write(90); // 6. sending 90 stops the servo
delay(2000); // 7. waits 2000 milliseconds (2 sec). change the value in the brackets (2000) for a longer or shorter delay in milliseconds.
servo360.detach(); // 8. release the servo to conserve power. When detached the servo will NOT hold it’s position under stress.
}
if (millis() – time0 > timeout)
{
menuOption = menu();
}
}
// Menu function for selecting the components to be tested
// Follow serial monitor for instrcutions
char menu()
{
Serial.println(F(“\nWhich component would you like to test?”));
Serial.println(F(“(1) RFID – RC522 RF IC Card Sensor Module”));
Serial.println(F(“(2) Servo – Generic Continuous Rotation (Micro Size)”));
Serial.println(F(“(menu) send anything else or press on board reset button\n”));
while (!Serial.available());
// Read data from serial monitor if received
while (Serial.available())
{
char c = Serial.read();
if (isAlphaNumeric(c))
{
if(c == ‘1’)
Serial.println(F(“Now Testing RFID – RC522 RF IC Card Sensor Module”));
else if(c == ‘2’)
Serial.println(F(“Now Testing Servo – Generic Continuous Rotation (Micro Size)”));
else
{
Serial.println(F(“illegal input!”));
return 0;
}
time0 = millis();
return c;
}
}
}
Download Arduino Sketch Here.Rfid with Servo motor After Download extract and open with Arduino IDE and the compile and upload to your Arduino board.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.