Esse modulo de cartão micro SD é muito útil pode ser usado de varias formas, o legal desse modulo é que pode ser incorporado a todos projetos facilmente, pode salvar logs e informações gerais, é compacto e fácil de instalar em caixas de suporte, pode ser usado em todas versões do Arduino e uma grande variedade de microcontroladores disponíveis no mercado.
A biblioteca e exemplos do Arduino é bem rica quando falamos de leitores de cartão, isso se deve ao fato de vários outros módulos necessitarem de ter isso incorporado, como GSM, ethernet e por ai vai...
Características:
Pinos: 9
Cor: Azul
Compatível com SDIO
Leitura/Escrita em alta velocidade
Código de exemplo:
Vale lembrar que:
Vcc: 3.3V
Terra: GND
Pin11: MISO(DO)
Pin12: MISO(D1)
Pin13: SCLK
Pin4: CS
#include <SD.h>
Sd2Card card;
SdVolume volume;
SdFile root;
const int chipSelect = 4;
void setup()
{
Serial.begin(9600);
}
Serial.print("\nIniciando cartao SD...");
pinMode(10, OUTPUT);
if (!card.init(SPI_HALF_SPEED, chipSelect))
{
Serial.println("falhou ao iniciar:");
Serial.println("* o cartao esta inserido?");
Serial.println("* os fios estao corretos?");
Serial.println("* voce mudou o chipSelect para ficar compativel com seu modulo?");
return;
}
else
{
Serial.println("Ligacoes estao corretas e feitura foi feita.");
}
Serial.print("\nTipo de cartao: ");
switch(card.type())
{
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Desconhecido");
}
if (!volume.init(card))
{
Serial.println("Nao foi possivel encontrar particoes FAT16/FAT32.\nTenha certeza que formatou o cartao");
return;
}
uint32_t volumesize;
Serial.print("\nVolume é do tipo FAT");
Serial.println(volume.fatType(), DEC);
Serial.println();
volumesize = volume.blocksPerCluster();
volumesize *= volume.clusterCount();
volumesize *= 512;
Serial.print("Tamanho (bytes): ");
Serial.println(volumesize);
Serial.print("Tamanho (Kbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Tamanho (Mbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.println("\nInfo dos arquivos encontrados no cartao: ");
root.openRoot(volume);
root.ls(LS_R | LS_DATE | LS_SIZE);
}
void loop(void)
{
}
Nenhum comentário:
Postar um comentário