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
Millis anstatt delay
29.11.2019, 11:39
Beitrag #1
Millis anstatt delay
Hallo zusammen.

Nachdem ich hier schon das Thema "Fade" Dank eurer Hilfe wunderbar gelöst wurde, habe ich jetzt das Thema millis auf dem Programm. Big Grin

Ich plane ein Modellbauhaus mit ca. 9 LEDs. Jede LED soll geplant aber total unabhängig voneinander leuchten. Also pro LED (Ausgang am Nano) soll es einen seperaten Zeitplan geben, wann an, wann aus.
Mit delay bin ich überfordert, weil es halt zu viele Überschneidungen der LEDs gibt.
Da habe ich die millis Lösung gefunden, aber sie noch nich verstanden.
Kann mir da vielleicht jemand helfen?

Besten Dank vorab, Thorsten P.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 11:44 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2019 11:48 von Tommy56.)
Beitrag #2
RE: Millis anstatt delay
Beim Verstehen können wir nur durch konkrete Fragen von Dir helfen. Den Rest musst Du schaffen.

Schaue Dir BlinkWithoutDelay aus den Beispielen der IDE an, suche nach der Nachtwächtererklärung und lies die Erläuterung in der Rubrik Tutorials und Literatur.

Bei 9 LED solltest Du Dich auch über struct und Arrays daraus schlau machen, damit Dein Sketch kein unüberschaubares Chaos wird.

Gruß Tommy

Edit: Evtl. kann Dir dieser Thread Anregungen geben.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 11:58
Beitrag #3
RE: Millis anstatt delay
Wenn Du es dir leichter machen willst, nimmst du das Blinker Beispiel. Nur schließt du keine LED an den Augang. Die Blinkimpulse (Schleifen) kannst Du zählen. Bei 10 LED1 an, bei 15 LED2 an bei 17 LED1 aus usw. Jede LED ein Zähler.

Der einzige natürliche Feind des Menschen, ist die Technik.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 12:03
Beitrag #4
RE: Millis anstatt delay
(29.11.2019 11:44)Tommy56 schrieb:  Beim Verstehen können wir nur durch konkrete Fragen von Dir helfen. Den Rest musst Du schaffen.

Schaue Dir BlinkWithoutDelay aus den Beispielen der IDE an, suche nach der Nachtwächtererklärung und lies die Erläuterung in der Rubrik Tutorials und Literatur.

Bei 9 LED solltest Du Dich auch über struct und Arrays daraus schlau machen, damit Dein Sketch kein unüberschaubares Chaos wird.

Gruß Tommy

Edit: Evtl. kann Dir dieser Thread Anregungen geben.

Hallo Tommy.
Vielen Dank, das hört sich schon mal sehr gut an. Das hatte ich auch schon gefunden, aber durch die Nachtwächter erklärung ist es jetzt schon ein bisschen klarer. Mein großes Problem bleibt aber immer noch bestehen.
Bleiben wir beim Wachmannbeispiel:
Der Wachmann soll jede Stunde für 15 Minuten die Lampe anmachen.
Bei mir soll es pro LED / Ausgang mal so mal so sein. Also nicht geregelt / in regelmäßigen Zeitabständen.

Gibt es da was?

Grüßeeeeeeeeeeeee!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 12:09
Beitrag #5
RE: Millis anstatt delay
geht mit einem Minutenzähler noch einfacher.
For- Schleife Minuten pro Tag.

Der einzige natürliche Feind des Menschen, ist die Technik.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 12:13
Beitrag #6
RE: Millis anstatt delay
(29.11.2019 12:03)ThorstenP schrieb:  Der Wachmann soll jede Stunde für 15 Minuten die Lampe anmachen.
Bei mir soll es pro LED / Ausgang mal so mal so sein. Also nicht geregelt / in regelmäßigen Zeitabständen.
Für mich zum Verständnis:
Soll die Zeitstunde (dann brauchst Du eine Uhr) oder einfach der Abstand eine Stunde betragen?
Der Anfang jeder LED nach Programmstart soll dann zufällig sein, die LED leuchtet 15 Minuten und ist dann 45 Minuten aus.

Meinst Du das so?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 12:25
Beitrag #7
RE: Millis anstatt delay
Ein Beispiel mit vier LEDs gibt es hier. Das lässt sich auch auf 9 LEDs erweitern.

Vielleicht ist aber auch dieser Programmcode für dich interessant.
Darin stecken ganz viele Zeilen Programm mit denen du dich nicht beschäftigen musst.
Wichtig für dich sind diese Zeilen ganz am Ende:
Code:
Flasher1 led1(10, 200, 1500);
Flasher2 led2(11, 100, 500, 1000, 2000);
Flasher3 led3(12, 110, 600, 1000, 2000, 3000, 50);
Flasher4 led4(13, 122, 700, 1111, 2222, 1999, 57, 234, 456);

void setup()
{
}

void loop()
{
  led1.Update1();
  led2.Update2();
  led3.Update3();
  led4.Update4();
}
Nur diese Zeilen musst du für jede deiner LEDs anpassen oder bei mehr als vier LEDs um weitere Zeilen ergänzen.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2019, 12:28 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2019 12:30 von ThorstenP.)
Beitrag #8
RE: Millis anstatt delay
(29.11.2019 12:13)Tommy56 schrieb:  
(29.11.2019 12:03)ThorstenP schrieb:  Der Wachmann soll jede Stunde für 15 Minuten die Lampe anmachen.
Bei mir soll es pro LED / Ausgang mal so mal so sein. Also nicht geregelt / in regelmäßigen Zeitabständen.
Für mich zum Verständnis:
Soll die Zeitstunde (dann brauchst Du eine Uhr) oder einfach der Abstand eine Stunde betragen?
Der Anfang jeder LED nach Programmstart soll dann zufällig sein, die LED leuchtet 15 Minuten und ist dann 45 Minuten aus.

Meinst Du das so?

Gruß Tommy

Hi Tommy.

Also, ich versuche es noch mal zu erklären.
Start: 00:00
LEDs: 9 (Beispiel)
1 Zeitstunde sind bei meiner Modellbahn 2 Minuten

LED1: 00:00 - 05:00 aus
LED1: 05:00 - 05:30 an
LED1: 05:30 - 06:30 aus
LED1: 06:30 - 16:30 an
LED1: 16:30 - 19:30 aus
LED1: 19:30 - 21:30 an
LED1: 21:30 - 00:00 aus

So soll jede einzelne LED ihren eigenen individuellen Plan bekommen. (Es sollte auch zu Überschneideungen der einzelnen LEDs kommen)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Sich wiederholende Intervalle ohne Delay Verzweiflung RobertLeRopp 34 568 Heute 14:41
Letzter Beitrag: MicroBahner
  Millis benutzen statt delay beame 9 1.402 21.06.2019 16:16
Letzter Beitrag: Franz54
  delay Zeit falsch golex 9 1.359 24.05.2019 21:18
Letzter Beitrag: GuaAck
Sad Neuling verzweifelt braucht Hilfe delay durch timer ersetzen Lois 1 998 06.02.2019 16:15
Letzter Beitrag: Tommy56
  Doppelte Abfrage der Bedingung mit Wartezeit ohne Delay soluman 3 1.526 05.07.2018 20:53
Letzter Beitrag: GuaAck
  Funktionen mit der millis() Funktion Zis 3 1.903 16.05.2018 21:50
Letzter Beitrag: Tommy56
  Leds dimmen ohne delay jennerlein 9 2.328 20.04.2018 02:04
Letzter Beitrag: Corvus
  millis() zählt nicht weiter sowerum 8 1.973 09.04.2018 17:55
Letzter Beitrag: Tommy56
  Einen Startwert für den Millis() Zähler einstellen?? Franz54 9 2.399 01.04.2018 17:01
Letzter Beitrag: Franz54
  Millis verzögern Funktion? malsehen 14 3.065 29.03.2018 21:47
Letzter Beitrag: hotsystems

Gehe zu:


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