Luftdrucksensor BMP085 mit dem Netduino - Temperatur (Teil 2)
Wie bereits in meinem vorigen Post beschrieben, soll nun der Temperatur Wert ausgelesen werden. Der Teil für das Auslesen des Luftdrucks wird in eine Methode ausgelagert. Die Methode “ReadSensorData” gibt die zwei Werte in einem Daten Objekt zurück, das zunächst angelegt wird. Die “ToString” Methode im Daten Objekt wird überschrieben, um die Wiedergabe beider Werte simpel zu gestalten.
public class SensorData public override string ToString() |
Nach dem das Daten Objekt vorliegt, kann die Methode “ReadSensorData” für die Rückgabe umgeschrieben werden. Die Methode nimmt nun das Daten Objekt als Referenz an. Für das Einlesen der Temperatur wird ein zweites Byte Array benötigt zum zwischenspeichern. Die Methode “GetTemperature” ähnelt der Ausführung von “GetPressure”. In einen späteren Post wird dort nochmal eingegangen, wie sich diese Sinnvoll zusammenlegen lassen.
public class BMP085 : I2CDevice // Standard Mode // Empfangspuffer für Luftdruck // Empfangspuffer für Temperatur // Konstruktor mit vererbten Konstruktor von der I2CDevice Klasse // Sensor lesen und im Referenz Daten Objekt die Eigenschaftswerte überschreiben. // Luftdruck lesen // Temperatur Wert lesen // Kurz abwarten if (Write(new byte[] { 0xF6 }) == 0) if (Read(_ReceiveT) == 0) return (int)_ReceiveT[0] << 8 | _ReceiveT[1]; // Luftdruck Wert lesen // Kurz abwarten // Sensor Ergebnis abfragen // Ergebnis einlesen // Ergebnis per Byteshifting // Sendet den Inhalt des Byte Arrays return Execute(trans, _Timeout); // Liest den zu empfangene Byte Array return Execute(trans, _Timeout); |
Für die Ausgabe muss zunächst das Daten Objekt “SensorData” angelegt werden in der “Main” – Methode. In der Schleife wird das Daten Objekt als Referenz an die Methode “ReadSensorData” übergeben, dass nun die Eigenschaftswerte überschreibt. Und am Ende wird die Ausgabe wieder über “Debug.Print()” ausgegeben.
public class Program public static void Main() while (true) // halbe Sekunde warten |
Die Schaltung bleibt weiterhin so bestehen, wie im ersten Teil. Jetzt dürfte die Ausgabe in Visual Studio wie im folgendem Bild aussehen.
Die beiden Werte sind natürlich noch Roh Werte und müssen zunächst umgerechnet werden. Daher wird im nächsten Blog Post das Kalibrieren und Umrechnen behandelt.
Kommentare