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

Göhrener Viaduct door saskia
Vandaag om 13:07:45
Met welke tang knip je verenstaal? door Montanbahn
Vandaag om 13:04:46
Hoe een Train-O-Matic lokdecoder voorzien van een lang adres ? door bellejt
Vandaag om 12:58:15
't Boemeltje door Montanbahn
Vandaag om 12:57:04
Bauarbeiten im gange door 741230
Vandaag om 12:42:50
booster vraag door 1200blauw
Vandaag om 12:42:01
Van British Railways Class 58 naar ACTS 5814 in 0 door jan47
Vandaag om 12:41:51
ICM 4444 op basis van Marklin 37421 door ES44C4
Vandaag om 12:20:47
BNLS-Module: "Rvbr-Btk, Ringvaartbrug Haarlemmermeer nabij Buitenkaag" NS H0 door nighttrain1
Vandaag om 12:14:01
BR-18.6 Schaal-0. door FritsT
Vandaag om 12:11:32
De fabriek - Spoor 0 door Ronald Halma
Vandaag om 11:52:05
Waldbrunn an der Veluwe. Romantiek in H0 (2R) door Jeronimos
Vandaag om 11:42:25
Wat was jullie allereerste loc? door puntenglijder
Vandaag om 10:43:11
Update: baan in de tropen door Eric v C
Vandaag om 10:41:52
Op zoek naar ns-seinvleugels in ho door Hans Reints
Vandaag om 10:30:51
Modelbaan Beltheim. door Hollandserhbfan
Vandaag om 10:25:33
Grootspoor in Frankrijk door Wouter W
Vandaag om 10:09:15
Onlangs gespot - gefotografeerd, de foto's door Montanbahn
Vandaag om 09:01:55
Terugverende koppeling door Trein033
Vandaag om 08:29:02
BMB-Module: “Corfe Castle Station” door MOVisser
Vandaag om 08:22:44
Her-(her-)beginnen door Ronaldk
Vandaag om 08:02:11
Noorwegen - interessante spoorzaken langs vakantieroute door Benjamin92
Vandaag om 01:36:24
Acherntal 2.0 H0 TP III/IV door Joz
Vandaag om 00:04:18
Module vliegveld Jan van Mourik door Wim Vink
06 August 2025, 22:36:12
Spoor op industrieterrein Lage Weide door Vislijn
06 August 2025, 22:02:52
US diorama in H0 door 741230
06 August 2025, 21:07:12
Nederland jaren 50 op basis van mijn roots door 741230
06 August 2025, 21:06:11
Nieuwe ruimte voor baan na ca. 30 jaar door ruudns
06 August 2025, 19:21:26
Ombouw/Pimpen Bolle neuzen door Montanbahn
06 August 2025, 15:46:25
LS Models CIWL LX slaapwagens door willyTEE
06 August 2025, 15:33:50
  

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

Ronald Schreuder

  • Offline Offline
  • Berichten: 70
Re: lampjes in huizen willekeurig schakelen
« Reactie #75 Gepost op: 04 August 2025, 13:45:09 »
Hoi Bert, de lantaarns werken perfect! Dank.
De random leds niet, krijg een compilation error;

