Para melhorar a sua experiência este site utiliza cookies. Ao navegar, está a consentir a sua utilização. Saiba mais sobre os nossos cookies.

Preço reduzido

Leitor RFID com USB - Sparkfun

14,73 €
17,32 €

(SEM IVA 11.97€)

ef17a0127sk

Leitor USB RFID é uma base USB para série, simples de usar, para leitores ID-3LA, ID-12LA e ID-20LA. 

Desconto de quantidade

Quantidade Preço Poupa
3 14,58 € Até 0,44 €
5 14,28 € Até 2,21 €
10 13,99 € Até 7,36 €
Quantidade
Disponível Loja Gaia e Online (Envio 24h)

O Leitor USB RFID é uma base USB para série, simples de usar, para leitores ID-3LA, ID-12LA e ID-20LA. Simplesmente ligue um leitor aos conectores e junte um cabo miniUSB. Abra um programa de terminal à sua escolha em 9600bps 8N1, de seguida, digitalize a sua etiqueta ID de 125kHz  e o ID exclusivo de 32 bits será mostrado no ecrã. A unidade é baseada num chip FTDI e vem com um LED de leitura e uma campainha.  

Esta nova revisão usa conectores SMD para o módulo RFID e tem um jumper de solda que permite ativar ou desativar a campainha.

Nota: Este produto não inclui o leitor RFID.  

Dimensões: 3,6 x 3 x 1,5cm.

Documentos:
→ Esquema
→ Tutorial 

Esquema de Ligação:

Código Exemplo: 

/*****************************
RFID-powered lockbox
This sketch will move a servo when
a trusted tag is read with the
ID-12/ID-20 RFID module
Pinout for SparkFun RFID USB Reader
Arduino ----- RFID module
5V VCC
GND GND
D2 TX
Pinout for SparkFun RFID Breakout Board
Arduino ----- RFID module
5V VCC
GND GND
D2 D0
Connect the servo's power, ground, and
signal pins to VCC, GND,
and Arduino D9
If using the breakout, you can also 
put an LED & 330 ohm resistor between
the RFID module's READ pin and GND for
a "card successfully read" indication
by acavis, 3/31/2015
Inspired by & partially adapted from
http://bildr.org/2011/02/rfid-arduino/
******************************/
#include <SoftwareSerial.h>
#include <Servo.h>
// Choose two pins for SoftwareSerial
SoftwareSerial rSerial(2, 3); // RX, TX
// Make a servo object
Servo lockServo;
// Pick a PWM pin to put the servo on
const int servoPin = 9;
// For SparkFun's tags, we will receive 16 bytes on every
// tag read, but throw four away. The 13th space will always
// be 0, since proper strings in Arduino end with 0
// These constants hold the total tag length (tagLen) and
// the length of the part we want to keep (idLen),
// plus the total number of tags we want to check against (kTags)
const int tagLen = 16;
const int idLen = 13;
const int kTags = 4;
// Put your known tags here!
char knownTags[kTags][idLen] = {
"111111111111",
"444444444444",
"555555555555",
"7A005B0FF8D6"
};
// Empty array to hold a freshly scanned tag
char newTag[idLen];
void setup() {
// Starts the hardware and software serial ports
Serial.begin(9600);
rSerial.begin(9600);
// Attaches the servo to the pin
lockServo.attach(servoPin);
// Put servo in locked position
lockServo.write(0);
}
void loop() {
// Counter for the newTag array
int i = 0;
// Variable to hold each byte read from the serial buffer
int readByte;
// Flag so we know when a tag is over
boolean tag = false;
// This makes sure the whole tag is in the serial buffer before
// reading, the Arduino can read faster than the ID module can deliver!
if (rSerial.available() == tagLen) {
tag = true;
}
if (tag == true) {
while (rSerial.available()) {
// Take each byte out of the serial buffer, one at a time
readByte = rSerial.read();
/* This will skip the first byte (2, STX, start of text) and the last three,
ASCII 13, CR/carriage return, ASCII 10, LF/linefeed, and ASCII 3, ETX/end of
text, leaving only the unique part of the tag string. It puts the byte into
the first space in the array, then steps ahead one spot */
if (readByte != 2 && readByte!= 13 && readByte != 10 && readByte != 3) {
newTag[i] = readByte;
i++;
}
// If we see ASCII 3, ETX, the tag is over
if (readByte == 3) {
tag = false;
}
}
}

// don't do anything if the newTag array is full of zeroes
if (strlen(newTag)== 0) {
return;
}
else {
int total = 0;
for (int ct=0; ct < kTags; ct++){
total += checkTag(newTag, knownTags[ct]);
}
// If newTag matched any of the tags
// we checked against, total will be 1
if (total > 0) {
// Put the action of your choice here!
// I'm going to rotate the servo to symbolize unlocking the lockbox
Serial.println("Success!");
lockServo.write(180);
}
else {
// This prints out unknown cards so you can add them to your knownTags as needed
Serial.print("Unknown tag! ");
Serial.print(newTag);
Serial.println();
}
}
// Once newTag has been checked, fill it with zeroes
// to get ready for the next tag read
for (int c=0; c < idLen; c++) {
newTag[c] = 0;
}
}
// This function steps through both newTag and one of the known
// tags. If there is a mismatch anywhere in the tag, it will return 0,
// but if every character in the tag is the same, it returns 1
int checkTag(char nTag[], char oTag[]) {
for (int i = 0; i < idLen; i++) {
if (nTag[i] != oTag[i]) {
return 0;
}
}
return 1;
}
NOVA ENCOMENDA