Facebook
From Soiled Parakeet, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 239
  1. #define DHTTYPE DHT22  
  2. const int chipSelect = 10;
  3. const int DHTvcc = 6;
  4. const int DHTdat = 5;
  5. const int DHTgnd = 3;
  6.  
  7.  
  8. const int timeRate = 5;
  9.  
  10. #include <dht.h>
  11. #include <SdFat.h>
  12.  
  13. dht DHT;
  14. double DHTtemp , DHThumid;
  15. int DHTread;
  16.  
  17. SdFat sd;
  18. SdFile logFile;
  19.  
  20. void setup() {
  21.   // setup IO pins to power DHT11 / DHT22 sensor
  22.   pinMode (DHTdat, INPUT_PULLUP);
  23.   pinMode (DHTvcc, OUTPUT);
  24.   pinMode (DHTgnd, OUTPUT);
  25.   digitalWrite(DHTvcc, HIGH);
  26.   digitalWrite (DHTgnd, LOW);
  27.  
  28.   Serial.begin(57600);
  29.   Serial.println("Pomiar temperatury i wilgotnosci z zapisem na karte SD");
  30.   Serial.println("Dane zapisywane do log.csv na karcie MicroSD");
  31.  
  32.   delay(2000);
  33.   DHTread = DHT.read22(DHTdat);
  34.   switch (DHTread) {
  35.     case DHTLIB_OK: Serial.println("Sensor OK.");
  36.       break;
  37.     default: Serial.println("ERROR: Problem z sensorem nie wykryto.");
  38.   }
  39.   `
  40.   if (!sd.begin(chipSelect)) {
  41.     Serial.println("ERROR karty SD .");
  42.   } else {
  43.     Serial.println("Karta SD ok!");
  44.   }
  45. }
  46.  
  47. void loop() {
  48.   delay(timeRate * 1000);
  49.   if (!logFile.open("log.csv", O_RDWR | O_CREAT | O_AT_END)) {
  50.     sd.errorHalt("Blad pliku log.csv");
  51.   } else {
  52.     Serial.print("zapis danych. ");
  53.   }
  54.   DHTread = DHT.read22(DHTdat);
  55.   DHTtemp = DHT.temperature;  
  56.   DHThumid = DHT.humidity;
  57.   Serial.print("Temperatura: ");
  58.   Serial.print(DHTtemp); Serial.print("C ");
  59.   Serial.print(" Wilgotnosc: "); Serial.print(DHThumid);
  60.     Serial.println("%");
  61.   logFile.print(" Temperatura: ");logFile.print(DHTtemp); logFile.print(" C"); logFile.print(","); logFile.print(" Wilgotność  : "); logFile.println(DHThumid);logFile.print(" %"); // write data
  62.   logFile.close();
  63. }