Projeto 45

Cartão microSD

Projeto 45 - Cartão microSD e sensor DHT11

Código (download)

/*

Projeto 45 - Cartão microSD

Física na Lixa

https://fisicanalixa.blogspot.com/

https://sites.google.com/aelixa.pt/fisicaearduino

*/


#include "DHT.h"

#include <SD.h>

#include <SPI.h>

#define DHTPIN 8

#define DHTTYPE DHT11

#define pinLEDvermelho 7

#define pinLEDverde 6

DHT dht(DHTPIN, DHTTYPE);

File myFile;

float h;                    //Humidade em %

float t;                    //Temperatura em ºC

unsigned long tempo;        //Tempo em ms

int pinCS = 10;


void setup()

{

  Serial.begin(9600);

  dht.begin();

  pinMode(pinLEDvermelho, OUTPUT);

  pinMode(pinLEDverde, OUTPUT);

  if (SD.begin())

  {

    digitalWrite(pinLEDvermelho, LOW);

    digitalWrite(pinLEDverde, HIGH);     //O cartão SD está pronto a ser utilizado

  }

  else

  {

    digitalWrite(pinLEDvermelho, HIGH);  //O cartão SD falhou

    digitalWrite(pinLEDverde, LOW);

    return;

  }

  myFile = SD.open("fisica.txt", FILE_WRITE);

  myFile.print("tempo/s");

  myFile.print("\t");

  myFile.print("humidade/%");

  myFile.print("\t");

  myFile.print("temperatura/");

  myFile.print("\xC2\xB0");

  myFile.println("C");

  myFile.close();

}


void loop()

{

  tempo = millis();

  h = dht.readHumidity();

  t = dht.readTemperature();

  myFile = SD.open("fisica.txt", FILE_WRITE);

  if (myFile)

  {

    digitalWrite(pinLEDvermelho, LOW);

    digitalWrite(pinLEDverde, HIGH);

    myFile.print(tempo);

    myFile.print("\t");

    myFile.print(h, 0);

    myFile.print("\t");

    myFile.println(t, 0);

    myFile.close();

  }

  else

  {

    digitalWrite(pinLEDvermelho, HIGH);

    digitalWrite(pinLEDverde, LOW);

  }

  delay(1000);

}

Instalar a biblioteca (sensor DHT11)