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. }
Page last modified on October 25, 2018, at 02:24 PM