Moin Moin,
ich verwende folgenden Sketch um Analog die Temperatur + Digital die Temperatur und Luftdruck messen.
[code]
#include <Wire.h>
#include <Adafruit_BMP085.h> // Adafruit Bibliothek einbinden
Adafruit_BMP085 bmp;
int tempPin = A4; // TMP-36-Temperature
int tempReading = 0;
float temperatureC = 0;
float temperatureF = 0;
const int interval = 10*100; // interval between sensor read, in ms
long lastReadTime = 0; // the last time you read the sensor, in ms
void setup(){
pinMode(16, OUTPUT);
// Seriellen Monitor aktivieren
Serial.begin(19200);
// Sensor initialisieren
if (!bmp.begin()) {
Serial.println("Keinen gültigen BMP085 Sensor gefunden!");
while (true) {}
}
}
void loop(){
Serial.print("Temperatur:");
// readTemperature() Temperatur °C auslesen und anzeigen
Serial.print(bmp.readTemperature());
Serial.print(" "); // Hier müssen wir ein wenig tricksen
Serial.write(176); // um das °-Zeichen korrekt darzustellen
Serial.println("C");
Serial.print("Luftdruck: ");
// readPressure() Luftdruck in Pa auslesen und anzeigen
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print("Hoehe: ");
// readAltitude() Höhe in meter auslesen und anzeigen
Serial.print(bmp.readAltitude());
Serial.println(" meter");
// get the current time in ms:
long currentTime = millis();
if (currentTime > lastReadTime + interval)
// READ TEMPERATURE
tempReading = analogRead(tempPin);
// convert readings to voltage, using 5V battery
float tempVoltage = tempReading * 5.0;
tempVoltage /= 1024.0;
Serial.println ("(*C) \t(*F)");
// now print out the temperature degrees C
temperatureC = (tempVoltage - 0.5) * 100 ;
Serial.println("\t");
Serial.print(temperatureC);
// now convert to Fahrenheight
temperatureF = (temperatureC * 1.8) + 32.0;
Serial.print("\t");
Serial.println(temperatureF);
// update the time of the most current reading:
lastReadTime = millis();
Serial.println(""); // Leerzeile anzeigen
delay(1000); // 0.5 Sekunden warten
}
[/code]
Wenn ich mir den Sketch auslesen lasse kommt mit jedem Tick folgendes:
Temperatur:24.27 °C
Luftdruck: 100638 Pa
Hoehe: 57.61 meter
(*C) (*F)
24.71 76.47
Das finde ich etwas unübersichtlich oder besser gesagt unsortiert.
Ich kenne mich leider nicht gut genug mit Arduino aus um dies jetzt besser zu visualisieren...
Ich würde gerne eine Art "Timeline" haben, so dass man sieht in welcher Sekunde welcher Wert gelesen wurde...
Ich freue mich über jede Antwort. Danke ![]()