C:\Users\HP\AppData\Local\Temp\ccFR0VBn.ltrans0.ltrans.o: In function `main':
C:\Users\HP\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1

Compilation error: exit status 1

Misschien wil je hier nog eens naar kijken als je tijd hebt

Bert55

  • Offline Offline
  • Berichten: 920
Re: lampjes in huizen willekeurig schakelen
« Reactie #76 Gepost op: 04 August 2025, 15:29:08 »
Vreemd maar ga ik doen.
Meteen led 7 eruit?
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 70
Re: lampjes in huizen willekeurig schakelen
« Reactie #77 Gepost op: 04 August 2025, 16:00:15 »
Graag, rustig aan.
En kan je ook instellen dat ik schakel met 1 pin ipv alle uitgangen apart?

Bedankt voor de moeite.

Bert55

  • Offline Offline
  • Berichten: 920
Re: lampjes in huizen willekeurig schakelen
« Reactie #78 Gepost op: 04 August 2025, 17:35:34 »
Af=af ;)

Met 1 ingang alle 6 tegelijk schakelen kan ook.
Wil je dat voor vast of als keuze?
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 70
Re: lampjes in huizen willekeurig schakelen
« Reactie #79 Gepost op: 04 August 2025, 18:49:49 »
Vast alsjeblieft, ik schakel dan een x aantal lampen met 1 nano, via een decoder. en ik schakel een x aantal lantaarns ook via een nano. Dus ik ga 4 of 5 secties schakelen, elk met een nano.

Bert55

  • Offline Offline
  • Berichten: 920
Re: lampjes in huizen willekeurig schakelen
« Reactie #80 Gepost op: 04 August 2025, 20:18:33 »
Denk te weten waarom je een compilatie fout kreeg, indien je in een array het aantal inputs wijzigt moet ook het aantal aanwezige getallen in de array veranderd worden, dat had ik niet gemeld.
Kom erop terug.
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Bert55

  • Offline Offline
  • Berichten: 920
Re: lampjes in huizen willekeurig schakelen
« Reactie #81 Gepost op: 05 August 2025, 19:42:22 »
Het duurde even, er zat nog een fout in, indien de enable pin naar 0 gaat hoort het zo te zijn dat de leds eerst gaan flikkeren en niet meteen aan gaan, dat gebeurde soms wel, soms niet. Dat lijkt nu gerepareerd.

En je hebt nu 1 enable pin voor de 6 uitgangen.

De serial print commando's kun je naar wens allemaal verwijderen.

// 6 LEDs with single enable pin: flicker -> half brightness -> fade-up -> pause -> restart (if loop enabled)
const int numLeds = 6;

// PWM output pins for LEDs
const int pwmPins[] = { 3, 5, 6, 9, 10, 11 };    // 6 outputs

// Single enable pin with pull-up, starts sequence when switched to GND
const int enablePin = 2;  // Single enable pin for all LEDs

// Enables restart for each LED (0 = no loop, 1 = loop)
const int enableLoop[] = { 0, 0, 0, 0, 0, 0 };  // Loop disabled. Change per LED if needed
// const int enableLoop[] = { 1, 1, 1, 1, 1, 1 };  // Loop enabled. Change per LED if needed

// Parameters for all LEDs (can be made different per LED)
const int minBrightness = 10;          // minimum brightness
const int maxBrightness = 255;         // maximum brightness
const int warmupDuration = 5000;       // flicker duration
const int fullBrightnessPause = 3000;  // Pause after fade-up
const int fadeDuration = 5000;         // duration of fade-up

// Status variables per LED
enum LightState { OFF,
                  FLICKER,
                  HALF,
                  FADE_UP,
                  PAUSE };
LightState currentState[numLeds] = { OFF };
unsigned long stateStartTime[numLeds];
unsigned long lastFlickerTime[numLeds];
int currentBrightness[numLeds] = { 0 };
bool isEnabled = false;  // Single enable state for all LEDs

void setup() {
  Serial.begin(9600);

  // Initialize all pins
  for (int i = 0; i < numLeds; i++) {
    pinMode(pwmPins[i], OUTPUT);
    analogWrite(pwmPins[i], 0);
  }
  pinMode(enablePin, INPUT_PULLUP);
}

void loop() {
  unsigned long currentTime = millis();
 
  // Single enable logic for all LEDs
  if (!digitalRead(enablePin) && !isEnabled) {
    isEnabled = true;
    // Initialize all LEDs to FLICKER state
    for (int i = 0; i < numLeds; i++) {
      currentState[i] = FLICKER;
      stateStartTime[i] = currentTime;
      lastFlickerTime[i] = currentTime;
    }
    Serial.println("All LEDs activated");
  } else if (digitalRead(enablePin) && isEnabled) {
    isEnabled = false;
    // Turn off all LEDs
    for (int i = 0; i < numLeds; i++) {
      currentState[i] = OFF;
      analogWrite(pwmPins[i], 0);
    }
  }

  if (!isEnabled) return;

  // Process each LED
  for (int i = 0; i < numLeds; i++) {
    ledFlash(i, currentTime);
  }
}

void ledFlash(int ledIndex, unsigned long currentTime) {
  unsigned long stateTime = currentTime - stateStartTime[ledIndex];

  switch (currentState[ledIndex]) {
    case FLICKER:
      if (stateTime < warmupDuration) {
        // Flicker phase
        if (currentTime - lastFlickerTime[ledIndex] >= 50) {
          lastFlickerTime[ledIndex] = currentTime;
          currentBrightness[ledIndex] = random(minBrightness, maxBrightness);
          analogWrite(pwmPins[ledIndex], currentBrightness[ledIndex]);
        }
      } else {
        currentState[ledIndex] = HALF;
        stateStartTime[ledIndex] = currentTime;
        currentBrightness[ledIndex] = maxBrightness / 2;
        analogWrite(pwmPins[ledIndex], currentBrightness[ledIndex]);
        Serial.print("LED ");
        Serial.print(ledIndex);
        Serial.println(" half brightness");
      }
      break;

    case HALF:
      if (stateTime >= 1000) {
        currentState[ledIndex] = FADE_UP;
        stateStartTime[ledIndex] = currentTime;
        Serial.print("LED ");
        Serial.print(ledIndex);
        Serial.println(" start fade-up");
      }
      break;

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

        if (progress >= 1.0) {
          currentState[ledIndex] = PAUSE;
          stateStartTime[ledIndex] = currentTime;
          Serial.print("LED ");
          Serial.print(ledIndex);
          Serial.println(" full brightness reached");
        }
      }
      break;

    case PAUSE:
      if (stateTime >= fullBrightnessPause && enableLoop[ledIndex] == 1) {
        // Restart the whole sequence
        currentState[ledIndex] = FLICKER;
        stateStartTime[ledIndex] = currentTime;
        Serial.print("LED ");
        Serial.print(ledIndex);
        Serial.println(" restart sequence");
      }
      break;

    case OFF:
      // Shouldn't get here when enabled
      break;
  }
}
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 70
Re: lampjes in huizen willekeurig schakelen
« Reactie #82 Gepost op: 05 August 2025, 19:53:46 »
Perfect Bert, ga morgen testen, dan ben ik vrij.
Alleen die compilatie fout zat in de sketch van de random leds, daar heb je nog niet naar gekeken? Geeft niet, rustig aan.
Gr Ronald

Bert55

  • Offline Offline
  • Berichten: 920
Re: lampjes in huizen willekeurig schakelen
« Reactie #83 Gepost op: 05 August 2025, 20:09:59 »
Ah, random,  kijk ik naar
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Ronald Schreuder

  • Offline Offline
  • Berichten: 70
Re: lampjes in huizen willekeurig schakelen
« Reactie #84 Gepost op: 06 August 2025, 10:46:10 »
straatlampen werkt perfect!