Brunnen Überwachung mit Pumpensteuerung

Schönen guten tag Leute

Ich bin neu hier und Relativ neu beim Arduino Programmieren.

Hab mir mit Hilfe des Netzes, einen NANO, Ultraschall Sensor, Display und Relais Einen Brunnenüberwachung gebastelt die auf einem Display den Füllstand in % anzeigt.
Ich hab das ganze jetzt so Programmiert das bei > 90% die Pumpe an geht und bei <20% aus.
Nun mein problem, ich würde gern die Abschaltung bei <20% beibehalten aber via Taster das Relais Manuel unabhängig vom Füllstand wieder auf HIGH schalte.
Hab schon versucht meinetwegen pin 2 als imput zu nehmen und das ganze so zu programmieren das wenn pin 2 HIGH misst Pin 4(Relais) automatisch auf HIGH Unabhängig vom Füllstand geht.
Leider hab ich das ganze noch nicht ihn bekommen.
Habt ihr ein paar Tipps für mich?
hier mal noch der Sketch den ich verwende.

int trigger=7;
int echo=6;
int relais=4;
long dauer=0;
long entfernung=0;

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

void setup()
{
Serial.begin (9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(12, OUTPUT);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 
display.display();
delay(2000);

display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.setTextColor(WHITE);

display.setCursor(5,10);
display.setTextSize(1);
display.println("Brunnenueberwachung");
display.display();
delay(5000);
display.clearDisplay();
}
void loop()
{
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH);
entfernung = (dauer/2) * 0.03432;

int distance,percentage,heightTank,deviation;
heightTank=55;
deviation=30;
percentage=100-(((entfernung-deviation)*100)/heightTank);

if (entfernung >= 500 || entfernung <= 0)
{
display.println("Kein Messwert vorhanden");
}
else
{
display.setCursor(35,0);
display.setTextSize(1);
display.println("Wasserpegel");
display.setCursor(50,15);
display.setTextSize(2);
display.print(percentage);
display.println(" %");
display.display();
display.clearDisplay();

if (percentage < 20) 
{
 digitalWrite(relais,LOW);
 }}
if (percentage > 90) 
{
 digitalWrite(relais,HIGH);
 }}

Crossposting in nicht mal 15 Minuten. Reife Leistung.

Wo hätte der Herr denn gern die Antworten?

Gruß Tommy

@To
Um Dir auf Deine Anmerkung im Nachbar-Universum zu antworten:
Ja, die Wahrscheinlichkeit steigt exorbitant, daß man dabei negativ auffällt.

Die Frage, WO Du nun die Antworten gerne hättest - ja auf so einen Smalltalk braucht man ja nicht eingehen ...

es tut mir leid im wirklichen leben frage ich auch unterschiedliche menschen bei Problemen, wusste nicht das das in diesem Universum ein problem darstellt

wusste nicht das das in diesem Universum ein problem darstellt

Das Problem ist folgendes:

Für mich sieht das so aus......
Du versuchst dein mangelndes Wissen, nicht durch lernen zu verbessern, sondern dadurch, dass du hunderte Leute versuchst zu Erfüllungsgehilfen zu machen, solange, bis eine Antwort dabei ist, die dir die Arbeit des selber begreifens abnimmt.

Ich begreife das als hemmungsloses Ausnutzen der Hilfsbereitschaft der Forengemeinde.
Je mehr los laufen, dir dienlich sind, desto besser. Natürlich für lau.
In mir entsteht das Bild, von gnadenlosem unbegrenztem Egoismus.
Das Bild eines Fasses, ohne Boden.

Üblich, in solchen Fällen:
Alle geben sich Mühe, das Fass zu füllen, gelingt nicht, man bekommt auch nie wieder was heraus.

--
Möglich, dass ich hier übertrieben/überzeichnet habe.

Es kann gut sein, dass du das nicht SO beabsichtigt hast.
Bisher noch nie drüber nachgedacht.

Dann ist jetzt die Gelegenheit.
Dann kann dir klar werden, warum ich und viele andere so reagieren.

x3rxes:
es tut mir leid im wirklichen leben frage ich auch unterschiedliche menschen bei Problemen, wusste nicht das das in diesem Universum ein problem darstellt

Die wenigsten Neulinge im Netz wissen, dass es als unhöflich gilt (wenn nicht schlimmer), an mehr als einer Stelle um Hilfe zu bitten. Im Usenet kann man wenigstens einen Followup setzen, in Web-Foren geht das nicht.

Der Unterschied ist, dass Du in RL entweder einzelne Leute fragst oder es wenigstens alle Gefragten mitbekommen, wenn Du eine hilfreiche Antwort bekommen hast. Wenn Du gleichzeitig in mehreren Foren fragst, ist das nicht der Fall.

Gruß

Gregor

... auf den 'Smalltalk' hast Du, trotz Entschuldigung, immer noch nicht reagiert ...
Also bisher keine gelungene Einführung ...

postmaster-ino:
... auf den 'Smalltalk' hast Du, trotz Entschuldigung, immer noch nicht reagiert ...
Also bisher keine gelungene Einführung ...

Najanu... Es ist ein Neuling und es ist Sonntag, Abendessenzeit. Da muss man (nach gerade mal rund 1,5 Stunden) nicht so streng sein.

Gruß

Gregor

Hallo x3r

der Tip ist seriellen Output einbauen um besser zu verstehen was das Programm macht.
Der serielle Output soll bei allen If-Bedingungen etwas ausgeben wenn die Bedingungen erfüllt ist und auch dann etwas ausgeben wenn die Bedingung nicht erfüllt ist. Das heißt überall auch ein else mit seriellem Output einbauen.

Ich nehme an den Code den du oben gepostest hast ist der code der die Bedingung mit input-pin 2 noch nicht enthält.
Das könnte man auch interpretieren als Newbee hat sich gar nicht die Mühe gemacht etwas auszuprobieren sondern will gleich die fertige Lösung gepostet haben. Man könnte es so interpretieren. Ob es wirklich zutrifft weiß ich nicht weil ich ja nicht hellsehen kann. Es macht aber einen wesentlich besseren Eindruck wenn man die Dinge die man ausprobiert hat auch beschreibt. Daran kann man erkennen das der Fragende wirklich ein Stück weit etwas probiert hat.

So nu mach mal ein paar Versuche und dann poste die QUellcodes deiner Versuche und berichte was deine Steuerung gemacht hat.

viele Grüße

Stefan

Ich hab schon ne Weile nicht mehr hier rein geschaut. Der Ton hat sich nicht geändert.
Es ist echt schade. Man kann hier viel lernen.
Wenn jemand ins Fettnäpfen tritt, dann werden aber gleich die großen Keulen ausgepackt.
Wirklich schade.

Ich bin ja begeistert von dem Wissen vieler Daueruser hier, aber vom Ton bin ich so entäuscht, dass ich nur noch sehr selten hier rein schaue.
Man muss als Schlauberger kein Eckel sein - es geht auch freundlich - echt.

In diesem Sinne allen einen schönen Restsonntag.

Grüße Hans

Mantra:

Ich bin für das verantwortlich, was ich sage.
Nicht für das, was du dabei empfindest.

Der Grund, oder besser, einer der Gründe:
Die Gefühle entstehen in dir.
Deine Erfahrungen und dein Wissen, machen daraus Emotionen.
Ich habe nichts mit deinen Erfahrungen und Wissen zu tun.
Alles deins, kein anderer hat genau das.

Du siehst:
Es sind deine Emotionen.
Nicht meine.