// LM35 am analogen Eingang A0
int LM35 = A0;
/*
Variablen:
SensorWert -> gelesener Wert des analogen Eingangs A0
genmesseneSpannung berechnen:
- 5V (5000 mV) = Arduino Spannung
- 1500 mV (150° maximaler Messwert LM35)
gemesseneTemperatur -> Ergebnis der Messung in °C
TemperaturSumme -> Summe der Temperaturen nach 5 Messungen
DurchschnittsTemperatur -> berechnete Durchschnitts-Temperatur
*/
float SensorWert;
float gemesseneSpannung;
float gemesseneTemperatur;
float TemperaturSumme;
float DurchschnittsTemperatur;
void setup()
{
Serial.begin(9600);
}
void loop()
{
// nächste Berechnung -> TemperaturSumme wieder auf 0 setzen
TemperaturSumme = 0;
// 5 Messungen im Abstand con 500 ms
for (int i = 1; i <= 5; i++)
{
// Sensorwert an A0 lesen
SensorWert = analogRead(LM35);
// richtiges Verhältnis zwischen 5V (= 5000 mV Spannung Arduino)
// und maximal möglicher Spannung LM35 1500 mV herstellen
gemesseneSpannung = (SensorWert * 5000.0) / 1500.0;
// ...und durch 10 dividieren
// -> Spannung in Grad Celsius umwandeln
gemesseneTemperatur = gemesseneSpannung / 10.0;
// einzelne Werte anzeigen
// Serial.println(gemesseneTemperatur);
TemperaturSumme = TemperaturSumme + gemesseneTemperatur;
delay(500);
}
// Durchschnitt der 5 Messungen berechnen
DurchschnittsTemperatur = TemperaturSumme / 5.0;
// Temperatur in String umwandeln
String AnzeigeTemperatur = String(DurchschnittsTemperatur);
// replace: . durch , ersetzen
AnzeigeTemperatur.replace(".", ",");
// Temperatur anzeigen
Serial.print("Temperatur: " + AnzeigeTemperatur);
// \u00b0 = Grad-Zeichen
Serial.print(" \u00b0");
Serial.println("C");
}
Letzte Aktualisierung: