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

Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 22:17:09
Dönsdorfer Bauberichte door Basilicum
Vandaag om 22:06:37
Bouwbeschrijving Pec ex Dec van FRIE door RikJ
Vandaag om 21:57:15
Ervaringen met veilingsites enzo (Marktplaats, Ebay, Catawiki, etc). door spoorijzer
Vandaag om 21:52:32
Da's Daz 2 door spoorijzer
Vandaag om 21:49:48
Plaatdikte van een rangeerbaan door Te 2/2
Vandaag om 21:47:00
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 21:16:31
De bouw van “Bahnstrecke Lahr” door Peter.v.L
Vandaag om 21:11:07
Ronald doet de Fork Challenge! door Ronald Halma
Vandaag om 20:39:47
De overeenkomst tussen een Ovaalramer en een Motorpost. door FritsT
Vandaag om 20:27:28
Wach-/Begleitwagen Pwghs van USATC en FFA door martijnhaman
Vandaag om 19:59:09
Twentse Modelspoorweg Club (TMC): Digitale besturing door AP3737
Vandaag om 19:57:33
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door Ferdinand Bogman
Vandaag om 19:32:34
24e smalspoormodelbouwdagen 30 en 31 augustus 2025 bij Stoomtrein Katwijk Leiden door Hans1963
Vandaag om 18:43:11
Roco ns 309 ac>dc door Ben
Vandaag om 18:41:21
De Passage, een minimalistisch tentoonstellingsbaantje (H0) door barry1972
Vandaag om 18:21:43
Mijn eerste baan, Hexental in ho. 380x 120cm door Paul1969
Vandaag om 18:09:39
Roco BR 93 stroomafname door Herb73
Vandaag om 18:07:33
Roco Loc trilt 1 kant op bij optrekken icm klokanker door Silvolde
Vandaag om 18:04:17
Module vliegveld Jan van Mourik door MOVisser
Vandaag om 17:58:44
Aachenau West door Silvolde
Vandaag om 17:52:29
Albert's fantasie in schaal 0e door Noordernet
Vandaag om 17:37:59
Catalogus nummers diverse wagons (Trix, Lilliput en Fleischmann) door grossraumwagen
Vandaag om 17:37:52
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door Hans Reints
Vandaag om 17:22:26
Haandrecht materieel door orientexpress
Vandaag om 17:20:26
Microstepper motoren voor armseinpalen door Eric v C
Vandaag om 16:07:49
Opstelbaan door spoorijzer
Vandaag om 15:24:53
Ervaringen met bezorgdiensten (PostNL, DHL, etc) door dennie
Vandaag om 15:23:47
Alt-Wutachtalbahn 2025 door Jelmer
Vandaag om 14:41:05
Dat overkomt mij niet. door wob
Vandaag om 14:14:13
  

Auteur Topic: Witmoosdorf  (gelezen 41177 keer)

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #195 Gepost op: 11 December 2023, 19:31:02 »
Chassis van de vrachtwagen is geprint, zeer tevreden. Nu de rest nog.
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Wim Vink

  • Offline Offline
  • Berichten: 26167
  • Eens komt het goed.
    • MIL MOD
Re: Witmoosdorf
« Reactie #196 Gepost op: 11 December 2023, 21:02:06 »
 (y) (y)
Mijn baan op YouTube:
https://www.youtube.com/watch?v=IzfDZH3_rHo

Met vriendelijke groet,
Wim

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #197 Gepost op: 24 December 2023, 13:07:35 »
Dagen aan het klooien geweest met het eigenbouw car systeem.
In de sketch zaten een aantal delay's, dat moest er uiteindelijk uit omdat tijdens een delay de esp in feite dood als een pier is. Door gebrek aan routine was het best een klus, dus bijna alle delays eruit gehaald en vervangen door millis, in feite zet je dan een flink stuk van de code op de kop.
Voor de liefhebbers, zover ben ik nu, met name het remote aansturen moet nog verder aangepast
/*
V9
To do:
check powersupply corrumpeerd wait
Richtingaanwijzers werken maar nog remote aan te sturen
Remote aansturen snelheid, maxspeed?

Done:
check Powersupply still on delay but ok like this, threshold still to be set
Accelerate, Cruise and brake working
Blauw Flash werkend
Delay na break ok

The ESP module uses a different numbering as the Arduino's.
Port    GPIO number
D0      16 Cruise
D1      5  Flash
D2      4  stopplace (IR receive Bottom)
D3      0. speed motor
D4      2. Brake Led
D5      14.IR input Front
D6      12 Blink Left
D7      13 Blink Right
D8      15
A0      A0  Power supply check
*/

#include <IRremote.h>
int RECEIVER_PIN = 14;        // IR input Front
int analogPin = A0;           // input battery value divided by 3, adaption to the max of the ESP8266 mini
int val = 0;                  // variable to store the value read
int maxspeed = 250;           // Max allowed speed
int minspeed = 0;             // Minimal speed
int speed;                    // stores actual speed
int currentspeed;             // remembers actual speed
int flash;                    // Blue Flashing light on top Cabin
int stopPlace;                // stopPlace detected, port 4
int stop = 1;                 // remembers detected stopplace
int wait = 0;                 // WaitTime on stopplace
int distance;                 // car detects another vehicle in front, port 14
const int blinkLeft = (12);   // blinker Left, port 12. (D6)
const int blinkRight = (13);  // blinker Right, port 13 (D7)
const int FlashLed = (5);     // Flash lights, port 5 (D1)
int waitTime = 2000;          // Time the vehicle waits before increasing speed again
int ledBlink = LOW;           // ledState used to set the BlinkLED
int ledFlash = LOW;           // ledState used to set the FlashLED
//const int startMillis = millis();              // initial start time                         // initial start time
unsigned long previousMillisBrake = 0;         // will store last time Brake was updated
const long brakeInterval = 200;                // Brake interval
unsigned long previousMillisBlink = 0;         // will store last time Blink was updated
const long blinkInterval = 300;                // Blink interval
unsigned long previousMillisAccelerate = 0;    // will store last time Accelerate was updated
const long AccelerateInterval = 200;           // Accelerate interval
unsigned long previousMillisWait = 0;          // will store last time Waittime was updated
const long WaitInterval = 5000;                // Waittime interval
unsigned long previousMillisCruiseSlower = 0;  // will store last time CruiseSlowdown was updated
const long CruiseSlowerInterval = 300;         // CruiseSlower interval
unsigned long previousMillisCruiseFaster = 0;  // will store last time CruiseFaster was updated
const long CruiseFasterInterval = 300;         // Cruise Faster interval
unsigned long previousMillisFlash = 0;         // will store last time Flash lights was updated
const long FlashInterval = 1000;               // FlasLight interval

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  IrReceiver.begin(RECEIVER_PIN);

  pinMode(4, INPUT);    // IR sensor StopPlace bottom vehicle, HIGH = stop
  pinMode(16, INPUT);   // IR sensor "adaptive" cruise control front vehicle, HIGH = stop
  pinMode(14, INPUT);   // IR input Blink
  pinMode(5, OUTPUT);   // Flash
  pinMode(0, OUTPUT);   // speed motor
  pinMode(2, OUTPUT);   // Brake Led
  pinMode(12, OUTPUT);  // blinker Left
  pinMode(13, OUTPUT);  // blinker Right
}

void loop() {

  //checkPowerSupply();  // brakelights flashing if power supply is 20% down
  Accelerate();     // car increases speed
  Brake();          // car detects a stopplace
  Wait();           // Wait time after detecting stopplace
  checkDistance();  // car detects another vehicle in front
  blinker();        // car detects another vehicle in front
  FlashLeds();      // blue Flash Leds constantly on
}

