Bueno, doy por cerrado el hilo (por mi parte).
Este es el código final para una simple lectura:
#include <SoftwareSerial.h>
#define rxPin 8
#define txPin 9
SoftwareSerial RFID = SoftwareSerial(rxPin, txPin); //RX, TX
String showRfidError(int nErr){
switch (nErr){
case 0:
return "Command not understood";
case 1:
return "Tag not present";
case 2:
return "Tag failure to Read/Write";
case 3:
return "Access to Block 0 not allowed";
case 4:
return "Page address invalid for this tag";
default:
return "Unrecognized error";
}
}
void setup(){
Serial.begin(9600); // start serial to PC
RFID.begin(9600); // start serial to RFID reader
}
void loop(){
String temp="";
int i = -1;
if (RFID.available() > 0){
temp.concat((char)RFID.read());
if (temp != "?" && temp != "O") //if is not a command response, is significant data
i++;
while (RFID.available() > 0){
temp.concat((char)RFID.read());
if (i < 0){
if (temp.charAt(1) == 'K')
Serial.println("Function Performed Successfully");
else{
Serial.println(showRfidError(temp.charAt(1)-'0'));
}
temp = "";
}
i++;
}
Serial.println(temp);
temp="";
}
else{
RFID.print(F("RAT"));
//RFID.print(F("WAT643_080000042750_1_000000_2"));
RFID.write(13);
}
delay(1000);
}
Las conexiones finalmente son:
Arduino Nano RFIDRW-E-TTL
8 TX (J1)
9 RX (J1)
5V V+ (J1)
GND V- (J1)
Led entre L+ y L- con
una resistencia de 1k en serie
Muchas gracias a @surbyte por toda la ayuda prestada.