Go Down

Topic: Led bei Tasten druck an und nach Verzögerung aus. (Read 2016 times) previous topic - next topic

Diter

@Doc_Arduino Also den überholten Sketch habe Ich getestet leider passiert dort beim betätigen des Schalters gar nichts.

@beeblebrox
Ok bin mir aber nun nicht sicher muss das i==0 nun nach unten in den sketck wenn man es so macht?

Doc_Arduino

Hallo,

ich habe deinen Sketch auch nur soweit korrigiert das er fehlerfrei kompliert. Das bedeutet nicht das er danach funktioniert. Denn ich weiß bis heute nicht was du vor hast. Mein Bsp. der Ausschaltverzögerung hatte leider nicht geholfen.

Wegen dem i. Was soll das denn bewirken? Du erhöhst i von 0 auf 1 und fragst auf Gleichheit 0 ab. Das heißt alles danach wird nie wieder abgearbeitet.

Selbst wenn du auf größer 0 abfragst bringt das nichts.
Dann inkrementierst du in Atmeberaubender Geschwindigkeit i. i ist signed.
https://www.arduino.cc/reference/de/language/variables/data-types/int/
Das heißt wenn i größer 32767 springt es ans negative Ende des Wertebereiches. Nennt sich Überlauf.
Wegen der Abfrage > 0 wird ab dem Zeitpunkt auch nichts nachfolgendes mehr ausgeführt.
Aus meiner Sicht ist i überflüssig wenn du keine Erklärung dafür hast.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Diter

Dein Sketch ist so nicht falsch, nur weiß Ich nicht wie ich es am besten ändere so das wenn der Taster nicht mehr gedrückt ist das Relais anschaltet und nach einer gewissen zeit wieder aus. Habe es schon mit millis probiert aber irgendwas mache ich Falsch. Bei mir ist es so wenn der Taster nicht gedrückt ist dann ist das Relais immer aktive.

Doc_Arduino

Hallo,

dann musst du nur die Logik entsprechend abändern.
Wie schaltet dein Taster?
Wie schaltet dein Relais?
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Diter

Gedacht war das der Taster (Pin 9) im nicht betätigten zustand 60sec.
den Pin 10 ansteuert (Pin 10 Steuert das Relais) nach abfaul der Zeit soll der Pin wieder auf LOW geätzt werden und erst beim nächsten Neustart des Arduino wieder Starten ,wenn der Taster nicht betätigt ist.

postmaster-ino

Hi

Diese Aussage ist noch nicht Eindeutig.
Gilt dieses 10 Sekunden leuchten NUR beim Einschalten?
Also:
Start
Ist Pin NICHT gedrückt, dann 10 Sekunden leuchten
danach ganz normal den Sketch abarbeiten ...

Spielt danach der Button noch eine Rolle?
Oder anders: WAS willst Du wirklich? Was soll's werden, wenn's groß ist?

Erkläre mir den Ablauf so, wie Du Diesen Deiner Oma erklären würdest.
Wenn Sie Deinen Ausführungen folgen kann, sollten wir hier damit auch keine Probleme haben.
Rubber_duck_debugging
(gibt's auch in Deutsch, dort dann links unten auf DEUTSCH klicken)

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Tommy56

#36
Nov 29, 2019, 07:36 pm Last Edit: Nov 29, 2019, 07:37 pm by Tommy56
@Diter: Evtl. solltest Du die Fragen, die Dir gestellt werden auch verstehend lesen. Ebenso das, was Du schreibst vor dem Absenden. Das verbessert die Kommunikation.

Wann Deine Zeit abfault und wann Deine Pins auf LOW geätzt werden war jedenfalls nicht gefragt.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Diter

Also Ich hoffe es ist so für alle verständlich.

Der Arduino ist eingeschaltet, und wenn nun der Taster betätigt ist dann soll nichts passieren.
Wird der Taster aber nun losgelassen dann soll das Relais (Pin 10) für 60sec eingeschaltet werden.
Wenn nun diese 60sec abgelaufen sind soll es wieder abschalten, und erst wenn der Arduino neu gestartet wird wieder Funktionieren.

Pin9 (der Taster) ist ein Schwimmer der bei zu geringen Wasserstand die Pumpe über Pin10 (das Relais) einschalten soll.  Ich hoffe Ich habe es jetzt verständlich erklärt, es war nicht meine Absicht euch zu verwirren oder so, Tut mir leid.

Tommy56

Wenn Du endlich mal die Fragen von Doc_Arduino aus #33 beantworten würdest, könntest Du schon viel weiter sein.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

beeblebrox

Aber warum soll der Arduino denn immer wieder (und von wem) abgeschaltet werden ?

Ulli

Doc_Arduino

#40
Nov 29, 2019, 08:14 pm Last Edit: Nov 29, 2019, 08:16 pm by Doc_Arduino
Hallo,

ich versuche das einmal zu übersetzen.

Also wird das eine Pumpensteuerung, die immer wenn der Schwimmer schaltet für 60s pumpen soll?
Füllstand unterschritten --> 60s pumpen?
Alles andere mit Arduino ein- und ausschalten macht keinen Sinn in meinen Augen.

Die anderen Fragen wiederhole ich.
Wie schaltet der Schwimmer?
Wie schaltet die Pumpe? Ich nehme an High aktiv laut obiger Aussage? Widerspricht aber der Aussage das mein Bsp. Sketch nicht wie gewünscht funktioniert.

Tipp. Überlege und formuliere vollständig in Ruhe die nächsten Antworten.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Diter

Der Schwimmer ist, so lange genug Wasser da ist, geschlossen und es besteht eine Verbindung zwischen Pin 9 und GND, ist die Verbindung unterbrochen bei zu geringem Wasserstand soll Pin 10 für z.b. 60sec angesteuert werden und nach Ablauf der Zeit wieder ausgehen.


Doc_Arduino

Hallo,

genau damit hättest du gleich rausrücken können. Jetzt klingt das logischer und der Arduino selbst muss nicht ausgeschalten werden, denn er soll ja den Schwimmer überwachen und die Pumpe steuern.
Ich denke mal nach.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

postmaster-ino

#43
Nov 29, 2019, 09:50 pm Last Edit: Nov 29, 2019, 09:56 pm by postmaster-ino
Hi

Da ich gerade im Nachbar-Thread geschrieben habe, daß es hier eher selten fertige Sketche als Belohnung für's Aussitzen gibt, bleibt der 39-Zeiler (incl. 10 Leerzeilen oder Kommentare), Der die Funktionalität zeigen sollte, erst Mal bei mir.

Fangen wir langsam an - wie würde der Sketch aussehen, wenn der Schwimmer die Pumpe direkt (ganz ohne Nachlaufzeit) steuern sollte?

MfG

*Edit*
39-Zeiler (statt 35) - Hinweis auf diesen Thread im Sketch hinzugefügt
Tip(p): digitalWrite(Pumpe,digitalRead(Schwimmer)); könnte fast schon klappen
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Tommy56

Tip(p): digitalWrite(Pumpe,digitalRead(Schwimmer)); könnte fast schon klappen
Da hast Du aber keine Hysterese drin.
Tip = Trinkgeld
Tipp = Hinweis

Du solltest Dich entscheiden.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Go Up