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 ZeichenEin 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.
Aufgabe
MittelDas 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, dannC - 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);
}
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