Ultraschallsensor - Eine Einführung

Erstellt von Frank Lüthjohann und Viktor Reichert
Benötigtes Material
  • Arduino Uno
  • USB-Kabel für den Arduino
  • Ultraschallsensor (HC-SR04)
  • 4x MW-Kabel
Als PDF
PDF-Download
Arbeitsblatt
PDF-Download erweitert
Erweitertes Arbeitsblatt

Beschreibung

Fledermaus

Verkabelung

Verkabelung

Code

Wir wollen unserem Arduino nun beibringen, eine LED in Pin 13 leuchten zu lassen, wenn ihm etwas zu nahe kommt. Wir verwenden dazu folgenden Code:

int trigPin = 9;
int echoPin = 10;
int ledPin  = 13;

int zeit;     // Hier speichern wir, wie lange der Schall unterwegs ist.
int abstand;  // Hier speichern wir den gemessenen Abstand.

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Wir messen den Abstand zum nächsten Objekt.
  digitalWrite(trigPin, LOW);  // Lautsprecher aus.
  delay(2);
  digitalWrite(trigPin, HIGH);  // Lautsprecher gibt Ton aus.
  delay(10);
  digitalWrite(trigPin, LOW);     // Lautsprecher aus.
  zeit = pulseIn(echoPin, HIGH);  // Hier wird gemessen, wann das Mikrofon den
                                  // Ton hört.
  abstand = zeit * 0.034 / 2;     // Umrechnung des Abstands von Zeit in
                                  // Zentimeter.

  if (abstand < 12) {  // Wenn der Abstand kleiner als 12 Zentimeter ist.
    digitalWrite(ledPin, HIGH);  // Schalte die LED an.
  } else {                       // sonst
    digitalWrite(ledPin, LOW);   // Schalte die LED aus.
  }
}

Aufgaben

Probiere verschiedene Abstände aus! Wie zuverlässig arbeitet der Sensor auf längere und kürzere Distanzen?

TODO

Was schätzt zu wie breit ist der Winkel, in dem die Sensoren gut arbeiten? Vergleiche das mit dem Winkel deiner Augen!

TODO

Was passiert, wenn du den else-Block weglässt? Kannst du dir einen Apparat vorstellen, bei dem so ein Verhalten gewünscht ist?

Die LED geht nach dem ersten Anschalten nicht mehr aus.

Programmiere ihn so, dass er Hindernissen ausweicht!

TODO

Welche Funktionen fallen dir ein, die man mit noch mit dem Ultraschallsensor umsetzen kann! Welche Funktionen kannst du mit mehr als einem Sensor umsetzen?

Bewegungsensor, Hand in eine Richtung folgen

Wie viele Sensoren wären nötig, damit der Roboter deiner Hand folgt, wenn du sie vor ihm bewegst? Wie könnte ein Code aussehen, der das umsetzt?

Es ist möglich dies mit zwei Sensoren umzusetzen, die leicht Versetzt angeordnet sind.

Das Material und dessen Inhalte sind - sofern nicht anders angegeben - lizenziert unter der Creative Commons Lizenz CC BY-NC-SA 4.0 (für den vollständigen Lizenztext siehe https://creativecommons.org/licenses/by-sa/4.0/legalcode )