Armazenamento De Dados No Cartão SD

 

Para escrever no cartão SD é necessário utilizarmos a biblioteca SdFat e a placa SD Card Module. Como exemplo de dados a serem escritos no cartão utilizamos as informações colhidas pelo DHT11.

Componentes utilizados

1x placa arduino UNO
1x cabo USB A/B
1x protoboard
22x fios jumpers (aproximadamente)
1x placa SD Card Module
1x sensor dht11
6x resistores 100~200 Ohms

Esquema de montagem SD Card

Código Fonte

#include <dht.h>
#include <SdFat.h>

SdFat sdCard;
SdFile meuArq;
//Aqui definimos o nome da variavel arquivo;

const int chipSelect = 4;
// Pino ligado ao CS do modulo




#define dht_dpin A1 
//Pino DATA do Sensor ligado na porta Analogica A1

dht DHT; 
//Inicializa o sensor

void setup()
{
  Serial.begin(9600); 
  // Inicialização da porta serial do Arduino 
  Serial.println("Aguardando dados..."); 

} 


void loop(){
  delay(1000); 
  //Aguardamos 1 segundo para a inicialização e estabilização do sensor
  int teste = DHT.read11(dht_dpin); 
  //Lê as informações do sensor



  //Aqui começamos a mostrar as informações no monitor serial
  Serial.print("Umidade = ");
  Serial.print(DHT.humidity);
  Serial.print(" %  ");
  Serial.print("Temperatura = ");
  Serial.print(DHT.temperature); 
  Serial.println(" Celsius  ");



  if(!sdCard.begin(chipSelect,SPI_HALF_SPEED))sdCard.initErrorHalt();
  // Inicializa o modulo SD



  Serial.println("Escrevendo no cartão SD...");
  //Aqui começamos a escrever no cartão SD as informações coletadas
 if (!meuArq.open("Dados.txt", O_RDWR | O_CREAT | O_AT_END))
  {
    sdCard.errorHalt("Erro na abertura do arquivo Dados.txt!");
    }
	//Caso ocorra um erro no Cartão SD é mostrada a frase acima



  meuArq.print("Temperatura: ");
  meuArq.print(DHT.temperature, 2); 
  // Recebe a temperatura com duas casas decimais.
  meuArq.println(" ºC ");
  meuArq.print(" Umidade: ");
  meuArq.print(DHT.humidity, 2); 
  // Recebe a temperatura com duas casas decimais.
  meuArq.println(" % ");
  meuArq.close();
  delay(2000); 
  // Colocamos um atraso de 2 segundos para obtermos com certeza, uma leitura de ciclos diferentes. 

}
Pagina modificada em 25 de outubro de 2018, às 11h24