Hier mal ein kleiner Aufbau und Code für zwei DS18B20 Temperatur Sensoren. Man kann den Code natürlich mit Sensoren erweitern. Ursprünglich wollte ich die Vorlauf – Rücklauf Temperatur der Heizung überwachen bzw. aufzeichnen. Das ganze natürlich über Cayenne Dashboard. Da in Cayenne gleich eine Tabelle angelegt wird und ich die Werte dann abfragen kann.
Für diesen Code habe ich folgendes in Gebrauch.
ARDUINO UNO
ARDUINO ETHERNT SHIELD
2 DS18B20 Temperatur Sensoren
2 4,7KOhm Widerstände
Breadboard Aufbau
ARDUINO UNO mit Ethernet-Shield
Schaltplan / Aufbau
Ihr müsst natürlich die Dallas library im Arduino Bibliotheksverwalter installieren !
Ich habe den folgenden Code für mich modifiziert um die Daten nach Cayenne zu senden. Weiter gibt es eine Serielle Ausgabe das ich auch ohne Internet sehen kann ob die Sensoren O.K. sind.
Angezeigt wird die Rücklauf & Vorlauf Temperatur sowie die Differenz Temperatur beider…
#define CAYENNE_PRINT Serial // Comment this out to disable prints and save space
#include <CayenneMQTTEthernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
char username[] = "Deins";
char password[] = "Deins";
char clientID[] = "Deins";
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup(void)
{
Serial.begin(9600);
Cayenne.begin(username, password, clientID);
Serial.println("Dallas Temperature IC Control Library Demo");
sensors.begin();
}
void loop(void)
{
Cayenne.loop();
sensors.requestTemperatures();
float temp1 = sensors.getTempCByIndex(0);
float temp2 = sensors.getTempCByIndex(1);
Cayenne.celsiusWrite(1, sensors.getTempCByIndex(0));
Cayenne.celsiusWrite(2, sensors.getTempCByIndex(1));
Cayenne.celsiusWrite(3, temp1-temp2);
Serial.print("Temperature: ");
Serial.print(temp1);
Serial.print(" ");
Serial.println(temp2);
delay(1000);
}
So wird das ganze auf Cayenne angezeigt.
Viel Spass beim basteln…..