void checkPowerSupply() {
  val = analogRead(analogPin);  // read the input pin
  //Serial.print("voedingsspanning; ");
  //Serial.print("value: ");
  //Serial.println(val);
  float voltage = val;
  //Serial.print(voltage);  // debug value
  //Serial.println(" V");
  //delay(10);
  if (val < 500) {  // execution of the Sketch stops on battery low, threshold to be determined

    Serial.println("Battery low");
    digitalWrite(2, HIGH);
    delay(500);
    digitalWrite(2, LOW);
    delay(500);
  } else {
    //Serial.println("Battery OK"); // remove, in case if statement is changed into while
  }
}
void Accelerate() {
  //Serial.print ("Acc");
  stopPlace = digitalRead(4);
  distance = digitalRead(16);
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillisAccelerate >= AccelerateInterval) {
    previousMillisAccelerate = currentMillis;
    if (speed < maxspeed) {
      //if (stopPlace == 0 ||distance==0) {
      if (stop == 1 && distance == 1 && wait == 0) {

        //Serial.print("wait: ");
        //Serial.println(wait);
        //Serial.print("distance: ");
        //Serial.println(distance);
        digitalWrite(2, LOW);  //Brake off
        speed = speed + 10;
        currentspeed = speed;
        analogWrite(0, speed);
        Serial.print("speedAccelerate :");
        Serial.println(speed);
        Serial.println("");

        //delay(300);

        //break;  // bail out on sensor detect
        //} else {
      }
    }
  }
}

void checkDistance() {

  int Distance = digitalRead(16);
  //Serial.println(Distance);
  if (Distance == 0) {
    //while (Distance ==0)
    //Serial.println("obstacle in front");
    Cruise();

    //Serial.println (Distance);
    //delay(500);
  }
}


void Brake() {
  stopPlace = digitalRead(4);
  if (stopPlace == 0 && distance == 1 && wait == 0) {  // if a stopplace  is passed the car slows down to 0,  Distance should be not active,
                                                       //in active distance state its handled there
    stop = 0;
    digitalWrite(2, HIGH);  //Brake on
  }
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillisBrake >= brakeInterval) {
    previousMillisBrake = currentMillis;
    if (stop == 0) {

      if (speed >= 10) {
        speed = speed - 10;

        analogWrite(0, speed);
        Serial.print("speedBrake: ");
        Serial.println(speed);
        digitalWrite(2, HIGH);  //Brake on
        currentspeed = speed;
      }
    }

    if (speed < 10) {
      stop = 1;  // reset
      wait = 1;
    }
  }
}
void Cruise() {
  int distance = digitalRead(16);
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillisCruiseSlower >= CruiseSlowerInterval) {
    previousMillisCruiseSlower = currentMillis;
    if (distance == 0) {
      digitalWrite(2, HIGH);  //Brake on
      //Serial.println("Slower");
      speed = (speed - 10);
      analogWrite(0, speed);
      Serial.print("speedCruise: ");
      Serial.println(speed);
    }
  }

  if (currentMillis - previousMillisCruiseFaster >= CruiseFasterInterval) {
    previousMillisCruiseFaster = currentMillis;
    if (distance == 1) {
      digitalWrite(2, LOW);  //Brake off
      Serial.println("Faster");
      speed = (speed + 10);
      analogWrite(0, speed);
    }
  }
}

/*
 void blinker()
  {

//if(IrReceiver.decode()){   
        //Serial.println(IrReceiver.decodedIRData.command,HEX);
       //switch(IrReceiver.decodedIRData.command){

           //case 0x10: //LeftBlink
           Serial.println("LeftBlink");
            currentMillis = millis();  //get the current "time" (actually the number of milliseconds since the program started)
            if (currentMillis - startMillis >= period)  //test whether the period has elapsed
            {
            digitalWrite(13, !digitalRead(13));  //if so, change the state of the LED.  Uses a neat trick to change the state
            startMillis = currentMillis;  //IMPORTANT to save the start time of the current LED state.
           //digitalWrite(LED_BUILTIN, HIGH);
           //digitalWrite(12,HIGH);
           //delay (200);
          //digitalWrite(12,LOW);
          //delay(200);
          // break;
            }
           //case 0x20: //RightBlink
           Serial.println("RightBlink")                ;
           currentMillis = millis();  //get the current "time" (actually the number of milliseconds since the program started)
            if (currentMillis - startMillis >= period)  //test whether the period has elapsed
            {
            digitalWrite(12, !digitalRead(12));  //if so, change the state of the LED.  Uses a neat trick to change the state
            startMillis = currentMillis;  //IMPORTANT to save the start time of the current LED state.
           //digitalWrite(LED_BUILTIN, HIGH);
           //digitalWrite(12,HIGH);
           //delay (200);
          //digitalWrite(12,LOW);
          //delay(200);
 //          break;
            }
           
          // case 0x30: 
          // default:   Serial.println("Ooops, wrong key!");   
        //}
        //IrReceiver.resume(); //Moet dit hier staan???????????????????
      }
 
  //}
*/
void blinker() {
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillisBlink >= blinkInterval) {
    previousMillisBlink = currentMillis;
    digitalWrite(12, ledBlink);
    if (ledBlink == LOW) {
      ledBlink = HIGH;
    } else {
      ledBlink = LOW;
    }



    digitalWrite(13, ledBlink);
  }
}
void FlashLeds() {
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillisFlash >= FlashInterval) {
    previousMillisFlash = currentMillis;
    digitalWrite(5, ledFlash);
    if (ledFlash == LOW) {
      ledFlash = HIGH;
    } else {
      ledFlash = LOW;
    }
  }
}

