Data Logger - AZ-Delivery

Hallo Community,

um den hohen Temperaturen der letzten Tage etwas Gutes abzugewinnen habe ich die Lichtschachtabdeckung meines Kellers entfernt und das Fenster geöffnet, in der Hoffnung etwas Feuchtigkeit nach draußen zu bringen.

Aufgrund der großen Nachfrage für unser praktisches DataLogger Shield möchten wir den heutigen Blogbeitrag nutzen um zu zeigen, wie einfach sich damit Messdaten aufzeichnen lassen. Im Prinzip enthält das Shield alles was man zum aufzeichnen von Daten benötigt um diese später grafisch auszuwerten. Excel bietet hierbei nahezu unbegrenzte Möglichkeiten. Wir haben sogar die Möglichkeit eine kleine Schaltung direkt auf das Shield aufzulöten. Es spielt dabei keine große Rolle welchen Sensor wir benutzen. Für meinen Keller habe ich mich für einen DHT22 entschieden.

Wir verwenden für das Shield die RTC-Libary von Stephan Fink und die Standart-SD-Libary welche in der Arduino IDE enthalten ist. Als Beispiel schließen wir unseren DHT22 an und loggen die Daten zusammen mit der eingebauten RTC.

Die SD-Karte formatieren wir mit fat32 Dateisystem.

Sollten Sie Probleme beim Einstellen der RTC haben empfehlen wir Ihnen unser E-Book zu DS3231.

Den DHT, als Modul, verbinden wir an Pin 2 des Shields. 

Hier der Beispielcode:

 

#include <Wire.h>
#include "RTClib.h"
#include "DHT.h"
#include <SPI.h>
#include <SD.h>

#define DHTPIN 2     //Pin für DHT
#define DHTTYPE DHT22 

DHT dht(DHTPIN, DHTTYPE);
RTC_DS1307 rtc;
File logFile;

const int chipSelect = 10; //für AZ-Delivery Data-Logger Shield
const int zeit = 5000; //Messintervall

long temperature;
long humidity;

void setup() {
  
  pinMode(10, OUTPUT);
  Serial.begin(9600);
  dht.begin();
  rtc.begin();
  SD.begin (chipSelect);


  char filename[] = "LOGGER00.CSV";                       
  for (uint8_t i = 0; i < 100; i++) {
    filename[6] = i/10 + '0';
    filename[7] = i%10 + '0';
    if (! SD.exists(filename)) {
      // only open a new file if it doesn't exist
      logFile = SD.open(filename, FILE_WRITE); 
      break;  // leave the loop!
    }
  }
  if (!logFile) {
    Serial.println("could not create file");
  }
  Serial.print("Start logging: ");
  Serial.println(filename);
  logFile.print ("Start logging");
  logFile.println();
}


void loop() {
  delay (zeit);
  humidity = dht.readHumidity();
  temperature = dht.readTemperature();
  DateTime now = rtc.now();
  logFile.print(now.day(), DEC);
  logFile.print('/');
  logFile.print(now.month(), DEC);
  logFile.print('/');
  logFile.print(now.year(), DEC);
  logFile.print(',');
  logFile.print(' ');
  logFile.print(now.hour(), DEC);
  logFile.print(':');
  logFile.print(now.minute(), DEC);
  logFile.print(':');
  logFile.print(now.second(), DEC);
  logFile.print (",");
  logFile.print (" ");
  logFile.print (temperature);
  logFile.print (",");
  logFile.print (" ");
  logFile.print (humidity);
  logFile.println();
  logFile.flush();
  Serial.print(now.day(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.year(), DEC);
  Serial.print(',');
  Serial.print(' ');
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);
  Serial.print (",");
  Serial.print (" ");
  Serial.print (temperature);
  Serial.print (" Grad bei");
  Serial.print (",");
  Serial.print (" ");
  Serial.print (humidity);
  Serial.print (" %");
  Serial.println(); 
}

 

 

Für arduinoProduktvorstellungenSensoren

16 Kommentare

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery