Leitor de Cartão SD
Fonte:
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 do Projeto Arduino SD Card é 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çãoO:
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 Projeto Arduino SD Card 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.www.usinainfo.com.br/blog/</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:
1 | 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.
1 | 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:
1 | 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.
1 | 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.