Netzwerk | Andreas Dumont | 02/2026 | 9. Juni 2026

 Arduino als Entfernungsmesser

Mit einem Ultraschallsensor lässt sich ein Entfernungsmesser basteln und mit dem Arduino steuern. Zusammen mit einem Piezo-Summer können Sie daraus auch eine Alarmanlage bauen.

Projekt Entfernungsmesser: So verbinden Sie den Ultraschallsensor und den Alarmgeber (Piezo-Summer) mit dem Arduino-Board.

Der Arduino ist ein Open-Source-Microcontroller, auf dem – anders als beim Raspberry Pi – kein Betriebssystem läuft. Der Arduino kann nicht mehrere Programme gleichzeitig starten, sondern verarbeitet direkte Befehlsfolgen. Um diese zu übermitteln, ist ein weiterer Rechner notwendig. Die Hardwaredaten klingen bescheiden, reichen aber für dieses Einsatzszenario aus. Der Arduino verfügt nur über 2 KB RAM, 32 KB Speicherplatz und 1 KB Eeprom, also nichtflüchtigen Speicher. Dank der riesigen Community und unzähligen Codebeispielen und Bibliotheken fällt der Einstieg in die Arduino-Welt leicht. Im Oktober 2025 hat Qualcomm die Open-Source-Plattform übernommen, um die Entwicklung von Edge-KI und IoT-Geräten zu beschleunigen, wobei Arduino aber als eigenständige Marke erhalten bleibt.

Das benötigte Material

Für das Projekt sind wenige Zutaten erforderlich. Neben der Arduino-Platine selbst empfiehlt sich ein kleines Breadboard. Damit lässt sich die Schaltung bequem aufbauen. Dazu kommt der Ping Parallax Ul­traschallsensor – oder ein vergleichbarer Sensor –, den es mit drei oder vier Pins gibt, was für den Aufbau keinen großen Unterschied macht. Die Preise für den Sensor variieren stark zwischen kaum fünf bis mehr als 40 Euro: Hier lohnt sich ein Vergleich. Um bei Über- oder Unterschreiten einer bestimmten Entfernung einen Alarmton auszulösen, benötigen Sie einen Piezo-Summer. Den gibt es für ein bis zwei Euro. Schließlich ist noch ein Schwung Jumper Wires (Kabelverbindungen) notwendig in der Variante Male/Male (ein bis zwei Euro).

Kurz zur Theorie: Der Ultraschallsensor verwendet Sonar, um die Entfernung zu einem Objekt zu bestimmen. Er sendet einen hochfrequenten Ton mit 40 KHz aus. Trifft der Schall auf ein Objekt, reflektiert er zurück auf den Ultraschallempfänger. Aus der Zeitdifferenz lässt sich die Entfernung bestimmen. Bei 20° Celsius beträgt die Schallgeschwindigkeit rund 343 m/s oder 0,034 cm/µs. Es gilt die Formel „Entfernung = Geschwindigkeit × Zeit“. Da die Schallwellen vom Sensor zum Objekt und wieder zurücklaufen, ist das Ergebnis durch „2“  zu teilen, also: 

Entfernung [cm] = Schallgeschwin-digkeit [cm/µs] × Zeit [µs] / 2

Für ein Zahlenbeispiel 3000 µs ergibt das die Entfernung 0,0343 × 3000 / 2 = 51,45 cm.

Arduino-Board vorbereiten

Das Arduino-Board gibt es in mehreren Varianten. Am weitesten verbreitet ist der Arduino Uno R3, der auch in diesem Artikel zum Einsatz kommt. Er kostet 20 bis 25  Euro und ist in Shops wie Buyzero, AZ-Delivery und Berrybase erhältlich oder auch auf der Arduino-Website www.arduino.cc. Für die Programmierung verwenden Sie eine vereinfachte Form von C/C++. Die Entwicklungsumgebung heißt ebenfalls Arduino. Sie steht auf der Arduino-Webseite für Linux als Appimage zur Verfügung (www.arduino.cc/en/software). Schalten Sie das Appimage wie üblich mit 

sudo chmod +x arduino-ide_2.3.6_linux_64bit.AppImage

ausführbar. Nach dem Start der Software erfolgt die Installation mehrerer Geräte­treiber und Bibliotheken. Danach ist die Entwicklungsumgebung einsatzbereit. Der obere Teil zeigt den Eingabebereich, der untere die Ausgaben.

Schließen Sie nun den Arduino mit einem Kabel USB-A auf USB-B an den Linux-Rechner an, was zugleich als Stromversorgung dient. Stellen Sie im Menü „Tools“ die passende Boardvariante und den Port ein. Unten rechts sollte dann etwas wie „Arduino Uno on /dev/ttyACM0“ auftauchen.

Für viele Arduino-Bauteile stehen Librarys bereit, mit denen sich diese unkompliziert einsetzen lassen. Um die Bibliothek „New­Ping“ zu installieren, klicken Sie auf das Bücher-Symbol in der vertikalen Symbol­leiste der IDE und geben „newping“ in das Suchfeld ein. Beim passenden Treffer klicken Sie auf „Install“.

