Menu
CoddyTech

Entfernung auf dem LCD

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

Ein Sensor und ein Bildschirm ergeben ein Instrument, das ohne Computer funktioniert: Hier misst der HC-SR04 und das LCD zeigt die Entfernung an.

Jeder Schritt stammt aus früheren Lektionen. Miss die Echozeit, rechne sie in Zentimeter um und gib sie mit der Einheit dahinter in der unteren Zeile aus:

int cm = duration * 0.034 / 2;

lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm    ");

Die Leerzeichen nach cm sind wichtig. Wenn du von 150 cm auf 20 cm wechselst, ist der neue Text kürzer, und ohne sie würde der Bildschirm 20 cmm anzeigen. Hier wird die Entfernung als int gespeichert: Ganze Zentimeter lassen sich auf einem kleinen Bildschirm leichter ablesen.

challenge icon

Aufgabe

Mittel

Das LCD zeigt Distance: in der oberen Zeile an, und der Sketch misst die Echozeit. Zeige darunter die Entfernung an:

  • wandle die Zeit in ganze Zentimeter um
  • gib am Anfang der unteren Zeile die Zahl und dann cm aus, zum Beispiel 25 cm
  • überdecke übrige Zeichen mit Leerzeichen

Drücke Run, bewege das Objekt und klicke dann auf Check.

Probier es selbst

#include <LiquidCrystal.h>

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

const int trigPin = 9;
const int echoPin = 10;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  lcd.begin(16, 2);
  lcd.print("Distance:");
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  // die Entfernung in Zentimetern berechnen und in der unteren Zeile anzeigen, zum Beispiel 25 cm
  delay(200);
}
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