RFID com Arduino
O Leitor RFID utilizado neste tutorial é o Starter Kit da SparkFun disponível na Loja LdG
Conecte o Leitor ID12 na placa fornecida e faça a seguinte ligação:
Adquira estes componentes na Loja do Lab de Garagem
Agora, abra a IDE do Arduino e coloque a seguinte programação para o Arduino:
#include <SoftwareSerial.h>
SoftwareSerial rfidReader(2, 3); //Pin 2 - RX /Pin 3 - TX
char c= 0; // value read for serial port
char temp[20]=0;
int z=0;
int y=0;
char* cards[] = { // put your ID Card
//Example:
"3E00274AD9"
};
void setup() {
Serial.begin(9600); //setup the Serial speed
rfidReader.begin(9600); //setup the Rfid reader speed
}
void loop () {
z=0;
if(Serial.available() > 0) {
c = Serial.read(); // read from the serial port
temp[z]=c; //put the character on temporary variable
Serial.print(c, BYTE); // Use Serial.write(c) for IDE 1.0 and print it to the monitor
z=z+1;
}
for(int x=0;x<13;x++)
{
if(temp[0]==cards[0])
{
y=y+1;
}
}
if(y==12)
{
Serial.println("ok");
Serial.print("Valid");
}
else if (y!=12)
{
Serial.println(“Not Valid”);
}
}
Clique em Upload e depois abra o Serial Monitor e passe o cartão com a ID que foi escrita acima. Se estiver certo, aparecerá “ok” e depois “Valid”, senão aparecerá “Not Valid”.
Referências:
http://arduino.cc/playground/Code/ID12
Comentar
e com o rfid mfrc522, alguem sabe como ficaria o codigo?
Esse script tem alguns erros, resolvi alguns mas esses persistem:
sketch_oct07a:5: error: array must be initialized with a brace-enclosed initializer
sketch_oct07a.ino: In function 'void loop()':
sketch_oct07a:30: error: ISO C++ forbids comparison between pointer and integer
A linha 5 é essa: char temp[20]=0;
E o erro da linha 30 tem haver com o erro anterior, pois nela contem uma condição que utiliza a variável citada.
Alguem pode resolver??
Pra quem tem dúvidas, Software Serial é uma biblioteca, caso de erro, instale-a ... (costuma já vir com o IDE)
Felipe,
Não sei dizer, mas acho que cada tag tem seu código. Tem que dar uma pesquisada no google.
Você já descobriu como funciona?
Sidney,
Acabei não usando biblioteca nenhuma. Li o datasheet do meu leitor de RFiD e criei o código para fazer a leitura.
Algumas vezes o caminho mais rápido não é o melhor.
Obrigado por perguntar.
Claudio,
vc resolveu o problema? Pelo que vejo vc não instalou uma biblioteca na pasta certa.
Olá,
Todo cartão RFID 125mhz tem um ID único?
Pergunto isso porque quero comprar o kit "http://www.labdegaragem.org/loja/index.php/32-kits/rfid-starter-kit.html" mas minha dúvida é se depois quando comprar os cartões separados se terei algum problema de duplicação.
Obrigado,
Felipe
Para quem precisar vou passar a simples correção (parte funcional), para implementar é com vocês (claro que se precisar de ajuda pode perguntar, mas esse código é para testar o funcionamento)
#include <SoftwareSerial.h>
SoftwareSerial rfidReader(2, 3); //Pin 2 - RX /Pin 3 - TX
char c= 0; // value read for serial port
void setup() {
Serial.begin(9600); //setup the Serial speed
rfidReader.begin(9600); //setup the Rfid reader speed
}
void loop () {
if (rfidReader.available() > 0) {
c = rfidReader.read(); // read from the serial port
Serial.print(c); // Use Serial.write(c) for IDE 1.0 and print it to the monitor
}
}
O código tem vários erros, precisamos de um Recall ... Por favor, alguém :)
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)