Galera,

Gostaria da ajuda de vocês. Estou montando um projeto com arduíno uno e antena RFID UHF, com o intuito apenas de ler a tag.

Estou utilizando os seguintes equipamentos:

Antena: http://pt.aliexpress.com/item/Integrative-UHF-RFID-card-reader-5M-l...

Shield: http://www.filipeflop.com/pd-14cf65-rs232-rs485-shield-para-arduino...

Para conectar a antena com o shield, estou usando um cabo DB9, ou seja, utilizando a conexão RS232.

E, por fim, estou usando esse código:

  1. #include "Arduino.h"
  2. #include <SoftwareSerial.h>
  3.   
  4. // # Define DEBUG
  5. SoftwareSerial mySerial (2,3);
  6. unsigned char incomingByte;
  7.  
  8. void sendIdentifyCmd ()
  9. {
  10. mySerial.write (0x7c);
  11. mySerial.write (0xff);
  12. mySerial.write (0xff);
  13. mySerial.write (0x01);
  14. mySerial.write (0x08);
  15. mySerial.write (0x7D);
  16. DEBUG #ifdef
  17. Serial.print (0x7c);
  18. Serial.print (0xff);
  19. Serial.print (0xff);
  20. Serial.print (0x01);
  21. Serial.print (0x08);
  22. Serial.print (0x7D);
  23. Serial.println ();
  24. #endif
  25. }
  26.  
  27. void setup ()
  28. {
  29. Serial.begin (9600);
  30. mySerial.begin (9600);
  31. Serial.println ("Início! \ N");
  32. pinMode (13, OUTPUT); 
  33. }
  34.  
  35. void loop ()
  36. {
  37. sendIdentifyCmd ();
  38. delay(2);
  39. while(mySerial.available () 0>)
  40. {
  41. incomingByte mySerial.read = ();
  42. Serial.print (incomingByte, HEX);
  43. Serial.print ('');
  44. digitalWrite (13, HIGH);
  45. delay(500); // Modificado
  46. digitalWrite (13, LOW); 
  47. }
  48. Serial.println ();
  49. delay(1000);
  50. }

Contudo, apesar da antena bipar indicando que está lendo a tag, nada é enviado para o arduíno. Não aparece nada.

Grato!

Exibições: 13072

Responder esta

Respostas a este tópico

FALAAA GALERAAAAA

EM FIM FUNCIONOU...

com ajuda de um professor, que encontrou o problema, todo credito é dele...

segue o código, basta você INVERTER o RX e TX da antena para a shield RS232 e fim...

código reduzido drasticamente.....

#include "Arduino.h"
#include <SoftwareSerial.h>

SoftwareSerial portas (2, 3);
unsigned char tag;

void setup () {

//inicia config antena
Serial.begin (9600);
portas.begin (9600);
Serial.print ("Pronto pra receber TAG!\n");
}

void loop () {

while (portas.available () > 0) {
tag = portas.read ();
//por 0 nos HEX com apenas 1 caracter, para melhor entendimento
if (tag < 16) Serial.print("0");
Serial.print (tag, HEX);
Serial.print (' ');
}

}

Façam o teste ai vocês mesmo....

eheheh...Moço...eu expliquei isso  há mais de um ano atrás...ehehehehe

só não tive tempo de fazer o vídeo...porque na real era muito fácil

Permalink Responder até Andre Abade em 16 abril 2017 at 18:30

Olá Pessoal,

Desculpem! Acabei esquecendo de postar o how-to.

Farei um video e vou postar no youtube...Até amanhã posto o Link

Mas por enquanto já vou adiantando alguns detalhes!

Primeiro passo - O conector da Antena China que comprei vem no padrão RS-232  com RX(Puple - Pino 3) e TX(Write- Pino 2) ...troque o conector femea para um conector macho....e inverta a pinagem RX -> pino 2...TX -> Pino 3.

Isso é necessário por causa do Shield que não faz a inversão!

Configura a antena para operar em modo de leitura continua com beep de confirmação.

Conecte a antena o Shield...e no arduino...vou mandar um código básico de teste...

Depois e só notar que a luz de RX do Arduino já começa a piscar...ai é só alegria....trate os dados no buffer...e sucesso!

Abraços,

Abade

sim Andre...

quanto a isso nós já tínhamos a certeza...

mas mesmo assim nos códigos que eu estava utilizando ele não vinha nada... foi fazendo algumas alteracoes nos códigos que o problema de leitura resolveu.. agora vejo que é simples mas quebrei a cabeça nessa maldita antena... kkkkkkkkkk

OUTRA COISA ANDRE

você utilizou a SHIELD RS232 ou o modulo TTL RS232?

eu utilizei a SHIELD RS232, porem não cheguei a testar com o modulo TTL RS232, que no caso é muito mais em conta do que a shield rs232 valendo uns 100reais, contra uns 30 do modulo ttl rs232

Boa Noite pessoal.

Consegui comunicar uma Antena UHF RFID com o Arduino UNO usando um módulo conversor RS485 para TTL. Tive grandes dificuldades no começo de tudo mas conseguir 

resolver o problema. Vou descrever passo a passo das ações que tomei para que o protótipo funcionasse. Para facilitar o entendimento vou seguir um roteiro.

1- Materiais Usados

2- Protocolo da Antena e Comunicação com o Arduino

3- Código 

4-Teste

1° Materiais Usados: (Antena + Módulo Conversor RS 485 para TTL + Arduino UNO)

-A antena que eu usei é chinesa. Comprei no Ali Express por 130 Dólares na época. Ela tem um alcance de 5m, Oferece três interfaces de comunicação serial: RS232, RS485 e Wiegand.

Link: https://pt.aliexpress.com/item/UHF-RFID-card-reader-6m-long-range-8...

-O módulo conversor RS484 para TTL eu comprei numa lojinha física aqui em minha cidade, RECIFE. Este módulo usa um CI MAX485. Segue um foto dele.

max485-rs485-to-ttl-converter-module-1.jpg

- Usei também um arduino UNO.

2° Protocolo da antena e Comunicação com o Arduino

Esta é a parte crucial do projeto. A primeira coisa que devemos saber é que não é possivel comunicar a antena diretamente com o arduino. É preciso uma maneira de converter os sinais que ela oferece (Padrão RS485, RS232 ou Wiegans) para um tipo de sinal que o arduino entenda, que no caso é o TTL.

Para converter este sinal usei o módulo conversor RS485 para TTL. Ele custou R$ 15 reais.  

Vi que outros colegas acima fizeram com o módulo RS232. Funciona também. É uma alternativa.

Pelo que pude perceber a antena fica a todo momento lendo as tags que entram no seu ângulo de irradiação. Se ela identificar alguma TAG RFID ela imediatamente começa a piscar um led e aciona um buzzer. Porém, ela não envia nenhuma informação pelos seus fios.

Ela pisca indicando que há uma tag próxima mas não transmite a informação.

E como resolver este problema?? (Isto não é um problema)

A pergunta correta é: Como fazer ela enviar a informação?

A antena tem um protocolo de comunicação próprio: ISO18000-6B. Lendo seu manual é possivel encontrar uma série de comandos que executa de acordo com as informações enviadas para ela.

Então a ideia é: Para que um arduino consiga receber informações da antena, ele deve primeiro enviar uma requisição para ela. De acordo com o Manual a  referida requisição é um código hexadecimal: 7C-FF-FF-10-32-00 .h (Para outras antena pode ser diferente. É importante consultar o manual)

Quando a antena recebe esta informação, ela entende que deve responder com o número da TAG que está em seu campo de irradiação. 

Então, isto significa que determinado momento o arduino estará transmitindo informações para a antena, e em outros momentos estará recebendo informações da antena, tudo isso pelo mesmo canal: o par de fios AB, padrão RS485 que a antena fornece.

Dica importante: Este módulo (RS485 -TTL) funciona de maneira HALF-DUPLEX. Ou seja, não é possivel transmitir e receber informações ao mesmo tempo pelo único canal que ele fornece. Logo, será necessário, dizer, no código, qual momento ele funcionará como transmissor e em qual momento ele funcionará como receptor.

Outra observação importante. Tanto o Monitor Serial quanto a antena precisam de portas seriais para se comunicar com o arduino. Como o arduino UNO só tem uma porta serial, é necessário usar a biblioteca SoftwareSerial. Ela já esta inclusa no arduino. Ela simula uma porta serial em alguma das portas digitais do arduino. 

3° Código Base

void leitura_tag(){  // Comando que ler os dados presentes no Buffer

  sendIdentifyCmd (); 

  while(mySerial.available () > 0) 

  {

     sinal_recebido = mySerial.read();

     Serial.print(sinal_recebido[k],HEX);

     Serial.print(" ");

      }

    delay(500);

  }

 

void sendIdentifyCmd () // Comando que requisita à antena a ID das TAGS presentes em seu campo de irradiação

{

  digitalWrite(3,HIGH);

  mySerial.write (0x7c);    

  mySerial.write (0xff);

  mySerial.write (0xff);  

  mySerial.write (0x10);                  

  mySerial.write (0x32);                  

  digitalWrite(3,LOW);            

}

4° Testes

Funcionou. Vou postar algumas fotos dos resultados.

Boa noite, 

Importante ler as instruções do dispositivo antes de usá-lo.

Pesquisando o material, eu descobri que existe um programa para configurar a antena.

E parece que ninguém usou esse programa.

Tudo seria muito mais fácil...

http://labdegaragem.com/forum/topics/projeto-ardu-no-com-antena-rfi...

Muito bom seu tutorial. Parabéns! E obrigado!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço