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);
}