In diesem Projekt zeige ich dir, wie du mit einem Ultraschallsensor, einem Display und einem Arduino Board eine professionelle Pegelstand Anzeige selber bauen kannst.
Der verbaute Ultraschallsensor HC SR04 misst den Abstand zur Wasseroberfläche und sendet diese Werte an das Arduino Board. Die Messwerte werden vom Mikroprozessor in Prozentwerte umgerechnet und auf dem angschlossenem Display angezeigt.
Zusätzlich verbaute LEDs sowie ein kleiner Piezo-Lautsprecher melden den aktuellen Status.
Du kannst den Code individuell verändern und auf jeden beliebigen Tank/Behälter anpassen.

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren
Am besten setzt man den Wasserstandssensor dort ein, wo es wichtig ist zu wissen, wie viel Wasser oder andere Flüssigkeiten sich noch in einem Tank/Resevoir befinden. Ich habe den Wasserstandssensor im Rahmen meines Projekts für die automatische Pflanzenbewässerung entwickelt.
Der Wasserstandssensor schütz in diesem Projekt die Pumpe vor einem „Trockenlaufen“ und schaltet das System automatisch unterhalb eines 20%igen Wasserspiegels ab. Zusätzlich leuchtet eine rote LED hell auf bzw. ertönt ein Piezo-Lautsprecher – Zeit zum nachfüllen!
Sicherlich auch praktisch für Gärtner, die z.B. eine Zisterne besitzen. Man könnte anstelle der roten LED auch ein Relais verbauen, welches eine Pumpe bei niedrigem Wasserpegel aktiviert.
Auf diese Weise könnte man einen bestimmten Wasserspiegel konstant halten kann.
Wie funktioniert der Wasserstandssensor?
Ein verbauter HC SR04 Ultraschall Sensor, welcher auf der Unterseite des Deckels befestigt ist, misst permanent den Abstand zur Wasseroberfläche und sendet diese Daten an das Arduino Board.
Der Ultraschallsensor HC SR04 hat insgesamt vier Anschlüsse:
VCC
TRIG
ECHO
GND
Der VCC Pin – 5V Pluspol bzw. GND – Minuspol versorgen den HCSR04-Sensor mit dem benötigten Strom.
Der s.g. Trigger-Pin erhält durch das Arduino Board das Signal eine Ultraschallwelle auszulösen.
Diese Ultraschallwelle trifft dann auf die Wasseroberfläche und wird anschließend wieder reflektiert.
Die reflektierte Schallwelle wird dann vom Ultraschallsensor registriert und über den ECHO-PIN dann an das Arduino Board zur Verarbeitung weiter geleitet.
Der Microcontroller misst dann die Zeit zwischen dem Auslösen und die Rückkehr der Schallwelle.
Die Information wird weiter verarbeitet und auf dem Display als Prozentwert angezeigt.
Auf diese Weise erfährst du ganz genau, wieviel Prozent Wasser sich noch in deinem Tank befindet.
Ziemlich simpel oder?! 😉
Projekt Anleitung: Wasserstandsensor V.1
Benötigte Bauteile
Sketch anpassen und hochladen
Lade den Skecth Code für das Projekt herunter.
Nun musst Du den Sketch für deinen Behälter anpassen.
Suche nach:
heightTank=22;
deviation=2;
heightTank: Hier gibst du die Höhe deines Tanks in cm an.
deviation: Hier gibst du die Höhe des Sensors über dem maximalen Wasserspiegel in cm an.
Anschließend kannst du den Sketch auf dein Arduino Board hochladen. Du kannst den Sketch natürlich auch auf ein anderes Arduino Board hochladen z.B. auf ein Arduino Pro Mini Board.
Anschlüsse und Code bleiben dann gleich!
HC SR 05 Sensor anschließen
LEDs anschließen

ROTE LED – PIN 4
GRÜNE LED – PIN 2
Display anschließen

VCC – VCC
GND – GND
SDA – A4
SCL – A5
Alternativen
Du könntest statt der LEDs auch Relays anschließen um z.B. Pumpen oder aber auch Alarmanlagen zu aktivieren. Eine Pumpe könnte so bei einem bestimmten Wert aktiviert werden und Wasser ab- oder befördern.
Stromversorgung
Ich benutze bei Arduino-Projekten gerne 9V-Netzteile, die man einfach an das Arduino UNO Board anschließen kann (im Video verwende ich einen 3,7 USB-Akku).
Gehäuse bauen / Montage
Zu Demonstrationszwecken habe ich den Füllstandssensor bisher noch in kein Case verbaut. Man findet jedoch auf z.B. Amazon günstige und schöne Elektroboxen, sodass die Elektronik geschützt wird. Für den HCSR04-Sensor kann man einfach zwei Löcher bohren und diesen dann durch die Öffnungen stecken.
Hallo! Ich habe den Wasserstandssensor mit Arduino für den Campingbereich nachgebaut.Vielen Dank für die gute Anleitung. Machst du demnächst noch weitere Projekte?
Hi Dirk, vielen Dank für deinen Kommentar. Ich bin derzeit dabei einige alte Projekte zu überarbeiten bzw. neue Projektanleitungen zu erstellen. Schau doch in regelmäßigen Abständen auf http://www.ardutronix.de vorbei. Wenn du Fragen oder Vorschläge hast, kannst du dich auch gerne im neuen Ardutronix-Forum austauschen – http://www.ardutronix.de/forum
LG
Ardutronix
hallo ardutronix,
sehr schö es Projekt und genau das was ich für einen ganz anderen Einsatzbereich super gebrauchen könnte… das Problem: Ich bin technisch in dem Bereich nicht so bewandert das ich mir das zusammenbauen zutraue… Gibt es eine Möglichkeit an ein fertiges „Exemplar“ zu kommen?
Gruß
Frank
Hi Frank,
vielen Dank für dein Interesse. Leider darf ich meine Projekte aus rechtlichen Gründen nicht so einfach verkaufen. Kann dir allerdings gerne Tipps und Hilfestellungen beim Zusammenbau des Projekts geben.
Grüße Ardutronix
Super Projekt! Genau was ich brauche!
2 Fragen habe ich aber:
1- Die Rote LED ist wesentlich dunkler als die grüne!
Ich habe auch beide getauscht, dann ist es anders rum.
2- meine LED Blinkt nicht!
ich glaube es hat was mit dem Sketch zu tun.
kannst du hier helfen?
Hi TobyMoby,
vielen Dank für dein Interesse.
Hast du bei deinen angeschlossenen LEDs Vorwiderstände verwendet?
LG
Ardutronix
Hallo,
ich habe etwas Probleme mit dem Scetch. Es kommt jedes mal eine Fehlermeldung von #include <Adafruit_GFX.h> beim hochladen. Mach ich irgendwas falsch?
Beste Grüße
Hallo Steffen,
vielen Dank für dein Interesse. Dir fehlt die Library Adafruit_GFX.h.
Adafruit_GFX.h – Library download
Auf folgender Seite, wird erklärt wie du eine Library installierst:
Arduino Library installieren
LG
Ardutronix
Super,
läuft einwandfrei.Echt Klasse…
Eins habe ich noch:
Meine Rote LED leuchtet etwas schwach. Soll ich da lieber ein Vorwiderstand einbauen? Hab bei der Grünen auch kein Vorwiderstand verwendet, die leuchtet aber viel kräftiger. Kann natürlich auch sein, da ich in Reihe die Rote LED mit einem Piezo ausgestattet hatte, beim Hochladen hatte die LED nicht mehr geleuchtet und der Piezo nicht gesummt. Danach habe ich den Piezo ausgebaut und neugestartet, die Rote LED leuchtet jetzt, aber halt sehr schwach.
Danke
Hallo Steffen,
richtig – benutze bei deinen LEDs Vorwiderstände, dann sollten beide LEDs gleich stark leuchten. Werde die Anleitung nochmal überarbeiten und das im Artikel erwähnen.
Lade außerdem noch ein Update der Wasserstandssensor-Version (in den nächsten Wochen) hoch.
LG
Ardutronix
Hi,
gibt es schon Neuigkeiten zwecks überarbeitete Anleitung?
Ich hab gerade ein Problem. Es funktioniert nicht mehr.
Ich weiß auch nicht warum, ich hatte es erst mit einen anderen Display versucht, dann wollte ich wieder zurück aufs kleine. Und seit dem geht nix mehr. Hab beim Scetch wieder den alten von dir genommen und alles so wie am Anfang verkabelt am Board.
Und jetzt kommt dieser Fehler:
Arduino: 1.8.13 (Windows 10), Board: „Arduino Uno“
In file included from C:\Users\User\Documents\Arduino\libraries\Adafruit-GFX-Library-master\Adafruit_GrayOLED.cpp:20:0:
C:\Users\User\Documents\Arduino\libraries\Adafruit-GFX-Library-master\Adafruit_GrayOLED.h:30:10: fatal error: Adafruit_I2CDevice.h: No such file or directory
#include <Adafruit_I2CDevice.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Arduino Uno.
Dieser Bericht wäre detaillierter, wenn die Option
„Ausführliche Ausgabe während der Kompilierung“
in Datei -> Voreinstellungen aktiviert wäre.
Viele Grüße
Steffen
Hi Steffen,
laut Fehlermeldung scheint eine library zu fehlen „Adafruit_l2CDevice.h“. Schau nochmal im Code rein nach: #include.
Wahrscheinlich noch eine Codezeile für dein anderes Display. Ich verwenden bei meinem Code nur folgende libraries:
#include SPI.h
#include Wire.h
#include Adafruit_GFX.h
#include Adafruit_SSD1306.h
Welches andere Display möchtest du denn verwenden?
Und ich bin aktuell noch beim Überarbeiten und warte noch auf einen wasserdichten Sensor für die Entfernungsmessung. Habe mit dem HC-SR04 teilweise falsche Werte erhalten. Am Wochenende habe ich endlich mehr Zeit dazu.
Grüße
Ardutronix
Schreibe einen Kommentar