1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | // 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: