Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Mijn eerste H0-modeltreinbaan in aanbouw door Silvolde
Vandaag om 19:07:02
Pendel module Viessmann 5214 door Bert55
Vandaag om 18:43:13
Schroefkoppeling voor H0. door hervé
Vandaag om 18:19:45
Diorama Oelde Mittelweg Hp door neudalhausenstadbahn
Vandaag om 17:45:55
De bouw van mijn modelbaan in Thailand door Thai-Bundesbahn
Vandaag om 17:33:56
Omgeving Frankfurt am Main door piksov
Vandaag om 17:22:02
Afscheidsrit ICR rijtuigen 27 september 2025 door Daan!
Vandaag om 17:20:57
BMB-Module: “Corfe Castle Station” door Sofie
Vandaag om 17:12:51
MODELSPOOR by MTD - 2025 - 18 & 19 oktober 2025 in Edegem (B) door Klaas Zondervan
Vandaag om 17:11:58
Materieel verzameling van Michiel(NDS) door neudalhausenstadbahn
Vandaag om 16:56:45
De overeenkomst tussen een Ovaalramer en een Motorpost. door FritsT
Vandaag om 16:55:55
Van 2D afbeelding naar 3D model door Hans van de Burgt
Vandaag om 16:38:22
Mijn eerste baan, Hexental in ho. 380x 120cm door Paul1969
Vandaag om 16:35:51
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door mass am see
Vandaag om 16:32:59
Werking Piko goldcap i.c.m. met niet-Piko decoder door bellejt
Vandaag om 16:21:46
Mooi weer om buiten te spelen door sncf231e
Vandaag om 16:07:22
Dampflok-Museum Hermeskeil door 1200blauw
Vandaag om 15:43:17
Modules van Kees Gorter (vervolg) door ca.gorter
Vandaag om 15:41:34
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:31:04
Tender Roco Br 001 wiebelt een beetje door Josephes
Vandaag om 14:46:35
Onlangs gespot - gefotografeerd, de foto's door Loki
Vandaag om 14:31:12
NL-baan in Canada door ArjanB
Vandaag om 14:21:38
Die Sauerlandbahn - Tijdperk III door basjuh1981
Vandaag om 14:12:16
Toon hier je nieuwe (model-) spooraanwinst(en)... door Ronald69
Vandaag om 14:07:48
Raadplaatje door Hatsune Miku
Vandaag om 12:46:40
Toon hier je (model)TRAM foto's. door R1954
Vandaag om 12:27:26
Länderbahn en Reichsbahn locomotieven. door Ronald69
Vandaag om 11:57:06
Ermehuizen, dienstregelingsjaar 1973/1974 door Forever Rocofan
Vandaag om 11:56:46
verlichting op mijn draaischijf zeten door Voske
Vandaag om 11:26:13
Maasvlakte Zuid door Eric B
Vandaag om 11:03:43
  

Auteur Topic: lampjes in huizen willekeurig schakelen  (gelezen 13167 keer)

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #45 Gepost op: 23 July 2025, 20:07:53 »
Ok, duidelijk.
Bert, als het licht te fel is maak ik of de weerstand hoger of zet er een extra led in serie bij.
Bas, duidelijk. Goed dat het zegt. Maar de gnd gebruik ik wel toch? En ik heb DC trafo's
Bellejt, oke komt goed.

Ik ga morgen eerst even iets aansluiten, en kijken of het werkt.
Bas of Bert, kan ik de output voor de straatlantaarns een paar keer laten knipperen om hem dan constant te laten branden?
« Laatst bewerkt op: 23 July 2025, 20:13:18 door Ronald Schreuder »

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #46 Gepost op: 23 July 2025, 20:16:12 »
, kan ik de output voor de straatlantaarns een paar keer laten knipperen om hem dan constant te laten branden?

Dat kan ik er wel bij jongen. Weet niet of me dat binnen een paar dagen lukt ivm bezigheden.
Dan wordt het een gescheiden routine van de random leds.

Nog wel een vraag:
Hoe wil je de lamp in- en uitschakelen?
Kan met een simpele schakelaar op een ingang van de Nano maar in plaats daarvan of daarnaast ook met een lichtgevoelige sensor.
« Laatst bewerkt op: 23 July 2025, 20:33:41 door Bert55 »
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #47 Gepost op: 23 July 2025, 20:57:30 »
Geweldig, heeft geen haast. Inschakelen gaat dmv een schakelaar. Evt later te vervangen door een relais/decoder te bedienen vanuit Itrain.

Ronald
« Laatst bewerkt op: 23 July 2025, 20:59:31 door Ronald Schreuder »

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #48 Gepost op: 23 July 2025, 20:59:17 »
Komt goed
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Klaas Zondervan

  • Offline Offline
  • Berichten: 26854
    • Pagina van klaas
Re: lampjes in huizen willekeurig schakelen
« Reactie #49 Gepost op: 23 July 2025, 21:20:44 »
kan ik de output voor de straatlantaarns een paar keer laten knipperen om hem dan constant te laten branden?
Waarom wil je dat? Het is een misverstand dat straatlantaarns met TL knipperen bij het inschakelen. Die armaturen zijn starterloos, er zitten zelfstartende buizen in en die knipperen niet.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #50 Gepost op: 23 July 2025, 21:40:15 »
Je hebt vast gelijk Klaas maar voor het leuk is ook een reden  ;)

Ronald.
Aansturen kan ook via DCC. Relais zijn wat old school.
Zelf gebruik is een (eigen) at mega ic op een print met connectoren en een DCC ingang.
Namaken is een eitje..
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #51 Gepost op: 23 July 2025, 22:03:34 »
Waarom wil je dat? Het is een misverstand dat straatlantaarns met TL knipperen bij het inschakelen. Die armaturen zijn starterloos, er zitten zelfstartende buizen in en die knipperen niet.

Omdat ik dat leuk vind.
Niet knipperen vind ik saai.

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #52 Gepost op: 23 July 2025, 22:04:44 »
Je hebt vast gelijk Klaas maar voor het leuk is ook een reden  ;)

Ronald.
Aansturen kan ook via DCC. Relais zijn wat old school.
Zelf gebruik is een (eigen) at mega ic op een print met connectoren en een DCC ingang.
Namaken is een eitje..

Ja het wordt waarschijnlijk aansturen via een DCC decoder. Heb nog wel ergens een vrije uitgang. Komt goed.

Klaas Zondervan

  • Offline Offline
  • Berichten: 26854
    • Pagina van klaas
Re: lampjes in huizen willekeurig schakelen
« Reactie #53 Gepost op: 23 July 2025, 23:08:09 »
Omdat ik dat leuk vind.
Niet knipperen vind ik saai.
Straatverlichting is ook hartstikke saai. Het gaat aan als de zon onder gaat en weer uit als de zon opkomt, elke dag hetzelfde.
Maar als jij het leuk vindt, lekker laten knipperen.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

bask185

  • Offline Offline
  • Berichten: 5085
Re: lampjes in huizen willekeurig schakelen
« Reactie #54 Gepost op: 24 July 2025, 10:57:31 »
Flikkerende TL verlichting:
https://youtu.be/LAA6AyNP_vk?t=15

Citaat
Ja het wordt waarschijnlijk aansturen via een DCC decoder.
Dat kan, maar ook dan moet je willicht iets van elektronica er aan hangen. Bij een spoeldecoder meestal niet, maar dat kan per decoder verschillen hoe ze werken.

Zelf zou ik een DCC printje nemen. Die hang je ook met 3 draden aan je arduino. Via de arduino IDE library installer, kan je de NMRA DCC library installeren en dan kan de arduino zelf DCC commando's decoderen. Het is niet zo veel code om te kloppen


Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #55 Gepost op: 24 July 2025, 13:56:32 »
Blink is gelukt, geen problemen bij de installatie.
Led knippert en kan zelf de tijden of het knipperen wijzigen, leuk!
Nu even leds verzamelen voor mijn huisjes om de boel goed te testen.

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #56 Gepost op: 24 July 2025, 15:08:05 »
Mooi Ronald (y)
Heb een begin gemaakt met het inschakel verschijnsel.
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #57 Gepost op: 24 July 2025, 19:33:11 »
Kijk maar of je hier wat aan hebt. Ik kan het als subroutine opnemen in de andere sketch

// Flikkeren -> Halve helderheid -> Fade-up -> Pauze -> Herstart
const int pwmPin = 9;     // PWM output pin voor Led
const int enablePin = 2;  // Enable pin met pull-up, start de sequentie bij schakelen naar 0

//  parameters
const int minBrightness = 60;          // minimale helderheid
const int maxBrightness = 255;         // maximale helderheid
const int warmupDuration = 5000;       // flikkertijd
const int fullBrightnessPause = 3000;  // Na flikkeren en fade up start de sequentie na de ingesteld tijd opnieuw
int fadeDuration = 5000;               // na flikkeleren start de Led op 50% helderheid en gaat in de ingeschakelde tijd naar max

// Status variabelen
enum LightState { OFF, FLICKER, HALF, FADE_UP, PAUSE };
LightState currentState = OFF;
unsigned long stateStartTime;
int currentBrightness = 0;
bool isEnabled = false;

void setup() {
  pinMode(pwmPin, OUTPUT);
  pinMode(enablePin, INPUT_PULLUP);
  analogWrite(pwmPin, 0);
  randomSeed(analogRead(5));
}

void loop() {
  unsigned long currentTime = millis();
  unsigned long stateTime = currentTime - stateStartTime;

  // Schakelaar logica
  if (!digitalRead(enablePin) && !isEnabled) {
    isEnabled = true;
    currentState = FLICKER;
    stateStartTime = currentTime;
  } else if (digitalRead(enablePin) && isEnabled) {
    isEnabled = false;
    currentState = OFF;
    analogWrite(pwmPin, 0);
  }

  if (!isEnabled) return;

  // State machine voor laslicht gedrag
  switch (currentState) {
    case FLICKER:
      if (stateTime < warmupDuration) {
        // *** fase
        currentBrightness = random(minBrightness, maxBrightness * 0.7);
        analogWrite(pwmPin, currentBrightness);
        delay(50);
      } else {
        currentState = HALF;
        stateStartTime = currentTime;
        currentBrightness = maxBrightness / 2;
        analogWrite(pwmPin, currentBrightness);
      }
      break;

    case HALF:
      if (stateTime >= 1000) {
        currentState = FADE_UP;
        stateStartTime = currentTime;
      }
      break;

    case FADE_UP:
      {
        float progress = min(1.0, (float)stateTime / fadeDuration);
        currentBrightness = maxBrightness / 2 + (maxBrightness / 2) * progress;
        analogWrite(pwmPin, currentBrightness);

        if (progress >= 1.0) {
          currentState = PAUSE;
          stateStartTime = currentTime;
        }
        break;
      }

    case PAUSE:
      if (stateTime >= fullBrightnessPause) {
        // Herstart de hele sequentie
        currentState = FLICKER;
        stateStartTime = currentTime;
      }
      break;
  }
}
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 74
Re: lampjes in huizen willekeurig schakelen
« Reactie #58 Gepost op: 25 July 2025, 11:54:04 »
Ik ga er naar kijken, bedankt!

Bert55

  • Offline Offline
  • Berichten: 956
Re: lampjes in huizen willekeurig schakelen
« Reactie #59 Gepost op: 25 July 2025, 21:46:43 »
laatste post even weer gewist, moet nog even wat corrigeren.

Net gedaan, ik had een verkeerde code. gekopieerd.

Hieronder de combinatie van beide, de random Leds en de Led met inschakelverschijnsel.
In regel 57 en 58 kun je 1 of beide subroutines uitschakelen met // vooraan.

Nog een correctie, ik zag net dat de random Leds allemaal aanblijven indien je de subroutine disabled, de volgende code aangepast:
 was:   // digitalWrite(ledPins, ledStates);
  nu: digitalWrite(ledPins, LOW);

Pas op dat poorten 2 en 9 gereserveerd zijn voor de Led met inschakelverschijnsel.

// next lines for randomLeds
// Configuratie
const int numLeds = 5;                           // Aantal LED's
const int ledPins[numLeds] = { 3, 4, 5, 6, 7 };  // Pinnen waar de LED's op aangesloten zijn, pins 2 & 9 reserved for LedFlash
// Min en max aan-tijden in milliseconden voor elke LED
const unsigned long minTimes[numLeds] = { 1000, 1000, 1000, 1000, 1000 };  // Minimale aan-tijd per LED
const unsigned long maxTimes[numLeds] = { 3000, 3000, 3000, 3000, 3000 };  // Maximale aan-tijd per LED

// Variabelen voor timing
unsigned long previousTimes[numLeds];  // Laatste keer dat elke LED veranderde
unsigned long intervals[numLeds];      // Huidige interval voor elke LED
bool ledStates[numLeds];               // Huidige staat van elke LED

// next lines for ledFlash
// Flikkeren -> Halve helderheid -> Fade-up -> Pauze -> Herstart
const int pwmPin = 9;     // PWM output pin voor Led
const int enablePin = 2;  // Enable pin met pull-up, start de sequentie bij schakelen naar 0

