Leitor Micro SD Card para Arduino – Um Teste para Leitura e Escrita de Dados no Micro Cartão SD

Quando iniciamos a trabalhar com Arduino e vamos passo a passo desenvolvendo nossos conhecimentos, sempre queremos mais, fazer projetos melhores, diferentes, projetos que talvez saiam do comum e possamos...

Quando iniciamos a trabalhar com Arduino e vamos passo a passo desenvolvendo nossos conhecimentos, sempre queremos mais, fazer projetos melhores, diferentes, projetos que talvez saiam do comum e possamos classificar como uma ótima ideia, porém encontramos muitas limitações neste caminho, muitas dificuldades e barreiras que nos impedem de prosseguir.

Uma das barreiras que mais encontramos é a questão da armazenagem dos dados obtidos para verificações posteriores, como realizar este procedimento de maneira rápida, prática e fácil sem muitas complicações já que querendo ou não, estamos falando de pessoas que recém estão iniciando no mundo Maker.

Atualmente os dois métodos mais conhecidos para gravação de dados junto ao Arduino é a através da utilização de cartões de memória SD e através de memórias EEPROM, método já utilizado em nosso blog para demonstração de leitura e escrita de dados.

O único inconveniente na utilização de memórias EEPROM é a sua maior dificuldade de verificações externas, já que não possui métodos simplificados de conexão junto ao computador e envio dos dados para um arquivo .txt para leitura externa em computadores, por exemplo.

 

LEITOR MICRO SD CARD

Através do Leitor Micro SD para Arduino, podemos realizar uma armazenagem de dados ainda mais completa diretamente em arquivos de textos que podem facilmente ser abertos em computadores, notebooks e demais mídias de visualização que suportam ou tenham métodos de conexão para Cartões Micro SD.

Aumentando ainda mais a sua capacidade de execução e leitura de dados, o Módulo Micro SD Card possui a capacidade de leitura de dois tipos de cartão de memória: o cartão Micro SD tradicional e o Micro SDHC, conhecido por ser um cartão de memória de alta velocidade e que torna sua aplicação muito simples e útil.

Trabalhando com um sistema de comunicação SPI, o Módulo SD Card necessita de uma ligação específica que atenda aos critérios de pinagem estabelecidos pelo próprio modelo Arduino, podendo variar de um modelo para o outro.

Um bom método para verificar quais os pinos indicados para o sistema de comunicação SPI que utiliza como base os pinos SCK, MOSI, MISO e CS é através das tabelas Arduino que temos para venda em nosso site, um item exclusivo Usinainfo excelente para agregar ainda maior funcionalidade a sua bancada, veja:

Tabela de Pinos Arduino Uno R3

Tabela de Pinos Arduino Mega 2560

 

PRODUTOS UTILIZADOS NO TESTE

– Arduino Uno R3 + Cabo USB;

– SD Card Arduino / Leitor Micro SD Card;

– Cartão de Memória Micro Sd;

– Jumpers.

 

MONTAGEM FÍSICA (HARDWARE)

Por se tratar de um simples esquema para teste de funcionamento do Módulo SD Card, o esquema de ligação mostra-se extremamente simplificado, porém vale lembrar-se da informação citada anteriormente quanto aos pinos obrigatórios do sistema de comunicação, segue imagem com os pinos do Módulo SD Card:

Se verificarmos nas tabelas de pinos do Arduino, podemos observar que os pinos correspondentes à SCK, MISO, MOSI E CS para o Arduino UNO são respectivamente os pinos 13, 12, 11 e 10 enquanto que no Arduino MEGA, são respectivamente compatíveis com os pinos 52, 50, 51 e 53, veja de um modo mais simplificado através da tabela abaixo:

O Esquema de ligação junto ao Arduino é extremamente simplificado, basta seguir a tabela demonstrada acima e conectar os pinos do Módulo junto a Porta Digital correspondente do Arduino, segue esquema de ligação junto ao Arduino UNO:

Quanto ao formato do cartão de memória, testamos com formatos FAT e FAT32, ambos mostraram bom funcionamento, além de trabalhar normalmente com cartões de memória de baixa capacidade de armazenamento e cartões com memórias maiores, como por exemplo, 8GB.

 

FUNCIONAMENTO DO PROGRAMA (SOFTWARE)

O código para funcionamento do referente projeto utiliza-se somente de bibliotecas já disponíveis junto ao Arduino durante o processo de instalação do mesmo, como o exemplo da biblioteca SD e SPI, excluindo a necessidade de instalação de novos arquivos e bibliotecas.

Demonstrado de forma simples e com os devidos comentários junto as variáveis principais, o código é de fácil compreensão e utilização, para quem deseja realizar alterações para adaptação em diferentes projetos, basta conhecer cada variável e realizas as devidas alterações, após o código daremos algumas dicas para isto.

