Show Posts
Pages: [1]
1  Using Arduino / Interfacing w/ Software on the Computer / Re: RDM880 connection problem on: March 07, 2011, 07:16:11 pm
Tried that - still no joy I'm afraid.
2  Using Arduino / Interfacing w/ Software on the Computer / Re: RDM880 connection problem on: March 07, 2011, 11:46:49 am
I'm not 100% sure what he changed but it had been done initially using NewSoftSerial code (which wasn't responding).

Pardon my ignorance but I have absolutely no understanding of programming  smiley-roll-sweat

In the case of the code working in the post that I referred to at first, I pasted this into Arduino and it gave an error. Should it be pasted alone or along with the code that I included in my first post? And if so, where abouts should it be added in that code?
I know that user reffered to something called a Bus Pirate - does this mean extra hardware that I'd need to purchase or is it simply code?

Code:
#include <NewSoftSerial.h>

/*

This program tests communication with the Seeeduino 13.56 RFID Reader by sending a request for the unit's serial number and getting a response.

www.coolcomponents.co.uk 2010

We need 4 pins connected from the RFID to the Arduino : These all come from connector J2

RFID  -> ARDUINO
===================
TX    -> TX (pin 4)
RX    -> RX (pin 3)
+5V   -> +5V
GND   -> GND

NOTES :

1.Debug info and received data will be sent through the Arduino to your serial monitor. You should have it open to see anything!

You should see something like this :

The RFID test program has started
Header = AA
Station ID = 00
Data Length = 1
Command = 83
Checksum = 82
Footer = BB
Listening for response...
I received: AA
I received: 0
I received: A
I received: 0
I received: 0
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: A
I received: BB

NOTES (Continued)
2.The reset pin on the RFID should be tied to GND, either on the RFID or the Arduino
3.Please note that this test program outputs debug data with no trailing zero : so for example '00' becomes '0' and '0A' becomes 'A'
4.If you're not seeing any response from the RFID unit, chances are that you have your RX and TX pins round the wrong way.
5.This code uses the 'NewSoftSerial' library to set up another serial port on pins 3+4 of your Arduino. You must download the library and 'include' it in your code (using Sketch:Import Library from the Menu bar). Library can be found at : arduiniana.org/libraries/newsoftserial/
6.The code used to send the data section of the packet has not been properly tested.

*/

NewSoftSerial rfid(4,3);
byte DATA[255] = {};

void send_command(int CMD, byte DATA[])
{
  int i;  //an index for the data send loop
  int checksum;
  int DATALENGTH;
  byte STX=0xAA;
  byte STATIONID = 0x00;
 
  Serial.print("Header = ");
  Serial.print(STX,HEX);           //STX command begin code
  Serial.println();
  rfid.print(STX,BYTE);
 
  Serial.print("Station ID = ");
  Serial.print("00");             //RFID reader address use zero for all readers to respond)
  Serial.println();
  rfid.print(STATIONID,BYTE);
 
  DATALENGTH = sizeof(DATA)/2;
  Serial.print("Data Length = ");
  Serial.print(DATALENGTH,HEX);   //send the length of the data section
  Serial.println();
  rfid.print(DATALENGTH,BYTE);
 
  Serial.print("Command = ");
  Serial.print(CMD,HEX);          //send the command word
  Serial.println();
  rfid.print(CMD,BYTE);
 
  checksum = (STATIONID ^ DATALENGTH ^ CMD);

  i=0; 
   
  while (DATA[i])
  {
    Serial.print("Data Word ");
    Serial.print(i);
    Serial.print(" = ");
    Serial.print(DATA[i],HEX);    //send each byte of the data
    Serial.println();
   
    rfid.print(DATA[i],BYTE);
    checksum = checksum ^ DATA[i];
    i++;
   
  }
 
  Serial.print("Checksum = ");
  Serial.print(checksum,HEX);      //
  Serial.println();
  rfid.print(checksum,BYTE);
 
  Serial.print("Footer = ");
  Serial.print(0xBB,HEX);          //ETX command end code
  Serial.println();
  rfid.print(0xBB,BYTE);
 
  Serial.println();
 
}

void read_response()
{
  byte incomingByte;
 
  Serial.println("Listening for response...");
 
while (rfid.available() > 0)
  {
  // read the incoming byte:
  incomingByte = rfid.read();

  // say what you got:
  Serial.print("I received: ");
  Serial.println(incomingByte, HEX);
  }
 
}

