• COMPONENTE
    LEITOR DE CARTÃO

O que é?

O módulo micro SD possibilita a leitura e gravação de cartões de memória. É extremamente útil para projetos que exigem registro de dados. Ideal para gravar arquivos de logs com resultado de leituras de sensores e consequentemente transferir os arquivos gerados no cartão para qualquer computador que possua um leitor de cartão micro SD.

O módulo usa a interface SPI como padrão para a comunicação com o arduino, ela envolve barramentos SPI, MISO, MOSI, SCK e um pino de sinal CS.

A própria IDE do arduino já possui uma biblioteca específica para facilitar a comunicação com este módulo, dessa forma é simplificada ao máximo a programação para utilização de seus recursos.

O módulo se comunica pela interface SPI e seu nível lógico de sinal é de 3.3V, no entanto, além de possuir um regulador de tensão, o módulo também possui um divisor de tensão, o qual permite a ligação direta nos 5V fornecido pelo arduino.

OBS: Observe que o sistema de arquivos do cartão micro SD deve ser FAT16 ou FAT32. Caso contrário, a biblioteca SD do Arduino não poderá ler e escrever no mesmo.

Leitor micro SD arduino
Leitor micro SD arduino

Conexão de comunicação

Estas são as portas padrão de comunicação via SPI do Arduino Uno, as mesmas não devem ser alteradas. Para mais informações, consulte a tabela de pinagem do Arduino Uno.

Montagem dos componentes

-

LISTA DOS COMPONENTES

  • 1 x Arduino Uno SMD
  • 1 x Cabo USB para comunicação
  • 1 x Protoboard 400 pontos
  • 1 x Leitor de Micro Cartão SD
  • 1 x Cartão micro SD *Módulo não acompanha cartão
  • 6 x Jumpers macho/macho
Esquema montagem leitor cartão

Código exemplo

O código de exemplo abaixo é referente ao esquema ilustrado acima.

IDE Arduino
//Incluir as bibliotecas necessárias
#include <SPI.h>
#include <SD.h>
 
const int chipSelect = 10; //pino utilizado pelo terminal CS do módulo
 
void setup(){
  Serial.begin(9600); //inicializa o monitor Serial
   while(!Serial){ //aguarda a conexão da porta serial;
}
//imprime texto no monitor serial
  Serial.println("Inicializando o cartão de memória...");
  Serial.println("**********************************");
  pinMode(SS, OUTPUT); //define pinMode como saída
  
  if(!SD.begin(chipSelect)){ //se o cartão não for reconhecido, faz:
   //imprime texto no monitor serial
   Serial.println("Cartão de memória falhou ou não está presente!");
   return;   //não executa o restante do código
  }
  //imprime texto no monitor serial
  Serial.println("Cartão de memória inicializado com sucesso!");
  Serial.println("*************************************");
  Serial.println("Mensagem do arquivo de texto que está no cartão de memória:");
  Serial.println(); //quebra de linha no serial
   
  SDFile dataFile = SD.open("arquivo.txt"); //dataFile recebe o conteúdo do arquivo
// Caso tenha mais de um arquivo, abre um arquivo por vez
 
  if(dataFile){ //se existirem dados, faz:
    while(dataFile.available()){ //enquanto houver conteúdo a ser lido, faz
      Serial.write(dataFile.read()); //escreve na serial as informações do arquivo
    }
    //encerra a leitura, fechar o arquivo atual para poder abrir um outro
    dataFile.close();
  }
  else{     //se não existirem dados, faz
    //imprime texto do erro no monitor serial
    Serial.println("Erro ao abrir o arquivo!");
  } 
}

void loop(){
    //não necessita repetir a ação
}
IDE Arduino