Olá pessoal, estou com dificuldade para realizar leitura de Tag's com o módulo RC522.
Consegui realizar a leitura de algumas TAG porém após a implementação de um código que tinha como finalidade de gravação e leitura não consegui mais identificar o ID das tags.
As conexões estão corretas, verifiquei varias vezes. Também já realizei a implementação do código DumpInfo e ele retorna o valor do firmware igual a 0.92.
Estou com dúvida no que pode ser o problema, pois o módulo liga mas acho que estou com problema no leitor tem como identificar isso?
Com o DumpInfo no Arduino ao colocares a tag sobre o leitor não surge nenhuma informação? Apenas a versão do firmware no inicio do programa?
Se usas um Arduino 5V e alimentas o RC522 a 3.3V convém converter os sinais SPI 5V no Arduino para os 3.3V no RC522. O modo mais fácil será através de um divisor de tensão para cada sinal (SS, SCK,MOSI,RST). Por exemplo, um divisor de tensão com resistências de 1K e 2K (5V*2K/(1K+2K)=3.3V). O sinal MISO é ligado directamente. Um modo mais eficiente para converter os sinais 5V<->3.3V será através de circuitos dedicados ou buffers.
Experimenta trocar os cabos. Se possível usa cabos mais curtos entre o Arduino e o RC522.
Se o problema persistir experimenta reduzir a frequência de relógio do periférico SPI, por exemplo, para 1 MHz. A frequência está definida no ficheiro header MFRC522.h na pasta da biblioteca MFRC522:
#define MFRC522_SPICLOCK (4000000u) // MFRC522 accept upto 10MHz, set to 4MHz.
Estás a usar o Arduino Uno? Confirma as ligações:
ArduinoUno -> RC522
SPI SCK (13) -> SCK
SPI MISO (12) -> MISO
SPI MOSI (11) -> MOSI
SPI SS (10) -> SDA (SS)
Digital I/O (9) -> RST
Se tiveres acesso a um osciloscópio ou analisador lógico poderás verificar se ocorre comunicação entre o Arduino e o módulo e tentar perceber que dados estão a ser transferidos.
Se utilizares apenas com o código original, sem alterações, o módulo também não lê as tags?
Com o código original, se o módulo está correctamente alimentado, ligações estão todas OK e conexões com bom contacto, deverá haver resposta na linha MISO quando o Arduino envia dados pela linha MOSI (com sinal de relógio SCK a funcionar e chip select SS activo a low). Se não há resposta na linha MISO o módulo poderá estar avariado. Experimenta substituir o módulo.
Se o módulo responde então é tentar perceber que valores está a enviar pela linha MISO e verificar no código que valores espera o Arduino (processamento da resposta).