Zeitsteuerung LED

Hallo liebes Forum
ich bin neu hier und und komme gleich mit einigen Problemen zu euch.
Zu mir:
ich bin 62 Jahre jung und ein absoluter Anfänger auf diesem Gebiet.
Da mein Steckenpferd die Modellbahn ist, ist diese Materie wie gemacht für mich.

Ich will bei einem Modellheißluftballon den Brenner mittels LED nachstellen, was bisher auch sehr gut funktioniert.
Hier der Sketch:

#define PIN_LED1_orange 9
#define PIN_LED2_blue 11
#define PIN_LED3_white    10


void setup() 
{
pinMode(PIN_LED1_orange, OUTPUT);
   pinMode(PIN_LED2_blue, OUTPUT);
   pinMode(PIN_LED3_white, OUTPUT);  
 
}

void loop() 
{
analogWrite(PIN_LED1_orange, random(200)+10);
   analogWrite(PIN_LED2_blue, random(200)+5);
   analogWrite(PIN_LED3_white, random(200)+5);
   delay(random(100)+50); 
 
}

Jetzt ist es so, das dieser Ablauf aber stetig ist.
Ich wollte es so haben, das dieser Ablauf Zeitlich bergrenzt ist, sagen wir auf 5 sec., dann 2min. Pause
und das das ganze wieder von vorne beginnt.

So, wie stelle ich das am besten und unkomplizierten an.
Ich hoffe ich habe das Problem so erklärt, das ihr was damit anfangen könnt.
Mit der Nachsicht auf mein Anfängerstatus : - [ und auf eine Lösung
verbleibe ich
LG Kalle

Newton0_3:
....
So, wie stelle ich das am besten und unkomplizierten an.
Ich hoffe ich habe das Problem so erklärt, das ihr was damit anfangen könnt.
Mit der Nachsicht auf mein Anfängerstatus : - [ und auf eine Lösung
verbleibe ich

Hallo,
die von dir gewünschte Steuerung kannst du mit der Funktion "millis();" erreichen.

Sieh dir dazu am besten das Beispiel "BlinkWithoutDelay" in der IDE an.

Danke Dieter für die schnelle Antwort
Mal sehen,ob ich damit klar komme
LG
Kalle

Für Modellbahner sind die MobaTools eigentlich ein Muß. Diese Programmbibliothek kannst Du direkt mit der IDE einbinden. Eine PDF-Datei als Beschreibung liegt bei. Für Zeiten gibt es dort die Eieruhr. Möglicherweise erleichtert Dir das den Einstieg.

Da man keinen Zufall berechnen kann, schaue Dir mal das Beispiel von randomSeed() an. Für Modellbaugeblinke sollte das hinreichend zufällig werden.

Super und Danke für den Tipp
ist abgespeichert.

Für Modellbaugeblinke sollte das hinreichend zufällig werden.

Nach meiner Meinung braucht man für dein "Modellbahngeblinke" gar kein randomSeed.

Ich wollte es so haben, das dieser Ablauf Zeitlich bergrenzt ist, sagen wir auf 5 sec., dann 2min. Pause und das das ganze wieder von vorne beginnt.

Man kann ohne weiteres das BlinkWithoutDelay-Prinzip mit deinem relativ kurzen delay(random(50,150)); mischen:

const unsigned long SEKUNDE=1000;
const unsigned long FLACKERN= 5 * SEKUNDE;
const unsigned long PAUSE = 2 *60*SEKUNDE;
const unsigned long ZYKLUS =  FLACKERN + PAUSE ; 

void flackern() {
   analogWrite(PIN_LED1_orange, random(10,210));
   analogWrite(PIN_LED2_blue, random(5,205));
   analogWrite(PIN_LED3_white, random(5,205);
   delay(random(50,150));
}

void pause() {
  analogWrite(PIN_LED1_orange,0);
  analogWrite(PIN_LED1_blue,0);
  analogWrite(PIN_LED1_white,0);
}

void loop() {
  static unsigned long start; 
  if (millis() - start < FLACKERN) flackern();
  else pause();

  if (millis() - start >= ZYKLUS ) start = millis(); // von vorne
}

kannst natürlich genausogut deine random - Variante mit 1 Parameter weiter verwenden

Hallo Michael,
Daaaanke, funktioniert einwandfrei.
Eine Frage noch:
Welcher Wert ist für die Dauer für Pause und Flackern der LEDs zuständig, bzw. wie kann ich das beeinflussen?
LG Kalle

Hallo
habs gefunden.
Funktioniert jetzt einwandfrei.
Danke nochmals an alle.Tolles Forum.
LG
Kalle

habs gefunden.

Das hätte mich sehr gewundert, wenn nicht. Eigentlich ist es verpönt, FertigFutter hier einzustellen. :slight_smile:
Aber Modelleisenbahner muss man schon heftiger anfüttern, bis sie merken, was man sonst noch Spannendes machen kann. :slight_smile:

Funktioniert jetzt einwandfrei

War nur ein Beispiel und kann auch ganz anders verwendet werden.

michael_x:
Nach meiner Meinung braucht man für dein "Modellbahngeblinke" gar kein randomSeed.

Bei einem von mir gebauten Würfel ist mir nach ein paar Spielen die Reproduzierbarkeit der "zufälligen" Werte aufgefallen. Wenn mir Dumpfbacke sowas schon auffällt, könnte es auch einen entsprechend gewieften Modellbahner stören.

Kalle ist auf jeden Fall gewarnt und kennt auch schon eine Abhilfe :slight_smile:

Bei einem von mir gebauten Würfel

... kommt es in der Regel auf jeden Wurf an. Da kann einem schon eher die immer gleiche Reihenfolge auffallen, als wenn man dem gleichzeitigen Flackern von 3 Leds zuguckt.

Ich kann z.B. mehrfach den gleichen Film angucken und sehe doch immer wieder andere Details.
Bis ich bei einem künstlichen Kaminfeuer entdecke, dass eine Sequenz schonmal dran war und mir die Zeit für die nächste Wiederholung merke, bin ich vorher eingeschlafen.

Sonst hast du sicher recht: "Kalle ist gewarnt". Das sollte reichen.