// Projeto para Criar / Ler Arquivos .txt junto ao Cartão SD Arduino
// Visite nossa loja através do link www.usinainfo.com.br
// Mais projetos em www.blog.usinainfo.com.br</pre>
#include <SD.h>
#include <SPI.h>

File myFile;

int pinoSS = 10; // Pin 53 para Mega / Pin 10 para UNO

void setup() { // Executado uma vez quando ligado o Arduino

Serial.begin(9600); // Define BaundRate
pinMode(pinoSS, OUTPUT); // Declara pinoSS como saída

if (SD.begin()) { // Inicializa o SD Card
Serial.println("SD Card pronto para uso."); // Imprime na tela
}

else {
Serial.println("Falha na inicialização do SD Card.");
return;
}

myFile = SD.open("usina.txt", FILE_WRITE); // Cria / Abre arquivo .txt

if (myFile) { // Se o Arquivo abrir imprime:
Serial.println("Escrevendo no Arquivo .txt"); // Imprime na tela
myFile.println("Usinainfo 1, 2 ,3 ..."); // Escreve no Arquivo
myFile.close(); // Fecha o Arquivo após escrever
Serial.println("Terminado."); // Imprime na tela
Serial.println(" ");
}

else {     // Se o Arquivo não abrir
Serial.println("Erro ao Abrir Arquivo .txt"); // Imprime na tela
}

myFile = SD.open("usina.txt"); // Abre o Arquivo

if (myFile) {
Serial.println("Conteúdo do Arquivo:"); // Imprime na tela

while (myFile.available()) { // Exibe o conteúdo do Arquivo
Serial.write(myFile.read());
}

myFile.close(); // Fecha o Arquivo após ler
}

else {
Serial.println("Erro ao Abrir Arquivo .txt"); // Imprime na tela
}

}

void loop() {

// Como a função é executada somente uma vez, esta área permanece em branco

}

Inicialmente, caso deseje alterar o Arduino utilizado, ou seja, em vez de um Arduino UNO utilizar um Arduino Mega, a alteração recomendada segundo a tabela de pinos pode ser realizada da seguinte maneira:

int pinoSS = 10; // Pin 53 para Mega / Pin 10 para UNO

Caso esteja realizando diferentes projetos com um mesmo SD e precisa alterar o nome dos arquivos utilizados, basta alterar o nome elencado abaixo junto a linha 25 do código original, mas vale lembrar que deve manter o final .txt e que não é possível utilizar títulos com muitos caracteres para o nome, aproximadamente cinco somente.

myFile = SD.open("usina.txt", FILE_WRITE); // Cria / Abre arquivo .txt

Como alteramos o nome do arquivo utilizado, será necessário alterar também o nome elencado na linha 40 que é responsável por abrir o arquivo que criamos para realizar a leitura dos dados, veja:

myFile = SD.open("usina.txt"); // Abre o Arquivo

Para alterar o texto que é gravado junto ao Micro Cartão SD basta alterar a frase inserida junto ao código na linha 29, pode ser posta qualquer frase, porém vale cuidar também que não é recomendado inserir muitos caracteres nesta etapa e que novas linhas podem ser criadas para suprir a necessidade e agregar maior funcionalidade ao projeto que está desenvolvendo.

myFile.println("Usinainfo Teste 1, 2 ,3 ...");

Caso todos estes passos sejam alterados de modo correto, o seu código irá funcionar normalmente e caso tenha somente copiado o código, o mesmo pode ser usado sem nenhum tipo de alteração, segue imagem com um exemplo dos resultados obtidos:

 

TESTE PRÁTICO

Este projeto que desenvolvemos assemelha-se ao projeto desenvolvido por nosso parceiro WR Kits, para lhe dar uma visão mais completa da aplicação direta do SD Card com Arduino, estamos deixando à disposição logo abaixo o vídeo com a explicação do Engenheiro Wagner que utiliza a biblioteca original Arduino para teste.

Podemos observar na prática que o funcionamento é extremamente simplificado e que é extremamente fácil abrir o seu arquivo após tê-lo gravado de forma externa em seu computador.

 

CONCLUSÃO

Agora trabalhar com Arduino e Módulos para Leitura e Escrita em Cartões SD pode se tornar um procedimento ainda mais simples, com este projeto você pode desenvolver códigos ainda mais completos e com ainda mais funcionalidade, basta tomar o mesmo como base e melhorá-lo para exercer as funções que deseja.

Agora que já temos uma base, podemos desenvolver um projeto datalogger, por exemplo, e armazenarmos com melhor qualidade os dados da temperatura, humidade, contagem, velocidade do vento e demais variáveis e exportar tudo para o Excel, por exemplo, para desenvolvermos uma análise de dados mais completa.

Nunca se esqueça, o limite para os seus projetos e para sua vida é você quem faz, então quebre barreiras, conquiste experiência e evolua cada dia mais!

Categorias
ArduinoProjetos
Sem Comentários

Enviar Resposta

*

*

Sobre nós

Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

Sugestões

Artigos Relacionados