[RFID] Leitura simultanea de TAGs

277 views
Skip to first unread message

Petterson Faria

unread,
Mar 31, 2013, 9:48:32 AM3/31/13
to ardu...@googlegroups.com
Bom dia povo.

Eu comprei o modulo RDM630 para um projeto de faculdade e estou usando tags 125khz.

Como perdi muito tempo na parte escrita, fui testar o código hoje, e vi que meu módulo não lê mais de um tag ao mesmo tempo.

Se eu aproximar 2 tags, ele simplesmente para de ler.
Acompanhei vendo a saida(led) da leitura.

Alguém já utiliza algum módulo que possa indicar?
Esse meu o alcance é bem curto (2 cm~)

Desde já agradeço aos amigos.

--
Atenciosamente,
Petterson Faria
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)

Robson Ximenes

unread,
Apr 1, 2013, 8:19:51 AM4/1/13
to ardu...@googlegroups.com
Me parece mais caracteristica de NFC. Não tenho certeza se dá para ler mais de um... acho que não mesmo.


--
Robson Saraiva Ximenes
-----------------------------------------



2013/3/31 Petterson Faria <con...@pettersonfaria.com.br>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "ArduInRio" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para arduinrio+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Carlos Eduardo "Mascote" Garcia de Carvalho

unread,
Apr 1, 2013, 8:50:17 AM4/1/13
to ardu...@googlegroups.com
Robson, deve ser possível sim porque um dos usos/exemplos que se davam para RFID era de ter um tag em cada item de um supermercado e você simplesmente passar com o carrinho inteiro pelo leitor e pronto. Para que isso seja possível tem que existir essa possibilidade. 

Mas realmente, nunca vi nenhum ninguém falar sobre isso.

[]'s


---
Carlos Eduardo "Mascote" Garcia de Carvalho
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Provérbios 3.6
(21) 8125-1737
Skype: carloseduardo.gc


2013/4/1 Robson Ximenes <robson...@gmail.com>

Petterson Faria

unread,
Apr 1, 2013, 8:57:07 AM4/1/13
to ardu...@googlegroups.com
Estou pesquisando no google por multi/simultaneous reader rfid, etc...
Se alguém souber de algo contribua ai.


--
Atenciosamente,
Petterson Faria
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)


2013/4/1 Carlos Eduardo "Mascote" Garcia de Carvalho <carlosed...@ieee.org>

Romano Silva

unread,
Apr 1, 2013, 9:16:13 AM4/1/13
to ardu...@googlegroups.com
Petterson,

Como você está fazendo a leitura do RFID?

[]s
Romano


2013/4/1 Petterson Faria <con...@pettersonfaria.com.br>

Ugulino

unread,
Apr 1, 2013, 9:17:14 AM4/1/13
to ardu...@googlegroups.com
Peterson, uma curiosidade:

Ele lê apenas 1 por vez, mas qual o tempo mínimo entre apresentar um cartão e outro? 

Imagine uma esteira com equipamentos etiquetados... qual a velocidade máxima da esteira para que todos os produtos sejam reconhecidos (com essa distância de 2cm, facilita um pouco... pq só vai reconhecer a tag qdo estiver bem perto do leitor)

BTW, Peterson, já estive estudando o assunto. Tenho inclusive um leitor de RFID de tags de 125Khz que lê até a distância de 1m. Muito bom. Tenho de 12cm, 20cm, vários leitores lá no laboratório da PUC.

Depois de tudo o que eu li, pareceu-me que ler mais de um tag de uma vez só é possível usando leitores e tags UHF, que são beeeeeeem mais caros... Na época, o preço tornou o projeto inexequível. Pouco mais de um ano depois, recebi propostas de empresas com preços bem mais baixos... leitores na faixa de R$ 500 (o mesmo preço que eu paguei pelo leitor de 1m de distância).

Petterson Faria

unread,
Apr 1, 2013, 9:38:41 AM4/1/13
to ardu...@googlegroups.com
1M seria um sonho, o meu eh 2 cm ou menos :P
É um projeto de faculdade (TCC) que estou fazendo, sobre o velho protótipo de carrinho de compras.

Como estou testando só fiz uns ajustes num código exemplo:
http://pastebin.com/6YUG8dDi

Meu leitor RDM630 se eu aproximo duas tags juntas, ele nao le nenhuma delas.



--
Atenciosamente,
Petterson Faria
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)


2013/4/1 Ugulino <wallace...@gmail.com>

--

Romano Silva

unread,
Apr 1, 2013, 9:50:23 AM4/1/13
to arduinrio
Petterson,

acho que o problema está no código, pois você, agora, precisa identificar as tags sendo recebidas.

Possivelmente o loop while(bytesread < 12)  não vai servir para você. Quando você aproxima mais de um, o RFID pode começar a receber vários bytes e, enquanto o algortimo de colisão não se ajustar, os bytes 2 e 3 não serão recebidos corretamente.

Tenta colocar while (RFID.available())

Grande abraço,
Romano



2013/4/1 Petterson Faria <con...@pettersonfaria.com.br>
1M seria um sonho, o meu eh 2 cm ou menos :P

Romano Silva

unread,
Apr 1, 2013, 9:53:03 AM4/1/13
to arduinrio
É possivel também que você tenha que fazer uma sinalização para só gravar no code quando receber o '2'.

Seria algo como

if (val == 2) reading = true;

e aí você só faria o restante do código quando reading fosse igual a true. Quando você receber o '3' você fecha o loop (break) ou coloca reading = false para processar mais de um tag

[]s
Romano


2013/4/1 Romano Silva <romano....@gmail.com>

Petterson Faria

unread,
Apr 1, 2013, 9:53:29 AM4/1/13
to ardu...@googlegroups.com
Verdade, esta recebendo mais que 12, vou testar isso.
Amanhã vou mudar e reporto aqui. Valeu pela dica, realmente o desespero superou a atenção.


--
Atenciosamente,
Petterson Faria
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)


2013/4/1 Romano Silva <romano....@gmail.com>

Petterson Faria

unread,
Apr 1, 2013, 9:55:21 AM4/1/13
to ardu...@googlegroups.com
Eu percebi que ele retorna 3 quando repete a ultima tag lida, e -1 quando nao ta lendo nada.
quando ele vai ler uma tag diferente da ultima lida, ele retorna um 2 antes.
Depois de funcionar, vou refinar esse codigo.


--
Atenciosamente,
Petterson Faria
"Há momentos em que a maior sabedoria, é parecer não saber nada" (Sun Tzu)


2013/4/1 Petterson Faria <con...@pettersonfaria.com.br>

Romano Silva

unread,
Apr 1, 2013, 9:59:12 AM4/1/13
to arduinrio
Esse '2' é o marcado do início da transmissão do valor da TAG.

Peguei uma função bem útil de um forum no arduino.cc:

char buffer[1024] = "\0";

char *get_code() {
  while (RFID.available()) {
    int val = RFID.read();
    if (val == 2) {
      buffer[0] = '\0';
    }
    sprintf(buffer,"%s %d",buffer,val);
    if (val == 3) {
      return buffer;
    }
  }
  return NULL;
}

http://arduino.cc/forum/index.php?topic=106247.0


Abraços,
Romano

Petterson Faria

unread,
Apr 1, 2013, 10:01:55 AM4/1/13
to ardu...@googlegroups.com
Valeu, vou testar com esse modelo. Obrigado desde já.
Reply all
Reply to author
Forward
0 new messages