Cartões de segurança digital, ou “Secure Digital Cards” (SD) são usados em uma variedade de aplicações. Provavelmente, você tem vários deles em seus dispositivos eletrônicos, pois são usados em telefones, tablets, câmeras e reprodutores de música. Onde quer que você precise de uma grande quantidade de memória não volátil e barata, um cartão SD (ou microSD) é uma boa escolha. E, como você está prestes a ver, esses cartões são muito fáceis de usar em seus projetos Arduino. E, para utilizar esta tecnologia em seus projetos, o Módulo SD Card se torna necessário, e é sobre ele que este post será baseado. Este Módulo serve para leitura e escrita em cartão SD, com suporte para a biblioteca oficial do Arduino. Ele é compatível com cartões formatados em FAT32 com capacidade de até 4GB. Pode ser utilizado para guardar histórico de valor de entradas ou data logging, valores de módulos GPS, sensores de temperaturas, distância, humidade e luminiosidade e etc.
O Módulo SD Card é bastante básico e possui apenas um único chip, um regulador de dropout ultrabaixo integrado que converterá tensões de 3,3 V – 6 V em ~ 3,3 V, já que a tensão de operação de qualquer cartão micro SD padrão é 3,3 V.
Crédito da imagem: DroneBot Workshop
Diferentemente do Módulo Micro SD Card, o módulo acima não possui conversão de tensão para todos os sinais lógicos, portanto, na montagem do projeto, será necessário aplicar uma divisão de tensão nas entradas para convertermos a tensão de 5 V para 3,3 V.
Ele também possui uma entrada para um cartão SD formatado em FAT32.
O Pinout do Módulo SD Card está especificado em seus próprios pinos, e a função de cada um está descrita abaixo:
As especificações do Módulo estão descritas a seguir:
O projeto realizado aqui é um exemplo simples de como o módulo SD Card funciona. Ele consiste em escrever alguns dados no cartão SD e, logo em seguido, lê-los de volta.
Os materiais utilizados nesta prática são:
O diagrama abaixo representa a montagem do projeto exemplo:
O código que será utilizado aqui pertence a uma biblioteca da própria IDE. Para acessa-lo, basta abrir sua IDE e clicar em Arquivo->Exemplos->SD->ReadWrite, como mostrado abaixo:
Feito isso, o código a seguir será aberto. Os seus comentários foram traduzidos para que o leitor possa entender melhor como essa implementação funciona.
/* SD card read/write Esse exemplo mostra como ler e escrever dados no cartão SD O circuito: cartão SD conectado ao SPI da seguinte maneira: ** MOSI - pino 11 ** MISO - pino 12 ** CLK - pino 13 ** SDCS - pino 4 created Nov 2010 by David A. Mellis modified 9 Apr 2012 by Tom Igoe This example code is in the public domain. */ #include <SPI.h> #include <SD.h> File myFile; void setup() { Serial.begin(9600); while (!Serial) { ; // Espera a porta serial conectar } Serial.print("Inicializando cartão SD..."); if (!SD.begin(4)) { Serial.println("Falha na inicialização!"); while (1); } Serial.println("Inicialização feita."); // Abre o arquivo. Perceba que apenas um arquivo pode ser aberto nesse momento, // portanto você terá que fechar este antes de abrir outro myFile = SD.open("test.txt", FILE_WRITE); // Se este arquivo abriu corretamente, escreva nele: if (myFile) { Serial.print("Escrevendo para test.txt..."); myFile.println("testando 1, 2, 3."); // fecha o arquivo: myFile.close(); Serial.println("feito."); } else { // Se este arquivo não abriu, imprima um erro: Serial.println("Erro ao abrir test.txt"); } // Abre novamente o arquivo para leitura: myFile = SD.open("test.txt"); if (myFile) { Serial.println("test.txt:"); // Lê do arquivo até não ter mais nada nele: while (myFile.available()) { Serial.write(myFile.read()); } // fecha o arquivo: myFile.close(); } else { // Se este arquivo não abriu, imprima um erro: Serial.println("Erro ao abrir test.txt"); } } void loop() { // nada acontece depois do setup }
Os resultados encontrados são os seguintes. A cada vez que o botão de reset é apertado no Arduino, o cartão é lido novamente e uma nova linha é adicionada ao texto.
A partir do post acima, foi possível compreender um pouco mais sobre a aplicação do Módulo SD Card, bem como seu funcionamento e as vantagens de sua utilização. Se o leitor se interessou pela implementação prática do projeto, acredito que gostará do nosso post sobre o Módulo Micro SD Card, que está destacado abaixo:
Curtiu o post? Avalie e deixe um comentário!
Siga-nos também no Instagram e nos marque quando fizer algum projeto nosso: @eletrogate.
Até a próxima!
Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!