Menu
CoddyTech

LCD-Thermometer

Teil des Abschnitts Displays und Sensoren der Arduino-Journey von Coddy. Lektion 24 von 24.

Ein Thermometer zeigt seine Einheit mit einem Gradzeichen an: 24.5°C. Das LCD zeichnet Buchstaben aus seiner eigenen Zeichentabelle, und in dieser Tabelle hat das Gradzeichen die Nummer 223. Sende es mit (char)223: (char) weist print() an, Zeichen 223 zu zeichnen, statt die Ziffern 2, 2, 3 auszugeben.

lcd.print(celsius, 1);   // eine Nachkommastelle: 24.5
lcd.print((char)223);    // das Gradzeichen
lcd.print("C    ");      // Leerzeichen überdecken alte Zeichen

Ein in deinen Text eingegebenes ° funktioniert nicht: Der Editor speichert es als zwei andere Zahlen, und der Bildschirm zeichnet die beiden Symbole, die an diesen Stellen hinterlegt sind.

Wie bei Serial.println(x, 3) legt eine zweite Zahl in lcd.print(value, 1) fest, wie viele Dezimalstellen ein float anzeigt.

challenge icon

Aufgabe

Mittel

Das Sketch berechnet celsius, und in der oberen Zeile steht Temperature. Zeige es in der unteren Zeile so an wie 24.5°C:

  • die Temperatur mit einer Nachkommastelle
  • dann das Gradzeichen, (char)223, dann C
  • mit Leerzeichen danach, damit bei einem kürzeren Wert nichts zurückbleibt

Drücke Run, ändere die Temperatur und drücke dann Check.

Probier es selbst

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const float BETA = 3950;

void setup() {
  lcd.begin(16, 2);
  lcd.print("Temperature");
}

void loop() {
  int reading = analogRead(A0);
  float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;

  // Zeige den Wert in der unteren Zeile mit einer Nachkommastelle und dem Gradzeichen an, wie 24.5°C
  delay(500);
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Displays und Sensoren

Übe selbstständig: Arduino-Playground