void Wait() {
  unsigned long currentMillis = millis();
  //wait = 0;
  if (currentMillis - previousMillisWait >= WaitInterval) {
    previousMillisWait = currentMillis;
    Serial.println("wait");
    wait = 0;
    //return;
    //} else {
    // wait = 1;
  }
}
Verder is Fritzing een leuk en gratis programma om de bedrading van de vrachtwagen te tekenen, per functie wil ik graag een eigen kleur om fouten te voorkomen:

Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Wim Vink

  • Offline Offline
  • Berichten: 26167
  • Eens komt het goed.
    • MIL MOD
Re: Witmoosdorf
« Reactie #198 Gepost op: 24 December 2023, 13:16:48 »
Heel pittige klus Bert  (y)
Mijn baan op YouTube:
https://www.youtube.com/watch?v=IzfDZH3_rHo

Met vriendelijke groet,
Wim

Eric v C

  • werkt aan eigen variant Wutachtalbahn Sauschwänzlebahn
  • Offline Offline
  • Berichten: 1147
  • Fleischmann H0 modelbouwer - RocRail
    • Alt(ernatieve) Wutachtalbahn
Re: Witmoosdorf
« Reactie #199 Gepost op: 24 December 2023, 13:57:54 »
Indrukwekkend Bert  (y)

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #200 Gepost op: 24 December 2023, 14:20:12 »
dank heren, krakende hersens maar wel erg leuk om te doen
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Eric v C

  • werkt aan eigen variant Wutachtalbahn Sauschwänzlebahn
  • Offline Offline
  • Berichten: 1147
  • Fleischmann H0 modelbouwer - RocRail
    • Alt(ernatieve) Wutachtalbahn
Re: Witmoosdorf
« Reactie #201 Gepost op: 24 December 2023, 14:42:45 »
Bert ,

Graag gedaan. Ik blijf je volgen met dir project.

Ik ga zo proberen mijn eerste ESP32 te flashen.
Om deze later (of veel later) pas als WIO element in RocRail te gaan benutten.
Prettige dagen samen.

Eric

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #202 Gepost op: 28 December 2023, 17:16:21 »
Het werd tijd om weer met de baan zelf verder te gaan. Een flink gepuzzel om precies te bepalen wat/waar, ook nog rekening houdend met de modules. In gedachten zijn we een heel eind, in de praktijk duurt het nog vele weken / maanden voordat we alles “dicht” hebben zitten.
Alvast met gipsmodellen een beeld gemaakt, wordt vv.

Station komt in de buurt van het huisje te staan met een brug over de perrons:





Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #203 Gepost op: 05 January 2024, 18:12:08 »
Best wel een poos bezig geweest met de Code voor het eigenbouw car systeem.
Eerst op een ESP D1 mini, dat ging dus niet. Misschien dat het slimmere mensen wel gelukt was maar mij dus niet.
Probleem was de combinatie van remote aansturen( gekozen voor IR ) en de noodzaak om PWM te gebruiken, minimaal voor de motor om de snelheid te kunnen regelen. Die combi is een uitdaging door de beperking in de timers in de ESP.
Toch maar de Arduino Nano, dat ging wel al heeft die ook beperking wat betreft timers.
Wat ik wilde:
Volledig remote aan te sturen van snelheid, blauwe lampen op de cabine, richting aanwijzers en verlichting.
Verder wilde ik graag dat er een soort adaptive cruise control in zit, ook gelukt.

