Hinter dem heutigen Türchen befindet sich ein NTC-Sensor (Heißleiter, Negative Temperature Coefficient). Dieser verändert seinen Widerstand in Abhängigkeit von der Temperatur. Sie nutzen den Sensor heute, um eine Langzeitmessung der Temperatur vorzunehmen. Als kleinen Bonus können Sie einen Zeitpunkt auswählen, an dem Sie eine Zusammenfassung per Mail geschickt bekommen.

Für den Aufbau des heutigen Tages benötigen Sie neben dem NTC auch das Poti und einen 1 kOhm Widerstand. Mit dem Poti können Sie einen Feinabgleich der Temperatur vornehmen.

Der NTC mit Poti zum jusiteren
Der NTC mit Poti zum jusiteren
Das Programm: A16_P14_Blynk10_NTCSensor.ino
/*
  Blnky10: NTC-Sensor
  Change ssid, password, token and email
*/

char ssid[] = "YourSSID";
char password[] = "YourPassword";
char token[] = "YourToken";

char email[] = "YourEmail";
char subject[] = "Temperatur Summary";

#define BLYNK_DEBUG
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>
#include <SimpleTimer.h>

#include <TimeLib.h>

// Set ESP8266 Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(11, 12); // RX, TX

ESP8266 wifi(EspSerial);
SimpleTimer timer;

//init max min value (0 makes no sense)
double tempMax = - 273;
double tempMin = +200;
bool autoSend;

void setup()
{
  // Set console baud rate
  Serial.begin(19200);
  EspSerial.begin(19200);

  Blynk.begin(token, wifi, ssid, password);
  //timer for temp measure
  timer.setInterval(500L, getTemp);
}

void loop()
{
  Blynk.run();
  timer.run(); //Call timer (other than normal timers)
}


BLYNK_CONNECTED() {
  Blynk.syncVirtual(V5); //sync email auto send state
}

void getTemp() { //get temp, convert to C and send
  double currValue = Thermistor(analogRead(A0)) ; //Convert to C !!! Pot: round((x*10)/10)

  if (currValue < tempMin) {
    tempMin = currValue;
  }
  if (currValue > tempMax) {
    tempMax = currValue;
  }

  Blynk.virtualWrite(V0, currValue);
  Blynk.virtualWrite(V1, currValue);
  Blynk.virtualWrite(V3, tempMin);
  Blynk.virtualWrite(V2, tempMax);
}

double Thermistor(int RawADC) {
  //Source: http://playground.arduino.cc/ComponentLib/Thermistor2
  double Temp;
  Temp = log(10000.0 * ((1024.0 / RawADC - 1)));
  //         =log(10000.0/(1024.0/RawADC-1)) // for pull-up configuration
  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );
  Temp = Temp - 273.15;            // Convert Kelvin to Celcius
  // Temp = (Temp * 9.0)/ 4.7 + 32.0; // Convert Celcius to Fahrenheit
  return Temp;
}


void sendSummary() { //send email summary
  String msg = "Tempertur Summary:\nCurrent Temperatur: " + String(Thermistor(analogRead(A0))) + " C\n\nMax. Temp: " + String(tempMax) + "C \n\nMin. Temp: " + String(tempMin) + "C \n";
  Blynk.email(email, subject, msg);
}

BLYNK_WRITE(V6) { //Timer Send
  if (autoSend) {
    sendSummary();
  }
}

BLYNK_WRITE(V4) { //Button Send
  sendSummary();
}

BLYNK_WRITE(V5) { //config email send
  autoSend = param.asInt();
}

(Die frühere Einbettung über Arduino Create ist nicht mehr verfügbar; der Code stammt aus dem Download aller Programme.)

Mit dem QR Code können Sie die Oberfläche in Ihre Blnyk-App laden. In dem Programm, welches Sie von der Webseite herunterladen, müssen Sie heute neben dem aktuellen Token und Ihren WLAN-Daten auch wieder eine E-Mail Adresse angeben, an die die Zusammenfassung geschickt werden soll.

day_1414

Die Blynkoberfläche enthält als zentrales Element den History Graph. Über Ihn werden die aktuelle Temperatur sowie Maximal- und Minimal-Werte angezeigt. Sie können unten am Graph auch den Zeitraum der zu visualisierenden Daten auswählen. Sie können die aufgezeichneten Daten löschen, indem Sie, während die Oberfläche aktiviert ist, auf dem Widget nach Links wischen. Die aktuelle Temperatur finden Sie auch in der Anzeige unter dem Graphen. Mit den Elementen unten links machen Sie die Einstellungen zum automatischen Senden einer Zusammenfassung. Sie können sich mit dem Button auf der rechten Seite aber auch jederzeit eine Zusammenfassung schicken lassen.

Eine Langzeitmessung mit Blynk
Eine Langzeitmessung mit Blynk