Go Down

Topic: TowiTek RFID Reader (Read 2898 times) previous topic - next topic

Hallo allemaal,

Na het gebruik van de parallax rfid reader ben ik over gestapt op de kleinere TowiTek RFID lezer. De onderstaande code:

Code: [Select]
long incomingByte;   
char Data[6];
int i;
unsigned long Tempo;

void setup()
{
  Serial.begin(9600);
}

void loop(){

   do {
     if (Serial.available()) {       
       Data[i] = Serial.read();
       i++;
       }     
     if(i<1)Tempo = millis();
     } while (i<5&&(millis()-Tempo) < 500);   
   Data[i] = 0;   
   incomingByte = atof(Data);   
   
   Serial.print(incomingByte); 
   
   for (i=0; i<5; i++) {
    Serial.print(Data[i]);   
    }
   i=0;
}


Werkte prima voor de parallax reader (die overigens op 2400 baud werkt).

Helaas is dit de output die ik krijg na het aanbieden van 4 tags:


Dus vreemde tekens ipv normale tag code.

Wie kan mij verder helpen?

Jantje

Hallo
Ben je zeker dat de 2 borden compatibel zijn?
Met vriendelijke groet
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

MAS3

Towitek klinkt me als Conrad.
Conrad heeft doorgaans goede ondersteuning door het aanbieden van documentatie als download in PDF.
Heb je daar al naar gekeken ?
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

sjoerdp

Zelf heb ik ook zo'n Towitek en ben daar mee aan het experimenteren.
Hieronder een stukje code.

Ik gebruik met een DUO de "softwareserial.h" library:

#include <SoftwareSerial.h>

#define rxPinTag       9   // hier komt het zend lijntje van de Towitek aan
#define txPinTag       8   // niet gebruikt, het is alleen output van de Towitek

// de 1 is voor inverse serial signalen, tenminste als je het dingetje rechtstreeks op de poort aansluit.
  SoftwareSerial SerialRFID( rxPinTag, txPinTag, 1 );

In setup komt:

SerialRFID.begin( 9600);  // 9600 is de baudrate van de Towitek


In loop() komt:

if(SerialRFID.available())
  {
    while(SerialRFID.available() )
    {
       Serial.print(SerialRFID.read(), HEX);  // output van de Towitek naar de "gewone" serial port.
       delay(3);
    }
     
    Serial.println( "." );
  }


Dat je rare characters krijgt komt waarschijnlijk omdat je inverse serial moet gebruiken. Normaal gesproken zou je een rs232 chip gebruiken en die keert het signaal meestal al om, maar dan moet je op de Arduino ook weer een rs232 chip gebruiken met 12 Volt en zo.
Dat de Towitek een inverse serial signaal geeft staat ook in de documentatie van Conrad.

Het probleem wat ik nog heb is dat het met een keytags van Conrad prima werkt, maar met keytags die ik via ebay uit het verre oosten haalde niet meer. Het lijkt dat die meer dan 5 bytes versturen.

Met vriendelijke groet, Sjoerd

Quote
String content = "";
  char character;
    int tester=0;
    String cont2=0;
   
  while(RFIDReader.available()) {
      character = RFIDReader.read();
      tester = (character + '255');
      content.concat(tester);
     
  }

  if (content != "") {
    Serial.println(content);
    cont2.concat(content);
   Serial.println(cont2);


Ik maak er dmv er 255 bij op te tellen een ansi code

Even een bump met een nieuwe vraag, is het mogelijk om de hardware seriele poorten van de Mega te gebruiken met inverse signalen?

Go Up