void setup()
{
  //start serial port at 9600 bps: This is for the debug info we send to your PC/Mac
  Serial.begin(9600);
  //start a NewSoftSerial serial port at 9600bps : This is to talk to the RFID.
  rfid.begin(9600);
 
  Serial.println("The RFID test program has started");
}

void loop()
{
  send_command(0x83, DATA);   //This command is requests the serial number of the RFID unit
  read_response();            //This just displays the raw data recieved
 
  while(1) {}                 //loop forever
}

3  Using Arduino / Interfacing w/ Software on the Computer / RDM880 connection problem on: March 07, 2011, 10:52:07 am
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1278457441

Hi

I'm having a similar problem as the one addressed in the topic above. The clock is really ticking for me and I need a resolution FAST  smiley-confuse

Connection is as follows:

RFID  -> ARDUINO
===================
TX    -> TX (pin 4)
RX    -> RX (pin 3)
+5V   -> +5V
GND   -> GND
 and I've also tried:
RFID  -> ARDUINO
===================
TX    -> TX (pin 3)
RX    -> RX (pin 4)
+5V   -> +5V
GND   -> GND

I had some help from somebody who modified the code from cool componenets as below. This is the only output I'm getting.. (nothing happens when I place a card over the antenna)
The RFID test program has started
Header = AA
Station ID = 00
Data Length = 1
Command = 20
Checksum = 21
Footer = BB

Listening for response...
Header = AA
Station ID = 00
Data Length = 1
Command = 20
Checksum = 21
Footer = BB


CODE:

Code:
#include <NewSoftSerial.h>

/*

This program tests communication with the Seeeduino 13.56 RFID Reader by sending a request for the unit's serial number and getting a response.

www.coolcomponents.co.uk 2010

We need 4 pins connected from the RFID to the Arduino : These all come from connector J2

RFID  -> ARDUINO
===================
TX    -> TX (pin 4)
RX    -> RX (pin 3)
+5V   -> +5V
GND   -> GND

NOTES :

1.Debug info and received data will be sent through the Arduino to your serial monitor. You should have it open to see anything!

You should see something like this :

The RFID test program has started
Header = AA
Station ID = 00
Data Length = 1
Command = 83
Checksum = 82
Footer = BB
Listening for response...
I received: AA
I received: 0
I received: A
I received: 0
I received: 0
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: FF
I received: A
I received: BB

NOTES (Continued)
2.The reset pin on the RFID should be tied to GND, either on the RFID or the Arduino
3.Please note that this test program outputs debug data with no trailing zero : so for example '00' becomes '0' and '0A' becomes 'A'
4.If you're not seeing any response from the RFID unit, chances are that you have your RX and TX pins round the wrong way.
5.This code uses the 'NewSoftSerial' library to set up another serial port on pins 3+4 of your Arduino. You must download the library and 'include' it in your code (using Sketch:Import Library from the Menu bar). Library can be found at : arduiniana.org/libraries/newsoftserial/
6.The code used to send the data section of the packet has not been properly tested.

*/

NewSoftSerial rfid(4,3);
byte DATA[255] = {};

void send_command(int CMD, byte DATA[])
{
  int i;  //an index for the data send loop
  int checksum;
  int DATALENGTH;
  byte STX=0xAA;
  byte STATIONID = 0x00;
  
  Serial.print("Header = ");
  Serial.print(STX,HEX);           //STX command begin code
  Serial.println();
  rfid.print(STX,BYTE);
  
  Serial.print("Station ID = ");
  Serial.print("00");             //RFID reader address use zero for all readers to respond)
  Serial.println();
  rfid.print(STATIONID,BYTE);
  
  DATALENGTH = sizeof(DATA)/2;
  Serial.print("Data Length = ");
  Serial.print(DATALENGTH,HEX);   //send the length of the data section
  Serial.println();
  rfid.print(DATALENGTH,BYTE);
  
  Serial.print("Command = ");
  Serial.print(CMD,HEX);          //send the command word
  Serial.println();
  rfid.print(CMD,BYTE);
  
  checksum = (STATIONID ^ DATALENGTH ^ CMD);

  i=0;  
  
  while (DATA[i])
  {
    Serial.print("Data Word ");
    Serial.print(i);
    Serial.print(" = ");
    Serial.print(DATA[i],HEX);    //send each byte of the data
    Serial.println();
    
    rfid.print(DATA[i],BYTE);
    checksum = checksum ^ DATA[i];
    i++;
    
  }
  
  Serial.print("Checksum = ");
  Serial.print(checksum,HEX);      //
  Serial.println();
  rfid.print(checksum,BYTE);
  
  Serial.print("Footer = ");
  Serial.print(0xBB,HEX);          //ETX command end code
  Serial.println();
  rfid.print(0xBB,BYTE);
  
  Serial.println();
  
}