//  parameters
const int minBrightness = 60;          // minimale helderheid
const int maxBrightness = 255;         // maximale helderheid
const int warmupDuration = 5000;       // flikkertijd
const int fullBrightnessPause = 3000;  // Na flikkeren en fade up start de sequentie na de ingesteld tijd opnieuw
int fadeDuration = 5000;               // na flikkeren start de Led op 50% helderheid en gaat in de ingeschakelde tijd naar max

// Status variabelen
enum LightState { OFF,
                  FLICKER,
                  HALF,
                  FADE_UP,
                  PAUSE };
LightState currentState = OFF;
unsigned long stateStartTime;
int currentBrightness = 0;
bool isEnabled = false;

void setup() {
  Serial.begin(9600);
  // next lines for randomLeds
  // Stel alle LED-pinnen in als OUTPUT
  // Initialiseer LED pinnen als OUTPUT
  for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT);
    ledStates[i] = LOW;
    // digitalWrite(ledPins[i], ledStates);
    digitalWrite(ledPins[i], LOW);
    previousTimes[i] = 0;
    intervals[i] = random(minTimes, maxTimes);
  }
  // next lines for ledFlash
  pinMode(pwmPin, OUTPUT);
  pinMode(enablePin, INPUT_PULLUP);
  analogWrite(pwmPin, 0);
}

void loop() {

  randomLeds();  // switch random leds on and off, put // in front of line to switch off
  ledFlash();  // switch led on  with flikkering effect, put // in front of line to switch off
}
void randomLeds() {
  unsigned long currentTime = millis();

  for (int i = 0; i < numLeds; i++) {
    // Controleer of het tijd is om de LED te schakelen
    if (currentTime - previousTimes[i] >= intervals[i]) {
      // Schakel de LED
      ledStates[i] = !ledStates[i];
      digitalWrite(ledPins[i], ledStates[i]);

      // Update de vorige schakeltijd
      previousTimes[i] = currentTime;

      // Bepaal een nieuw random interval voor de volgende schakeling
      if (ledStates[i] == HIGH) {
        // LED gaat aan - gebruik aan-tijd interval
        intervals[i] = random(minTimes[i], maxTimes[i]);
      } else {
        // LED gaat uit - gebruik een korte uit-tijd (of pas aan-tijd aan)
        // Hier gebruiken we de helft van de minimale aan-tijd als uit-tijd
        intervals[i] = minTimes[i] / 2;
      }

      // Debug output (optioneel)
      Serial.print("ledPins ");
      Serial.print(ledPins[i]);
      Serial.print("LED ");
      Serial.print(i);
      Serial.print(": ");
      Serial.print(ledStates ? "AAN" : "UIT");
      Serial.print(", Volgende schakeling in: ");
      Serial.println(intervals[i]);
    }
  }
}
void ledFlash() {
  unsigned long currentTime = millis();
  unsigned long stateTime = currentTime - stateStartTime;

  // Schakelaar logica
  if (!digitalRead(enablePin) && !isEnabled) {
    isEnabled = true;
    currentState = FLICKER;
    stateStartTime = currentTime;
  } else if (digitalRead(enablePin) && isEnabled) {
    isEnabled = false;
    currentState = OFF;
    analogWrite(pwmPin, 0);
  }

  if (!isEnabled) return;

  // State machine voor laslicht gedrag
  switch (currentState) {
    case FLICKER:
      if (stateTime < warmupDuration) {
        // *** fase
        currentBrightness = random(minBrightness, maxBrightness * 0.7);
        analogWrite(pwmPin, currentBrightness);
        delay(50);
      } else {
        currentState = HALF;
        stateStartTime = currentTime;
        currentBrightness = maxBrightness / 2;
        analogWrite(pwmPin, currentBrightness);
      }
      break;

    case HALF:
      if (stateTime >= 1000) {
        currentState = FADE_UP;
        stateStartTime = currentTime;
      }
      break;

    case FADE_UP:
      {
        float progress = min(1.0, (float)stateTime / fadeDuration);
        currentBrightness = maxBrightness / 2 + (maxBrightness / 2) * progress;
        analogWrite(pwmPin, currentBrightness);

        if (progress >= 1.0) {
          currentState = PAUSE;
          stateStartTime = currentTime;
        }
        break;
      }

    case PAUSE:
      if (stateTime >= fullBrightnessPause) {
        // Herstart de hele sequentie
        currentState = FLICKER;
        stateStartTime = currentTime;
      }
      break;
  }
}

« Laatst bewerkt op: 25 July 2025, 22:33:29 door Bert55 »
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing