Boa noite galera,
adquiri recentemente esse leitor e segui varios tutoriais na net, mas nenhum conseguiu fazer leitura das minhas tags, inclusive pensei que poderia ser problema delas, mas ele foi lida normalmente num outro sistema que tenho. Alguem tem ideia do que eu possa estar fazendo errado?
OBS: Verifiquei que, ao fazer um upload deveria desconectar a antena e os cabos rx/tx, procedi dessa forma e o problema persistiu, estou com 2 aqui e ambas agem da mesma forma.
Abs
Daniel
Tags:
Sei que seu questionamento tem mais de um ano, mas...
Então, tive o mesmo problema. Eu estava usando uma fonte externa pra alimentar o RDM6300, então apenas liguei o GND da fonte ao GND do Arduíno, pronto!
para o meu tcc não preciso converter nao uso o codigo dos proprios cartoes, no meu caso é para abrir fechaduras acionar reles, na verdade levar um sinal ao rele e apartir dai eu ecolho uma acao, a parte de conversão eu aindo não fiz pra nenhum dos componentes q tenho, até mesmo tenho uma duvida em fazer a acao de ligar o rele e desligar com o mesmo cartão sem ter que usar string mas to apanhando
segue um exemplo de codigo
#include <SoftwareSerial.h>
// MODIFIQUE AS DUAS VARIAVEIS ABAIXO PARA OS CARTOES DE CONFIGURACAO
#define ADD_TAG_CODE "0500A717C897" // Coloque o ID de uma Tag para adicionar tag na Lista de Acesso
#define DEL_TAG_CODE "210015FABD6A" // Coloque um ID para remover um Token da Lista de Acesso
int rele = 12;
SoftwareSerial rfid = SoftwareSerial(5, 6);
String msg, last, msg2;
String ID ; // String que armazena a Lista de Acesso
void setup()
{
pinMode(rele, OUTPUT); //Set Pin12 as output
Serial.begin(9600);
Serial.println("Serial Ok");
rfid.begin(9600);
Serial.println("RFID Ok");
}
char c;
void loop(){
while(rfid.available()>0){
c=rfid.read();
msg += c;
}
msg=msg.substring(1,13);
if(msg != last){
if (msg.length()>1){
last=msg;
}
if(msg.indexOf(ADD_TAG_CODE)>=0) add();
else if(msg.indexOf(DEL_TAG_CODE)>=0) del();
else if(msg.length()>10) verifica();
}
msg="";
}
void add(){
Serial.println("Passe a Tag que voce deseja liberar o acesso: ");
msg2=msg;
while (msg2 == ADD_TAG_CODE) {
msg="";
while(msg.length()<13){
while(rfid.available()>0){
c=rfid.read();
msg += c;
}
msg2=msg.substring(1,13);
}
}
if(ID.indexOf(msg)>=0) {
Serial.println("Essa Tag ja esta na lista de Acesso.");
msg="";
}
else{
//Serial.print("Card: ");
//Serial.println(msg);
ID += msg;
ID += ",";
// Serial.print("ID: ");
// Serial.println(ID);
Serial.print("Acesso Liberado para a Tag: ");
Serial.println(msg);
msg="";
digitalWrite (9, LOW);
}
}
// Funcao para remocao de Tags da Lista de Acesso
void del(){
msg="";
Serial.println("Passe a Tag que deseja remover da Lista de Acesso!");
while(msg.length()<13){
while(rfid.available()>0){
c=rfid.read();
msg += c;
}
}
msg=msg.substring(1,13);
if(ID.indexOf(msg)>=0){
Serial.println("Tag encontrada e removida da Lista de Acesso: ");
Serial.println(msg);
//ID.replace(card,"");
int pos=ID.indexOf(msg);
msg="";
msg += ID.substring(0,pos);
msg += ID.substring(pos+15,ID.length());
ID="";
ID += msg;
} else {
Serial.println("TAG nao foi localizada, e continua sem acesso.");
}
msg="";
}
// Funcao para validar o acesso
void verifica(){
msg=msg.substring(1,13);
if(ID.indexOf(msg)>=0){
Serial.println("Acesso Liberado!");
// digitalWrite(rele, HIGH); //Turn off relay
//delay(2000);
digitalWrite(rele, LOW); //Turn on relay
// delay(2000);
} else {
Serial.print("Acesso Negado para: ");
Serial.println(msg);
digitalWrite(rele, HIGH); //Turn off relay
}
}
opaaa YYYY hummm sera que não esta errado a ligacao do tx, qual o modelo do seu leitor,
não posso dar tempo tem que ser por passagem imagina uma pessoa passando por uma catraca e depois ela volta pela mesma catraca,
Cara, pior que não viu. Eu já até inverti os fios por desencargo de consiência..
Quando mudo a variável de char para int, a resposta no Serial Monitor é 255255255....
Tô carregando as fotos para voce ver o leitor
os 3 pinos na sequencia onde estao a antena nao precisa usar
começando na sua imagem no pino 1 (começando da esquerda pra direita),
vai no pino 5 do arduino
o pino 4 do leitor é o negativo e o
pino 5 é o positivo correto
primeira coisa é baixar o datasheet
segundo ver o cabecalho do codigo
segue foto
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por