void read_response()
{
  byte incomingByte;
  
  Serial.println("Listening for response...");
  
while (rfid.available() > 0)
  {
  // read the incoming byte:
  incomingByte = rfid.read();

  // say what you got:
  Serial.print("I received: ");
  Serial.println(incomingByte, HEX);
  }
  
}

void setup()
{
  //start serial port at 9600 bps: This is for the debug info we send to your PC/Mac
  Serial.begin(9600);
  //start a NewSoftSerial serial port at 9600bps : This is to talk to the RFID.
  rfid.begin(9600);
  
  Serial.println("The RFID test program has started");
}

void loop()
{
  send_command(0x20, DATA);   //This command is requests the serial number of the RFID unit
  read_response();            //This just displays the raw data recieved
  delay(1000);
  //while(1) {}                 //loop forever
}


4  Using Arduino / Interfacing w/ Software on the Computer / Arduino, RFID tags on: February 14, 2011, 08:41:53 am
Hi

I've been fumbling around with Arduino and trying to get it to communicate with some RFID tags. So far I've had no joy.

However it came to my attention that maybe my RFID Reader and RFID tags are not compatible.... The Reader I'm using is and RDM 880: http://www.coolcomponents.co.uk/catalog/product_info.php?cPath=88&products_id=504 and these are the tags that I'm using: http://www.seeedstudio.com/depot/rfid-tag-combo-125khz-5-pcs-p-700.html?cPath=144_153

I've just notcied that it says on the page where the tags are displayed that they are compatible with the RDM630 module.... since it doesn't specify 'only with the RDM630' I'm wondering if there's still any hope to get some communication going between the tags and the RDM880?

Any help or advice would be greatly appreciated.
5  Using Arduino / General Electronics / Re: RFID issue on: February 10, 2011, 12:39:17 pm
I tried the LED blink sketch and it works fine.

I should also add that since the original post the sketch is now uploading to the i/o without any problems. But I'm still confused as to why I can't get any readings from the rfid card. I also received some rfid tags this morning so it would be great to crack on and get some communication going between them and the arduino.

Could anyone recommend a basic sketch to get a test reading from the rfid card or tags? Much appreciated.
6  Using Arduino / General Electronics / Re: RFID issue on: February 09, 2011, 06:11:28 am
I don't know about your unit, but when I use my RFID unit I have to unplug the antenna, upload the sketch and then plug the antenna back in to get the sketch to run correctly.  Might be worth a try.

Cheers for the reply. Still no joy though, unfortunately.
7  Using Arduino / General Electronics / RFID issue on: February 08, 2011, 04:52:28 pm
I've been trying to get an RFID reader to read an RFID card with the past while yet to no avail. I'm pretty certain that I have everything connected properly on the breadboard and to the RFID reader and Arduino board.

Here is the spec for the Reader... http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=504

I'm getting the following error when I upload from the Arduino software to the board... 'Problem uploading to Board'. I'm just getting the follwing output:

Binary Sketch size: 5632 bytes (of a 14336 byte maximum)
avrdude: stk500_getsync(): not in sync: reap=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, reap=0x51

I've downloaded and copied & pasted the 'NewSoftSerial' library into the Arduino Library folder and then imported that sketch into Arduino... where I've also copied the test code from http://www.coolcomponents.co.uk/catalog/resources/RFID1356/RFID1356_Test.pde into the Arduino sketch.

If anyone has any solution to the problem I would appreciate it greatly. Sorry if the description above is a little vague... but I'm afraid I'm not much of an electronics or coding expert smiley-sad
8  Forum 2005-2010 (read only) / Interfacing / Assigning values to RFID tag on: January 23, 2011, 04:49:16 pm
Hi

I'm wondering how do I assign specific values to a basic RFID tag? I'm doing a project where the tags need to correspond to common grocery items. In turn these values will be a reflection on how environmentally friendly or unfriendly the items are.

Thanks in advance for any help.
K
Pages: [1]