Montei uma aplicação de Arduino armazenando dados de um sensor em um SD CARD.

O sistema funcionou bem com um SD card da multilaser de 8 GB (um pouco mais antigo). Utilizei os próprios exemplos do Arduino para testar.

Quando coloquei um SD card de 8 GB da SanDisk (recém-comprado), o arduino passou a apresentar a mensagem de erro de abertura do Sd Card e até o momento não consegui entender o que pode estar acontecendo. 

Achei estranho, pois o mesmo cartão foi lido normalmente por dois computadores diferentes. 

Alguém já teve essa experiência ou tem idéia do que pode estar acontecendo? 

Que cartões SD vocês recomendam para esse tipo de aplicação? Há alguma especificação própria ou limite de tamanho?

Exibições: 999

Responder esta

Respostas a este tópico

Qual tipo de formatação  esta usando?

Formate  o cartão novo no mesmo formato do cartão anterior ( em um PC ).

O Arduino usa a formatação em FAT32.

FAT32

Nas especificações do SD card, mostra que os cartões de memória podem funcionar em dois modos, o mais usado nos equipamentos e o mais rápido é o SD mode, mas usa mais pinos e abiblioteca padrão do Arduino não suporta, o menos usual  é o SPI mode, como o nome sugere ele usa a comunicação SPI do Arduino, esse ultimo modo pode ser facultado  pelo fabricante, para conseguir maior taxa de transmissão no SD mode.

Isso depende do fabricante e não há uma forma de saber sem o datasheet, mas caso encontre algum datasheet do cartão seria interessante consultar.

Por exemplo esse tem suporte aos dois modos:

http://www.mikroe.com/downloads/get/1624/microsd_card_spec.pdf 

Já reformatou novamente o cartão SD novo ?

Teste inicialmente sem formatar. Depois fiz uma formatação rápida. Em seguida fiz uma formatação física. Mesmo assim, o SD card não é reconhecido pelo MÓDULO SD (Arduino). O formato utilizado em todos os casos é FAT32.

Estou com medo que a lingueta de proteção esteja ficando mal posicionada quando o SD card é inserido no módulo. Mas neste caso, creio que o arduino ainda seria capaz de identificar as propriedades do SD, entretanto, nem isso está fazendo. No comando SD.begin() já está dando erro. Verifiquei as conexões e a posição da porta lógica do CS está coincidindo com o valor indicado no programa. Também se não estivesse, o outro SD card não funcionaria.

Estou começando a achar que alguma característica desse SD card específico está conflitando com o reconhecimento do Arduino. Vou examinar as observações que o Flávio apresentou no post anterior. Também vou ver se experimento com outras marcas de SD card.

Lucio

Qual o shield que você está usando, para o cartão SD?

Se for o shield ethernet não esqueça de desabilitar o chip do ethernet no pino 10, usando:

digitalWrite(10, HIGH); 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço