INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Einschaltverzögerung
18.08.2014, 12:28
Beitrag #1
Einschaltverzögerung
Hallo,ich bin neu hier im Forum,ich bin Neuling in Sachen Arduino.
Ich möchte eine Einschaltverzögerung realisieren , habe aber nichts ähnliches dazu
gefunden.
Ablauf der Schaltung:
Taster 1 getastet ,Verzögerungszeit (einstellbar 2 - 10 sec.) wird aktiviert.
Nach ablauf der Verzögerungszeit wird Ausgang 1 geschaltet und nach nochmaligen
drücken auf Taster 1 wieder ausgeschaltet.
Wer kann mir helfen ?
Vielen Dank
heinz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.08.2014, 15:22
Beitrag #2
RE: Einschaltverzögerung
Hi,
schau Dir mal in der IDE die Beispiele an. Ich glaube, da ist auch was mit Tastern dabei.
Im Prinzip kannst Du nach dem Erkennen des Tastendrucks einfach ein delay() machen bevor Du Deinen Ausgang schaltest. Das ist für den Anfang ok, aber später wirst Du das anders machen wollen. Suche mal nach "blink without delay" und versuche es zu verstehen.
Das sollte erstmal für den Anfang reichen.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2014, 19:27
Beitrag #3
RE: Einschaltverzögerung
Hallo Thorsten,
vielen Dank für Deine Antwort.
Habe mal ein bischen getippt,im Moment leider mit delay,aber es funktioniert alles so wie ich es mir vorgestellt habe.
Gruß,
Heinz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2014, 19:50
Beitrag #4
RE: Einschaltverzögerung
Hi,
ne wenn's wie gewollt funktioniert, dann meckere ich mal nicht über's delay.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2014, 21:41
Beitrag #5
RE: Einschaltverzögerung
Hallo,
ich hoffe es hilft:

void loop()
{
static unsigned long previousMillis;

if(millis() - previousMillis > 1000) //hier eine Sekunde
{
previousMillis = millis();

//Dein Sketch/Teil
}
}
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.08.2014, 13:43
Beitrag #6
RE: Einschaltverzögerung
(19.08.2014 21:41)SkobyMobil schrieb:  .............
{
static unsigned long previousMillis;
................

Hallo Andreas,

evtl eine etwas seltsame Frage, aber warum nimmst du hier static? Hat das Vorteile gegenüber unsigned long? Wenn ich diese Variable schon vor SETUP initialisiere, sprich sie global ist, macht das doch keinen Unterschied. Oder habe ich da etwas falsch verstanden?

Danke für etwas Info.

VG, Ralf aka RMR
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.08.2014, 14:37
Beitrag #7
RE: Einschaltverzögerung
Hallo,
wenn Du sie global nimmst, dann eiert die im gesammten Sketch rum.
Wenn Du sie statisch nimmst, dann eiert sie nur in der Funktion rum, und erhält ihren Wert.
Statische Variablen haben den Vorteil, das sie von anderen Funktionen nicht versehendlich
geändert werden können.
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.08.2014, 14:40
Beitrag #8
RE: Einschaltverzögerung
Dankeeeee. Schon wieder schlauer..ist ja nicht auszuhalten. Rolleyes

VG, Ralf aka RMR
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste