So I’ve been playing around with the Arduino now for a month or two and trying to interface it with a few of the Parallax accessories I have lying around. I’ve been meaning to post stuff here the whole time but was lazy. Anyway, here is some modified Wiring code for Arduino to use the Parallax RFID reader for those that might find it useful.

// RFID reader for Arduino
// Wiring version by BARRAGAN <http://people.interaction-ivrea.it/h.barragan>
// Modified for Arudino by djmatic
// And pieces from Arduino Playground <http://www.arduino.cc/playground/Learning/PRFID>
// And then modified again by thekidd

#include <SoftwareSerial.h>

#define rxPin 2
#define txPin 3
#define ledPin 13

// set up a soft serial port
SoftwareSerial mySerial(rxPin, txPin);

int  val = 0;
char code[10];
int bytesread = 0;

void setup() {
  // define pin modes for tx, rx, led pins:
  pinMode(rxPin, INPUT);    // Set rxPin as INPUT to accept SOUT from RFID pin
  pinMode(txPin, OUTPUT);   // Set txPin as OUTPUT to connect it to the RFID /ENABLE pin
  pinMode(ledPin, OUTPUT);  // Let the user know whats up

  // set the data rate for the serial ports
  mySerial.begin(2400);    // RFID reader SOUT pin connected to Serial RX pin at 2400bps
  Serial.begin(9600);      // Serial feedback for debugging in Wiring

  // say something
  Serial.println("Hello World!");
}

 void loop() {
  digitalWrite(txPin, LOW);           // Activate the RFID reader
  digitalWrite(ledPin, LOW);          // Turn off debug LED
  
  if((val = mySerial.read()) == 10) { // check for header
    bytesread = 0;
   
    while(bytesread<10) {             // read 10 digit code
      val = mySerial.read();
     
      if((val == 10)||(val == 13)) {  // if header or stop bytes before the 10 digit reading
        break;                        // stop reading
      }
     
      code[bytesread] = val;          // add the digit          
      bytesread++;                    // ready to read next digit 
    }
   
    if(bytesread == 10) {             // If 10 digit read is complete
      digitalWrite(txPin, HIGH);      // deactivate RFID reader
      digitalWrite(ledPin, HIGH);     // activate LED to show an RFID card was read
      Serial.print("TAG code is: ");  // possibly a good TAG
      Serial.println(code);           // print the TAG code
    }
   
    bytesread = 0;
    delay(2000);                      // wait for a second to read next tag
  }
}


Some pics of it all in action:

Arduino + Parallax RFID Circuit

Parallax RFID reading tag

Tag Displayed in Wiring Serial Monitor

Next on the agenda is to use SoftwareSerial to communicate with the Parallax GPS unit via NEMA. Once that is done, I want to integrate the GPS with RFID reader and my Purdy LCD (4×40 - I know, its huge).

References:
Arduino Playground: Parallax RFID reader: http://www.arduino.cc/playground/Learning/PRFID
Arduino Forums: SoftwareSerial + RFID: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1176181152/30

del.icio.us:Interfacing Arduino with Parallax RFID reader using SoftwareSerial digg:Interfacing Arduino with Parallax RFID reader using SoftwareSerial spurl:Interfacing Arduino with Parallax RFID reader using SoftwareSerial wists:Interfacing Arduino with Parallax RFID reader using SoftwareSerial simpy:Interfacing Arduino with Parallax RFID reader using SoftwareSerial newsvine:Interfacing Arduino with Parallax RFID reader using SoftwareSerial blinklist:Interfacing Arduino with Parallax RFID reader using SoftwareSerial furl:Interfacing Arduino with Parallax RFID reader using SoftwareSerial reddit:Interfacing Arduino with Parallax RFID reader using SoftwareSerial fark:Interfacing Arduino with Parallax RFID reader using SoftwareSerial blogmarks:Interfacing Arduino with Parallax RFID reader using SoftwareSerial Y!:Interfacing Arduino with Parallax RFID reader using SoftwareSerial smarking:Interfacing Arduino with Parallax RFID reader using SoftwareSerial magnolia:Interfacing Arduino with Parallax RFID reader using SoftwareSerial segnalo:Interfacing Arduino with Parallax RFID reader using SoftwareSerial

One Response to “Interfacing Arduino with Parallax RFID reader using SoftwareSerial”

  1. on 12 Nov 2008 at 6:14 pm Dirk Huff

    ukgsxs3j7e02jlxr

Trackback URI | Comments RSS

Leave a Reply