Da mir eine kleine Wetterstation vorschwebt, habe ich mich heute mit dem Messen von Temperaturen beschäftigt. Hierfür sollte mir ersteinmal der Sensor „LM335“ dienen. Später werde ich auf einen anderen zurückgreifen, der neben der Temperatur auch gleich die Luftfeuchtigkeit misst. Für den Aufbau benötigen wir:
- Arduino, z.B. Uno / Nano
- LM335
- 2k Ohm Widerstand
Für den Aufbau eignet sich ein Breadboard. Aus dem Datasheet lässt sich der Aufbau und etwaige Schwankungen entnehmen, die mit einem Korrekturwert in das Skript einfließen müssen. Der LM335 ist unkalbriert. Für einen genauen Wert eignet sich ein Potentiometer und ein externes Thermometer. Der Aufbau:
float temp_in_celsius = 0; float temp_in_kelvin=0; float temp_in_fahrenheit=0; void setup() { Serial.begin(9600); } void loop() { //Analogen Wert lesen und umwandeln temp_in_kelvin = analogRead(0) * 0.004882812 * 100; //Kelvin nach Celsius und Fahrenheit konvertieren, Korrekturwert beträgt anhand Thermometer 3,5 temp_in_celsius = temp_in_kelvin + 3.5 - 273.15; temp_in_fahrenheit = ((temp_in_kelvin - 2.5) * 9 / 5) - 459.67; //Ausgabe über Konsole am Serial Port Serial.print("Celsius: "); Serial.println(temp_in_celsius); Serial.print("Fahrenheit: "); Serial.println(temp_in_fahrenheit); Serial.println(); delay(200); }