RFID reader: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
Riadok 73: | Riadok 73: | ||
</source> | </source> | ||
[[Súbor:RFIDscreenshot.png]] |
Aktuálna revízia z 07:16, 3. október 2012
Čítačka RFID kariet
- Čo je to RFID (wikipedia.org)
- Product page (parallax.com)
- Datasheet (parallax.com)
- Príklad s vysvetlivkami (gumolabs.org)
Aby sme sa vyhli zápasu o jediný sériový kanál procesora, pripojíme čítačku na iný pin a využijeme knižnicu SoftwareSerial cez rxPin=8
Popis zapojenia (nie je v konflikte ani s LCDAppMod):
Arduino +5V to RFID Vcc Arduino D9 to RFID /ENABLE Arduino D8 to RFID SOUT Arduino GND to RFID GND
Example code (modified source from Arduino Playground):
#include <SoftwareSerial.h>
// Hardware connections
#define ENABLE 11
#define SOUT rxpin
#define rxPin 8
#define txPin 9
// RFID reader SOUT pin connected to Serial RX pin at 2400bps to pin8
int val = 0;
char code[10];
int bytesread = 0;
void setup()
{
Serial.begin(9600); // Hardware serial for Monitor 2400bps
pinMode(ENABLE,OUTPUT); // Set digital pin 2 as OUTPUT to connect it to the RFID /ENABLE pin
digitalWrite(ENABLE, LOW); // Activate the RFID reader
}
void loop()
{
SoftwareSerial RFID = SoftwareSerial(rxPin,txPin);
RFID.begin(2400);
if((val = RFID.read()) == 10)
{ // check for header
bytesread = 0;
while(bytesread<10)
{ // read 10 digit code
val = RFID.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
Serial.print("TAG code is: "); // possibly a good TAG
Serial.println(code); // print the TAG code
}
bytesread = 0;
delay(500); // wait for a second
}
}