Olá pessoal,

Estou tentando construir um leitor de Tags RFID que leia o ID e o guarde, junto com data e hora em um cartão de memória, porém quando coloco o comando para abrir o arquivo "variável = SD.open ("arquivo.txt", FILEWRITE);" o programa não consegue detectar mais de uma tag. Ele detecta a tag que entra no campo, guarda o valor mas não faz um loop, identificando após o tempo de delay. Gostaria de saber se alguem ja passou  por isso e como solucionou. Não achei muita coisa online a respeito, pelo menos nada que desse resultado.

Exibições: 720

Anexos

Responder esta

Respostas a este tópico

Eu aconselho você a seguir este tutorial, onde tem a pinagem correta e uma boa explicação de texto e imagens.

http://www.arduinoecia.com.br/2017/02/data-logger-shield-com-rfid-n... 

Boa sorte.

Abs.

CK

De fato, ele está usando uma String para pegar os dados e isso eu não fiz.
Irei testar.

Muito obrigado!

Não deu resultado infelizmente pelo módulo que eu usar ter como base conexão ISCP.

Bom dia Alex, 

Não estudei a fundo o seu problema.

Mas já descobri alguns casos aqui no Lab de problemas de compatibilização de níveis lógicos SPI em alguns módulos de SD Card. Lembro-me desse caso abaixo que o colega Alan queria gravar os dados de um Chip CS5463 em um cartão SD. E veja a solução. A luta foi árdua, mas ele conseguiu. 

Favor informar o modelo do seu módulo RFID e do seu SD Card ( links, fotos, etc) .

Problema com a leitura SPI do CS5463 :

http://labdegaragem.com/forum/topics/controlador-de-fp-com-arduino-...

" quando gravo o código completo e conecto o SD as leituras param" 

Isso quer dizer que o SD Card esta inferindo, não é ?

http://labdegaragem.com/forum/topics/controlador-de-fp-com-arduino-...

"Revendo um link, que eu já tinha lhe enviado, descobri que dependendo dos chips usados no SPI BUS, pode ser necessário o uso de um buffer no pino MISO. Talvez seja essa a sua solução :

Ele trocou o modulo SD card."

Mais problemas com SPI :

http://labdegaragem.com/forum/topics/controlador-de-fp-com-arduino-...

Solução :

http://labdegaragem.com/forum/topics/controlador-de-fp-com-arduino-...

"Acho que deve ser o pino MISO do módulo SD que está bagunçando, vou tentar colocar um buffer triestate, mas agora só segunda pra comprar um 74LS125."

Referências sobre SPI :

https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Mode_...

http://labdegaragem.com/forum/topics/controlador-de-fp-com-arduino-...

Boa tarde José,

Muito interessante o artigo e devo dizer que realmente foram a fundo no problema. Ainda o lerei com mais atenção aos detalhes, medições, etc. Estou aliviado de ver que na parte da programação é provável que realmente não tenha nada anormal.

Sobre o modelo do módulo RFID é um Shield da Elecrow, tendo seu manual no seguinte link: https://www.elecrow.com/wiki/index.php?title=NFC_Shield

No meu caso, a prototipagem foi feita de uma forma não convencional (não usando o encaixe por cima, porém já revisei os jumpers e estão nas posições certas), para ter certeza que não esqueci nenhuma conexão, obedeci a imagem do seu projeto que se encontra no link mencionado, sendo a seguinte imagem:

Ou seja, os conectores de dados  9 e 10 e um conector de 5 volts, alem da ICSP.

Já o SD não tem nenhum fabricante gravado, sendo o da foto abaixo:

Bom dia Alex, 

Analisando o circuito do seu Módulo RFID , constatei que ele tem já tem internamente, os conversores de níveis de 5V para 3,3V. 

https://www.elecrow.com/wiki/images/3/3f/NFC_Shield_V1.01.pdf

E vendo a sua placa SD Card (tenho uma igual)  , percebo que ela não tem esses conversores de níveis de tensão. Isso inviabiliza o correto funcionamento do barramento SPI, quando existem dois ou mais dispositivos.

Sugiro que  use um módulo de conversão de níveis de tensão no barramento para o Módulo SD Card. 

No Mercado Livre:

Conversor De Nível Lógico Bidirecional I2c 5v - 3,3v Arduino

Como funciona um Módulo de Conversão de nível de tensão :

https://learn.sparkfun.com/tutorials/bi-directional-logic-level-con...

 

Boa tarde José,

Beleza. Já comprei a peça e irei fazer o processo conforme o tutorial do Sparkfun mas ainda fiquei com uma dúvida na cabeça... Porque conectar um fio  de 3.3V diretamente no módulo SD não funciona? Ele teoricamente não teria essa divisão?

Alex, como eu comentei no outro tópico :

E vendo a sua placa SD Card (tenho uma igual)  , percebo que ela não tem esses conversores de níveis de tensão. Isso inviabiliza o correto funcionamento do barramento SPI, quando existem dois ou mais dispositivos.

Se fosse um dispositivo somente , no caso o módulo SD Card, ele vai funcionar. O problema ocorre quando tem mais de um um dispositivo no mesmo barramento. O meu SD Card não tem divisor resistivo. Acho que o seu é igual ao meu. 

Boa noite José,

Obrigado pelo esclarecimento. Achei que pelo fato de existir um conector de 3.3 Volts no módulo ja se viabilizaria o funcionamento do mesmo. Irei fazer as ligações com o conversor de nível lógico e posto um feeback.

Muito obrigado!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço