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: 13076

Responder esta

Respostas a este tópico

Na verdade, RS232 e RS485 são tipos de interface de hardware. 

E nessas interfaces, podem ser usados alguns tipos de protocolo de comunicação. 

Por ser mais comum, recomendo que use a RS232. 

Já conferiu  as chaves SW1 e SW2 no seu RS232 Shield ?

Então esse é o conector do seu modulo UHF RFID:

Blue(azul) - terra (GND) - pino 5 

Brown (marrom ) - RS232 RXD -  pino 2 

Yellow(amarelo) - RS232 TXD - pino 3 

Sobre o  cabo extensor RS232, você informou que pino a pino, não é ?

E esse diagrama abaixo é o conector do seu modulo RS232 para Arduino; 

Assim podemos concluir que a conexão RS232 esta correta !

Qua

Opa !! descobri que a seu módulo RS232 tem duas chaves que devem ser configuradas !!

Você deve configurar as chaves  para :

SW1 - para soft serial 

SW2 - para RS232

http://www.tinyosshop.com/datasheet/RS232-485%20Shield%20Schematic.pdf

Olá José Gustavo!

Então, referente aos pinos do meu módulo UHF RFID, é isso mesmo!

Com relação ao cabo extensor, fiz esse teste aqui: https://www.youtube.com/watch?v=KOmyr8QrdxI

E sobre as chaves, tinha esquecido de mencionar, mas a placa já veio com a 1 em software serial e a 2 em RS232. Agora, diferente da foto do site, meu shield veio com dois jumpers, um onde está escrito pull up resistor e outro onde está escrito pull down resistor. Isso poderia está interferindo? Devo tirá-los?

Grato!

Veja no link do seu Shield RS232 que eu enviei. 

Esses jumpers de resistores são para a interface RS485. 

Não se aplicam na interface RS232. 

No manual do seu módulo RFID é informada a velocidade de comunicação ?

Você poderia tentar outras , mas tem que mudar no seu programa e na console da IDE também. 

Sugiro que a velocidade da soft serial seja a mesma da serial do Arduino, sempre. 

Cara,

Primeiramente,  gostaria de agradecer por tentar ajudar...  valeu  mesmo!

Vou precisar sair agora, mas vou verificar o que me pediu, e assim que possível, respondo!

Então José Gustavo,

1. Tirei os jumpers;

2. As chaves da shield já estão setadas em RS232 e Software Serial;

3. Fiz o teste de continuidade com um multímetro e o tx do RFID está no rx do Arduino e vice-versa;

4. Comprei o módulo no aliexpress, não venho manual, mas o baud está em 9600;

5. Tentei o código abaixo e vi que pela primeira vez o LED do shield acendeu (LED vermelho onde está escrito tx);

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

#define DEBUG
SoftwareSerial mySerial (2,3);
unsigned char incomingByte;

void sendIdentifyCmd ()
{
mySerial.write (0x7c);
mySerial.write (0xff);
mySerial.write (0xff);
mySerial.write (0x01);
mySerial.write (0x08);
mySerial.write (0x7d);
#ifdef DEBUG
Serial.print (0x7c);
Serial.print (0xff);
Serial.print (0xff);
Serial.print (0x01);
Serial.print (0x08);
Serial.print (0x7d);
Serial.println ();
#endif
}

void setup ()
{
Serial.begin (9600);
mySerial.begin (9600);
Serial.println ("begin initial Serial!\n");
}

void loop ()
{
sendIdentifyCmd ();
delay (2);
while(mySerial.available () > 0)
{
incomingByte=mySerial.read ();
Serial.print (incomingByte,HEX);
Serial.print (' ');
}
Serial.println ();
delay (1000);
}

6. Contudo, ainda nada... tá difícil! 

7. Você saberia me dizer como posso fazer as conexões para o protocolo RS485? E as modificações no código do sketch e no shield?

Alisson , você ainda não esgotou todas as possibilidades de teste com RS232 . 

Você fez o teste com outras velocidades ? 

Mas tem que mudar no seu programa e na console da IDE também. 

Sugiro que a velocidade da soft serial seja a mesma da serial do Arduino, sempre. 

Como sabe que o lado da chave que configurou esta correto ?

Mande uma foto do seu shield. 

Oi José Augusto!

Então... estou anexando mais fotos para você verificar, mas basicamente são:

1. Mostrando mais ou menos como fiz o teste de continuidade com o multímetro (substitui o cabo DB9 por um conector DB9)

2. Mostrando como está o shield (com cada chave posicionada no seu devido lugar - RS232 e Software Serial - sem os jumpers e com o LED tx piscando em vermelho);

3. Mostrando a antena RFID bipando ao ler uma tag;

Agora, vou fazer os testes com velocidade e vou postar as fotos aqui!

Anexos

Continuando, segue em anexo as fotos com os testes de velocidade...

Independente da velocidade, apareceu sempre a mesma mensagem:

- begin initial Serial (que é o que mando printar assim que abro a IDE);

- E sempre aparece o mesmo número: 12425525518125 (que não é de nenhuma tag). Além disso, esse número se repete infinitamente, não sei o porquê);

Anexos

Ah, esqueci de mencionar.. no meu código do arduino estou usando as portas 2 e 3, que pelo que entendi representam o tx e rx do shield (conforme foto em anexo), correto?

Anexos

Opa ! Que beleza ! Já esta aparecendo algo !! Bom sinal . 

Isto quer dizer que já existe comunicação entre o RFID e o seu Arduino. 

As portas D2 e D3 são usadas no Soft Serial - correto ! 

Você esta mandando um comando de identificação ( seria identificação da TAG ou do aparelho? ) 

void sendIdentifyCmd ()

Veja que esse numero esta em hexadecimal = 12425525518125
Qual é o ID da sua TAG  ?
Vi no outro tópico, o Antônio informando sobre o pino TRIGGER  (fio cinza) . 
Você não recebeu nenhum CD com manual ?? 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço