Arduino Entfernungsmessung mit Ultraschallsensor (HC-SR04): So geht’s

Arduino Entfernungsmessung mit Ultraschallsensor (HC-SR04): So geht’s

Arduino, Dev. Boards, Display, Sensoren
11 März 2021

In diesem Tutorial lernst du, einfach mit dem Arduino Entfernungsmessung zu betreiben. Hierfür verwenden wir den Ultraschallsensor HC-SR04.

Ultraschallsensoren eignen sich bestens dafür, Abstände zu messen und Objekte berührungslos zu erkennen. Das Prinzip ist denkbar einfach: Zunächst einmal wird ein kurzer, hochfrequenter Schallimpuls abgesendet. Sobald der Impuls auf ein Objekt stößt, kommt es zu einer Reflexion. Dies wiederum ruft ein Echo hervor, das schließlich wieder beim Sensor ankommt. Anhand der Zeitspanne, die zwischen der Abgabe und dem Empfangen des Impulses liegt, errechnet der Sensor zuverlässig den Abstand zum jeweiligen Objekt.

Quelle: Wikipedia

Wichtig ist, dass der Gegenstand aus einem Material besteht, das den Schall reflektieren kann. Objekte aus Metall, Holz oder Kunststoff eignen sich für die Messung folglich sehr gut. Transparente Flüssigkeiten oder Gegenstände sind kein Hindernis für den Sensor, dasselbe gilt für Schmutz, Staubwolken oder Nebel.

Aufgrund der nützlichen Features stellen Ultraschallsensoren auch eine bedeutsame Komponente in der Automatisierungstechnik dar. In Selbstpark- und Antikollisionssystemen kommt das Werkzeug ebenso zum Einsatz wie bei der Messung von Flüssigkeitsständen, bei der Erkennung von Etiketten und bei der Positionierung von Robotern.

Im folgenden Tutorial zeigen wir dir, wie du diese Messmethode mithilfe deines Arduino Uno und eines Ultraschallsensors ganz einfach selbst anwenden kannst.

Das brauchst du für das Projekt

WARENKORB

Alle für dieses Projekt notwendigen Artikel landen mit einem Klick auf den Button direkt in deinem Warenkorb, sofern sie in unserem Shop verfügbar sind. Kontrolliere daher deinen Warenkorb genau!

Arduino Entfernungsmessung mit dem Ultraschallsensor HC-SR04: Schritt für Schritt erklärt

  1. Zunächst einmal gilt es, durch eine korrekte Schaltung die Weichen für das Projekt zu legen. Die folgende Übersicht soll dir dabei helfen, die verschiedenen Komponenten richtig zu verbinden:
    Arduino Entfernungsmessung Aufbau

I2C LCD Arduino

GND GND

VCC 5 V

SDA A4

SCL A5

HC-SR04 Arduino

VCC 5 V

Trig Pin 2

Echo Pin 3

GND GND

  1. Anschließend installierst du die LCD I2C Bibliothek. Dazu navigierst du zu „Sketch“, wählst „Bibliothek einbinden“ und schließlich „Bibliotheken verwalten…“. Dann gibst du in die Suchleiste „LiquidCrystal I2C“ by „Frank de Brabander“ ein. Klicke im Anschluss auf „Installieren“.
    Arduino Entfernungsmessung Bibliothek
  2. Als nächstes öffnest du einen neuen Sketch und fügst folgenden Code ein:
//https://www.blog.berrybase.de/

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // Set the LCD address to 0x27 for a 16 chars and 2 line display

int trigPin =2 ; // TRIG 
int echoPin =3 ;  // ECHO 


float duration_us, distance_cm;

void setup() {
  lcd.init();               // Initialize the lcd
  lcd.backlight();          // Open the backlight 
  pinMode(trigPin, OUTPUT); // Config trigger pin to output mode
  pinMode(echoPin, INPUT);  // Config echo pin to input mode
}

void loop() {
  // Generate 10-microsecond pulse to TRIG pin
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Measure duration of pulse from ECHO pin
  duration_us = pulseIn(echoPin, HIGH);

  // Calculate the distance
  distance_cm = 0.017 * duration_us;

  lcd.clear();
  lcd.setCursor(0, 0); // Start to print at the first row & first line
  lcd.print("Abstand: ");
  lcd.setCursor(0, 1); // Print at the first row & second line
  lcd.print(distance_cm);
  lcd.print(" cm");

  delay(500);
}
  1. Nun musst du noch den Code kompilieren und das Board programmieren. Öffne zu diesem Zweck die Option „Werkzeuge“ und wähle anschließend dein Arduino Board „Uno“ und den Port.
  2. Als letztes kompilierst du den Code noch einmal und lädst ihn auf deinem Arduino hoch.

Viel Spaß beim Nachbauen!

Falls du deine Arduino Experimentierlust noch nicht gestillt ist, kannst du dir hier noch weitere Tutorials anschauen.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.1 / 5. Anzahl Bewertungen: 14

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Kommentare

  1. Also erstens einmal ist die Qualität der Bilder nicht so rosig und auch die Erklärung ist komplette Scheisse. Diese Programmierung stimmt überhaupt nicht. Ich hoffe diese positive Rückmeldung kann ihnen helfen ihre nicht so überlegten Beiträge zu verbessern.

    Uf Widerluege

    1. Das ist OK ... beim Hochladen/Programmieren via SPI werden die Ports inaktiv geschaltet

      Das ist OK … beim Hochladen/Programmieren via SPI werden die Ports inaktiv geschaltet

Hinterlasse ein Kommentar

XHTML: Sie können diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>