blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Hardware
  • Pinout e Especificações
  • Projeto Exemplo
  • Lista de Materiais
  • Diagrama
  • Código
  • Resultados
  • Considerações Finais
  • Referências
  • Sobre o Autor
Componentes Eletronicos

Tutorial Definitivo: Módulo SD Card

Eletrogate 12 de março de 2021Atualizado em: 15 abr 2022

Introdução

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.


Hardware

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.


Pinout e Especificações

O Pinout do Módulo SD Card está especificado em seus próprios pinos, e a função de cada um está descrita abaixo:

  • GND – deve ser conectado ao GND do Arduino.
  • 5 V/3.3 V – pino que fornece energia para o módulo e deve ser conectado ao 5 V/3.3 V no Arduino.
  • SDCS – pino que é usado pelo Arduino (Master) para habilitar e desabilitar dispositivos específicos no barramento SPI.
  • MOSI (Master OUT Slave IN) – é a entrada SPI do Módulo SD Card.
  • SCK (Serial Clock) – pino que aceita pulsos de clock que sincronizam a transmissão de dados gerados pelo Arduino.
  • MISO (Master IN Slave OUT) – é a saída SPI do Módulo SD Card.

As especificações do Módulo estão descritas a seguir:

  • Comunicação SPI;
  • Lê e Grava em FAT32;
  • Tensão de Alimentação: 3,3V / 5V;
  • Aplicável a plataformas como Arduino / PIC / AVR / ARM;

Projeto Exemplo

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.


Lista de Materiais

Os materiais utilizados nesta prática são:

  • Arduino Uno;
  • Módulo SD Card;
  • 3 x Resistores de 330 Ω;
  • 3 x Resistores de 680 Ω;
  • Jumpers Macho/Fêmea;
  • Jumpers Macho/Macho;
  • SD Card.

Diagrama

O diagrama abaixo representa a montagem do projeto exemplo:


Código

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
}

 


Resultados

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.


Considerações Finais

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:

Gravação de cartão micro SD com arduíno – Faça seu Datalogger!

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!


Referências

  • Using SD Cards with Arduino – Record Servo Motor Moviments;
  • 5-min Tutorial – SD Card Reader with Arduino – Code and Test;
  • In-Depth Tutorial to Interface Micro SD Card Module with Arduino – Last Minute Engineers;
  • SD Card Experiments with Arduino – DroneBot Workshop;

Sobre o Autor


Ricardo Lousada
@ricardo_lousada

Graduando em Engenharia de Controle e Automação pela UFMG. Ocupo meu tempo aprendendo cada vez mais sobre eletrônica e programação, áreas que mais gosto. Meus hobbies são cinema e livros.


Eletrogate

12 de março de 2021 Atualizado em: 15 abr 2022

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.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.