HiLetgo Data Logger Module Logging Shield Data Recorder Shield for Arduino UNO w/SD Card
Arduino Library: SD https://www.arduino.cc/reference/en/libraries/sd/
Set CS Chip select to 10 (default is 4)
Tutorial: https://maker.pro/arduino/tutorial/how-to-log-temperature-humidity-heat-data-with-arduino-to-sd-card
-------------------
#include "DHT.h"
#include <SD.h>
#define DHTPIN 8
#define DHTTYPE DHT22
const int chipSelect = 10;
DHT sensor(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
sensor.begin();
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
return;
}
Serial.println("card initialized.");
}
void loop()
{
float humidity = sensor.readHumidity();
float temperature_C = sensor.readTemperature();
float temperature_F = sensor.readTemperature(true);
if (isnan(humidity) || isnan(temperature_C) || isnan(temperature_F)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float heat_indexF = sensor.computeHeatIndex(temperature_F, humidity);
float heat_indexC = sensor.convertFtoC(heat_indexF);
File sdcard_file = SD.open("data.txt", FILE_WRITE);
// if the file is available, write to it:
if (sdcard_file) {
sdcard_file.print("Temperature in C: ");
sdcard_file.print(temperature_C);
sdcard_file.print(" Temperature in Fah: ");
sdcard_file.print(temperature_F);
sdcard_file.print(" Humidity: ");
sdcard_file.print(humidity);
sdcard_file.print(" Heat Index in F: ");
sdcard_file.print(heat_indexF);
sdcard_file.print(" Heat Index in C: ");
sdcard_file.println(heat_indexC);
sdcard_file.close();
// print to the serial port too:
Serial.print("Temperature in C: ");
Serial.print(temperature_C);
Serial.print(" Temperature in Fah: ");
Serial.print(temperature_F);
Serial.print(" Humidity: ");
Serial.print(humidity);
Serial.print(" Heat Index in F: ");
Serial.print(heat_indexF);
Serial.print(" Heat Index in C: ");
Serial.println(heat_indexC);
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
delay(1000);
}
No comments:
Post a Comment