Nachdem wir bei eisigen Temperaturen im See gebadet hatten, wollten wir dann wissen, wie kalt er denn ist. Also haben wir einen Arduino, ein kleines Display und einen Temperaturfühler zusammengeschlossen, uns sehr lange mit Librarys rumgeärgert, und hatten dann ein Thermometer. Dann sind wir zum See gegangen und haben gemessen: Die lufttemperatur beträgt 9°C und die Wassertemperatur 10°C.


Der Quellcode:
//Hier werden die Bibliotheken für Display und Termomether geladen.
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
#include "SSD1306Ascii.h"
#include "SSD1306AsciiAvrI2c.h"
#define I2C_ADDRESS 0x3C
#define RST_PIN -1
//Hier werden sie dann aktiviert und Konfiguriert
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
SSD1306AsciiAvrI2c oled;
float Temp = 0;
float afs = -300;
void setup() {
oled.set2X();
sensors.begin();
if (RST_PIN >= 0) {
oled.begin(&Adafruit128x32, I2C_ADDRESS, RST_PIN);
} else {
oled.begin(&Adafruit128x32, I2C_ADDRESS);
}
oled.setFont(Adafruit5x7);
uint32_t m = micros();
}
void loop() {
//Hier werden die Sensoren ausgelesen
sensors.requestTemperatures();
Temp = sensors.getTempCByIndex(0);
//und dann wird das Display aktualisiert, wenn sich die Temperatur verändert hat
if (Temp != afs) {
oled.clear();
oled.println("Temperatur:");
oled.print(Temp);
oled.print("C");
afs = Temp;
}
}