Menu
CoddyTech

Einparkhilfe: Abstand

Teil des Abschnitts Projekte der Arduino-Journey von Coddy. Lektion 9 von 24.

Autos haben Parksensoren, die schneller piepen, je näher du beim Rückwärtsfahren an eine Wand herankommst. In diesem Projekt baust du so einen Sensor: einen Abstandssensor, drei Warnleuchten, einen Summer und einen Bildschirm, alles bereits verkabelt. Der erste Schritt ist die Messung.

Wie bei Displays and Sensors sendet ein 10 Mikrosekunden langer Impuls an TRIG ein Ping, und pulseIn(echoPin, HIGH) gibt zurück, wie lange ECHO auf HIGH geblieben ist, in Mikrosekunden. Schall braucht ungefähr 58 Mikrosekunden, um einen Zentimeter hin- und zurückzulegen. Daher erhältst du die Entfernung in cm, indem du diese Zeit durch 58 teilst (das ist dasselbe wie duration * 0.034 / 2). Halte alles in einer Funktion:

long readDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

Miss ungefähr zehnmal pro Sekunde: Der Sensor braucht zwischen den Pings eine kurze Pause, sonst kann ein verspätetes Echo vom letzten Ping für das neue gehalten werden.

challenge icon

Aufgabe

Einfach

Der Sensor hat TRIG an Pin 9 und ECHO an Pin 10:

  • Schreibe readDistance(): den Triggerimpuls, pulseIn() und die Zeit geteilt durch 58
  • Gib in loop() die Entfernung alle 100 ms mit Serial.println() aus

Drücke Run, ziehe die Entfernung auf dem Sensor und klicke dann auf Check.

Probier es selbst

// Der Abstandssensor
const int trigPin = 9;
const int echoPin = 10;

// Sende einen Ping und gib den Abstand in cm zurück.
long readDistance() {

}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // Gib den Abstand aus und warte dann 100 ms

}
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 Projekte

Übe selbstständig: Arduino-Playground