Voor nu gebruik ik een afstandsbediening voor de IR opdrachten, straks wordt dat automatisch geregeld, na ja, dat moet gaan lukken. Wellicht ook deels DCC gestuurd.



In onderstaande filmpje het volgende te zien:
Starten en stoppen. De witte led simuleert de motor.
Keuze langzaam en snel.
Adaptive, indien de wagen een voorligger ziet vertraagd hij, is die weg gaat ie weer sneller.
Alarmlichten aan en uit.
Richting aanwijzers aan/uit.
Verlichting aan/ uit.
Uiteraard gaan de remlichten aan bij een vertraging.

Nu nog even wachten op tandwielen om verder te kunnen.

https://m.youtube.com/watch?v=6yMcNAjDdbQ&embeds_referring_euri=https%3A%2F%2Fforum.3rail.nl%2F&embeds_referring_origin=https%3A%2F%2Fforum.3rail.nl&source_ve_path=OTY3MTQ&feature=emb_imp_woyt


« Laatst bewerkt op: 05 January 2024, 18:15:56 door Bert55 »
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Wim Vink

  • Offline Offline
  • Berichten: 26167
  • Eens komt het goed.
    • MIL MOD
Re: Witmoosdorf
« Reactie #204 Gepost op: 05 January 2024, 19:33:15 »
Voor mij, met linkse computerhanden, veel te ingewikkeld.
Maar er gaat straks nog wel gebouwd worden. Kijk er naar uit!
Mijn baan op YouTube:
https://www.youtube.com/watch?v=IzfDZH3_rHo

Met vriendelijke groet,
Wim

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #205 Gepost op: 05 January 2024, 19:39:47 »
Ieder zijn ding Wim, maar timmerwerk is altijd een hobby geweest, daarme een stap gemaakt vandaag
Voorlopig kan ik het car systeem even “ parkeren”
Een deel dichtgemaakt zodat we verder kunnen met de scenery, laterrrr

Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Eric v C

  • werkt aan eigen variant Wutachtalbahn Sauschwänzlebahn
  • Offline Offline
  • Berichten: 1147
  • Fleischmann H0 modelbouwer - RocRail
    • Alt(ernatieve) Wutachtalbahn
Re: Witmoosdorf
« Reactie #206 Gepost op: 06 January 2024, 14:21:15 »
2024 belooft veel nieuwe dingen vermoed ik  (y)

Wim Vink

  • Offline Offline
  • Berichten: 26167
  • Eens komt het goed.
    • MIL MOD
Re: Witmoosdorf
« Reactie #207 Gepost op: 06 January 2024, 15:04:17 »
Ik zit er al helemaal klaar voor  ;D
Mijn baan op YouTube:
https://www.youtube.com/watch?v=IzfDZH3_rHo

Met vriendelijke groet,
Wim

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #208 Gepost op: 06 January 2024, 15:14:07 »
Hooggespannen verwachting :o
We zien wat we er van gaan bakken. Vandaag weer een stuk verder gekomen met het houtwerk.
Ik heb de intentie dat met een week of 2 klaar te hebben. Daarna komt zolangzamerhand het witte goedje. Zin-in-in.
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

Bert55

  • Offline Offline
  • Berichten: 929
Re: Witmoosdorf
« Reactie #209 Gepost op: 25 January 2024, 15:16:26 »
Inmiddels het meeste dichtgemaakt met 9mm triplex. Op de foto een losse plaat, het is de bedoeling dat die er als module uitgetild kan worden om lekker naast de tafel eraan te kunnen werken. Witmoosdorf komt erop met veel huizen, een kerk, en uiteraard een redelijk groot station. Vanaf het hoger gelegen station komt een brug naar de perrons.

In de galerie achter het perron komen een paar winkeltjes. 
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing