LED Flacker Effekt

Hallo zusammen,

ich würde gerne 5 Led Lampen 230V über 5 Relais ansteuern. Die Relais sollen dazu verwendet werden im Zufallsprinzip zwischen 1min und 5min einzeln auch wieder im Zufallsprinzip Relay 1-5 für einen Moment aus und wieder anzuschalten.

Kann mir jemand behilflich sein?

Gruß Marcel

Hallo
zeig mal deinen Sketch, damit wir dir helfen können.
Oder suchst du einen fertigen und getesteten Sketch, dann schicke eine PM :slight_smile:

osotastic:
Kann mir jemand behilflich sein?

Was glaubst du denn, wie lange die Relais halten werden.
Wenn überhaupt, verwende SSR. Aber lass dir die 230V Seite von einem Fachmann installieren.

Die meisten Relaiskarten sind nicht für 230V geeignet. Diese werden zwar mit 250V beworben weil das auf den Relais draufsteht. Die Platine ist aber nicht für 230V geeignet weil die Mindestabstände zwischen spannungsführenden Leiterbahnen nicht eingehalten werden und weil die Querschnitte der Leiterbahnen nicht für die genannten Ströme ausreichen.

Gleiches gilt für SSR-Module.

Grüße Uwe

Schau Dir mal sowas an: 4-Wege-Solid-Relais, 5V, 240V/2A

Aber lass dir die 230V Seite von einem Fachmann installieren! Zitat aus #2, könnte aber auch von mir sein!

Welchen Arduino möchtest Du verwenden? UNO, Nano oder ProMini bieten sich an.

Software: Vergiß die Existenz von delay und verwende für Zeiten millis. Du kannst Dich auch von den MobaTools unterstützen lassen. In OOP ließen sich die unabhängigen Abläufe gut realisieren. Ein Vorschlag, getestet mit UNO:

const uint32_t MINZEIT = 600; //60000;
const uint32_t MAXZEIT = 3000; //300000;

class FlackerLed {
  private:
    uint32_t vorhin = 0;
    uint32_t intervall = 0;
    const byte relaisPin;

  public:
    FlackerLed(byte attachTo): relaisPin(attachTo) {}

    void init() {
      pinMode(relaisPin, OUTPUT);
      randomSeed(analogRead(A0));
      if(random(0, 2)) digitalWrite(relaisPin, !digitalRead(relaisPin));
      intervall = random(MINZEIT, MAXZEIT);
    }

    void run() {
      uint32_t jetzt = millis();
      if (jetzt - vorhin >= intervall)
      {
        vorhin = jetzt;
        digitalWrite(relaisPin, !digitalRead(relaisPin));
        intervall = random(MINZEIT, MAXZEIT);
      }
    }
};

FlackerLed flackerLed[] {2, 3, 4, 5, 6};

void setup() {
  for (auto &f : flackerLed) f.init();
}

void loop() {
  for (auto &f : flackerLed) f.run();
}

agmue:
Aber lass dir die 230V Seite von einem Fachmann installieren! Zitat aus #2, könnte aber auch von mir sein!

Ok, nur ich war halt etwas schneller…sorry. :wink:

HotSystems:
Ok, nur ich war halt etwas schneller......sorry. :wink:

In dem Fall ist schneller besser ;D

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.