Die Bibliothek „NewPing“ erleichtert den Umgang mit dem Ultraschallsensor.

Die Library ist zunächst inkompatibel mit der Funktion „tone()“ für den Piezo-Summer, da beide einen Timer verwenden. Das lässt sich korrigieren: Lokalisieren Sie den Ordner „libraries“ im Ordner „Arduino“. Wechseln Sie dann im Ordner „NewPing“ zu „src“ und öffnen Sie die Datei „NewPing.h“ in einem Editor. Dort ändern Sie in den Zeilen 208 und 213 „true“ in „false“ und speichern die Datei.

Die Schaltung aufbauen

Die Schaltung besteht aus dem Ultraschallsensor und dem Piezo-Summer, die beide an den Arduino anzuschließen sind. Verbinden Sie einen Pin des Summers mit einem Gnd-Pin auf dem Arduino. Den anderen verbinden Sie mit Pin 8. Welcher Pin „Plus“ und welcher „Minus“ ist, ist nicht leicht zu bestimmen. Hier ist die Polung aber egal.

Nun kommt der Sensor an die Reihe: Vier-Pin-Varianten verfügen über die Pins Trigger, Echo, Vcc und Gnd. Die Drei-Pin-Variante hat die Pins 5V, Gnd und SIG. Der Signalpin ist bidirektional und dient als Trigger und als Echo. Gnd verbinden Sie mit Gnd auf dem Arduino, Vcc oder 5V mit der Stromversorgung mit 5 Volt, Trigger mit Pin 9 und Echo mit Pin 10. Bei einem Sensor mit drei Pins verbinden Sie den SIG-Pin des Sensors mit Pin 9 auf dem Board.

Den Programmcode erstellen

Ein Programm für den Arduino nennt sich „Sketch“. Ein Sketch ist in drei Bereiche unterteilt. Der erste legt Variablen und Konstanten fest. Der zweite Abschnitt „Setup“ ist zwingend notwendig. Das Board führt ihn einmal aus, um Einstellungen vorzunehmen. Den Code in „Loop“ wiederholt das Board kontinuierlich. Arduino verarbeitet jeden Sketch einmal komplett bis zum Ende und beginnt dann erneut am Anfang des Loop-Blocks.

Öffnen Sie die IDE und erstellen Sie einen neuen Sketch über das Menü „File“ und dann „New Sketch“. Eine neue Instanz der IDE öffnet sich. Es empfiehlt sich, den Sketch sogleich zu speichern. Den Code für unser Szenario sehen Sie in der Abbildung rechts oben auf dieser Seite.

Und so funktioniert es: In Zeile 1 importieren Sie die zuvor installierte Bibliothek „New­Ping“. Die folgenden Zeilen geben an, welche Arduino-Pins mit dem Ultraschallsensor verbunden sind. Das Beispiel geht von einem Sensor mit drei Pins aus. Für Varianten mit vier Pins ändern Sie die Zeile 3: 

#define echoPin 10

Nach der Definition der Variablen öffnet der Setupb-Block den seriellen Monitor. Das ist der Ausgabebereich der IDE, der die Ergebnisse anzeigt.

Der Loop-Block (Zeile 12 ff.) nimmt dann die Messung vor und gibt das Ergebnis aus. Die New-Ping-Bibliothek verfügt über eine Median-Funktion, welche die Genauigkeit der Messungen deutlich verbessert. Die Funktion „ping_median()“ nimmt mehrere Messungen vor, verwirft Messwerte außerhalb des Messbereichs und bildet aus den verbleibenden Werten den Median. Schließlich prüft die If-Abfrage, ob eine bestimmte Entfernung unterschritten ist. Ist das der Fall, schaltet sie den Piezo-Summer ein (Zeile 19). Die Frequenz des Alarmtons definieren Sie mit der Funktion „tone()“. Die kritische Entfernung, die den Alarm auslöst, ist hier in Zeile 18 definiert.

Der Code wird zunächst am PC verifiziert und dann auf den Arduino übertragen.

Entfernung messen

Um zu prüfen, ob sich Fehler in den Code eingeschlichen haben, klicken Sie auf „Verify“. Das ist der Button mit dem Häkchen-Symbol. Ist alles in Ordnung, übertragen Sie den Code auf den Arduino und führen ihn aus. Dazu dient der Befehl „Upload“ –der Button mit dem Pfeil nach rechts. Gegebenenfalls passen Sie die Rechte von
„/dev/ttyACM0“ an.

Der Arduino misst im Abstand von fünf Sekunden (siehe Zeile 13) die Entfernung zum nächsten Gegenstand und gibt sie im seriellen Monitor aus. Dieser lässt sich über den Button oben rechts einblenden. Der Piezo-Summer ertönt, wenn die Messung eine definierte Entfernung unterschreitet – etwa, weil sich eine Tür öffnet. Die Reichweite des Sensors beträgt zwei Zentimeter bis circa drei Meter.