Pesquisar

ESCREVENDO DADOS SDCARD

Iremo monitorar o sensor de temperatura DHT11 que informa temperatura e umidade, no entanto no exemplo estaremos abordando somente a temperatura, uma vez que queremos mostrar como escrever dados em um Cartão SD.
A ideia é gerar os dados para que posteriormente o usuário possa traçar o gráfico da variação de temperatura de um determinado dia ou de um equipamento.
Para o projeto será necessário os seguintes itens:
1  Arduino (qualquer modelo) no caso utilizamos o UNO R3
1  módulo SD(para datalogger)
1  Cartão SD
9  Jumpers para conexão

Monte o Circuito como no exemplo à seguir:




Execute o código em seu Arduino:
    
    #include <SPI.h>
    #include <SD.h>
    #include <DHT.h>
   
    #define DHTPIN 2   // aqui define em qual pino esta ligado o sensor de temperatura
    #define DHTTYPE DHT11
   
    DHT dht(DHTPIN, DHTTYPE);
      
    const int chipSelect = 4;
    unsigned int i;
    File dataFile;
    
    void setup() {
     
      Serial.begin(9600);
         pinMode(13,0);
    
    //  Serial.print("Initializing SD card...");
      pinMode(10, OUTPUT);
    
   // cria o Arquivo chamado datalog.csv poderá ser dado o nome //que quiser, obs pode ser criado na      //extencao .txt sem problemas basta mudar .csv para .txt
      
      char filename[] = "datalog.csv"; 
      delay(100);
      Serial.println(filename); // imprimi o nome do Arquivo via serial
     
      referencia_projeto();
      
      if (!SD.begin(chipSelect)) {
        Serial.println("Cartao Falhou, ou nao esta presente");
        return;
      }
     
   
      Serial.println("Cartao Inicializado");
      dataFile = SD.open("datalog.csv", FILE_WRITE);
      dataFile.close();
     
    }
    
    void loop() {
   
      int  t_dht11 = dht.readTemperature(); //Le o valor da temperatura guarda em t_dht11
      Serial.println(t_dht11); // imprimi a temperatura na serial
      delay(200); 
    
      File dataFile = SD.open("datalog.csv", FILE_WRITE);  // abre o Arquivo para escrita
    
      if(dataFile) {
        if(i==0){
        }
          dataFile.println(t_dht11); // escreve a temperatura no SDCard
          dataFile.close();
          delay(500);        
      } 
    
      else {
        Serial.println("erro ao abrir datalog.csv");
      }
    
    }
   
    void referencia_projeto(){
     
      Serial.println(">>****************************<<");
      Serial.println("Mostra Temperatura DHT11");
      delay(500);
      Serial.println("AFEletronica.com.br");
      delay(500);
      Serial.println(">>****************************<<");
      delay(1000);

   

Nenhum comentário:

Postar um comentário