Zoeken

 
Geavanceerd zoeken



Welkom, Gast. Alsjeblieft inloggen of registreren.

Gebruikersnaam: 
Wachtwoord:
Sessielengte:

Login met gebruikersnaam, wachtwoord en sessielengte

Modelspoorwijzer.net - ForumAlgemeenMijn baanTopic: Irgendwo in Deutschland
Pagina's: 1 ... 68 69 [70] 71 72 ... 171   Omlaag
Print
Auteur Topic: Irgendwo in Deutschland  (gelezen 1074821 keer)
0 geregistreerde gebruikers en 6 gasten bekijken dit topic.
Edgar
Hero Member

Offline Offline

Berichten: 691


« Antwoord #1035 Gepost op: 11 November 2019, 21:18:34 »

Valt voor een paar euro idd niet tegen  Duim omhoog
Gelogd
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8955


271*


WWW
« Antwoord #1036 Gepost op: 11 November 2019, 22:21:15 »

Ha ha, vanmiddag ook opgehaald bij de Action  Grin
Binnenkort dus de Waldijkse catacomben in beeld
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
hubertus
Hero Member

Online Online

Berichten: 8799


WWW
« Antwoord #1037 Gepost op: 14 November 2019, 16:23:53 »

Afgelopen zaterdag in Houten uitgebreid met Daan gesproken, o.a. over de arduino-aansturing van een mulitplex-sein.
En dat inspireerde om daar weer eens mee verder te experimenteren.

Hoewel ik een werkende versie had, toch eens verder gegaan met een andere manier van aansturen en een "luxe" toevoeging.

De aansturing was een 4-bits aansturing, 3 bits om te bepalen welk seinbeeld getoond moest worden en 1 startbit om het hele circus van het wisselen van seinbeeld in gang te zetten.

De nieuwe aansturing is de "Daan-methode", vier wisseladressen waarvan zowel rechtdoor als afbuigend worden gebruikt. Die gaat minder efficiënt om met het aantal wisseladressen, maar de sketch in Arduino wordt een stuk eenvoudiger. En het is hiermee ook mogelijk met één druk op een wisselschakelaar op je centrale het complete seinbeeld op te roepen.

De luxe toevoeging is de mogelijkheid om de DCC-adressen waar de Arduino naar moet luisteren, te programmeren buiten de pc om.
Gewoon op de centrale het eerste wisseladres selecteren waarna moet worden geluisterd, een knopje op de arduino indrukken en het wissel op je centrale schakelen (rechtdoor of afbuigend maakt niet uit). De drie andere benodigde adressen zijn direct opvolgend en zorgt de arduino zelf voor. Het hoogste beginadres mag op dit moment 252 zijn, maar met een aanpassing in de sketch moet het mogelijk zijn ook hogere adresranges te gebruiken. Voor mij niet nodig, dus ook niet geprobeerd.

En tenslotte ben ik begonnen gehoor te geven aan de forse kritiek dat ik bijna geen commentaren in de sketch had gezet.  Grin
Eerlijk gezegd begreep ik die kritiek nu wel. Het was ook voor mij weer even zoeken wat ik allemaal had bedacht.
Nog niet compleet, maar het begin is er.

Voor de liefhebber de aangepaste sketch.

Code:
#include <NmraDcc.h>
#include <Wire.h>
#include <eeprom.h>

/*
Seinbeelden Duits inrijsein
 */


// toewijzing pinnen Arduino aan draden sein
unsigned long tijd;         // begin van een wachttijd
unsigned long tijd_vers;    // verstreken tijd sinds het begin van een wachttijd
bool program_stand=false;   // indien true, dan is decoder in programmeerstand om adres te programmeren
byte Basisadres;            // basisadres van de decoder, overige adressen zijn opvolgend
byte stekker_1_pin_1=3;     // toewijzing aansluitingen sein aan uitgangen arduino
byte stekker_1_pin_2=4;
byte stekker_1_pin_3=5;
byte stekker_1_pin_4=6;
byte lamp;
byte gewenst_seinbeeld=0;
byte seinwisseling=0;
byte seinbeeld=1;           // het seinbeeld van het hele sein (hoofd- en voorsein)
byte pauze=0;
byte hp;                    // hp is het seinbeeld van het hoofdsein
byte hp_old;
byte vr;                    // vr is het seinbeeld van het voorsein
byte gewenst_hp;
byte gewenst_vr;
bool tussenbeeld=false;
byte x1;                    // seinbeelden worden steeds samengesteld door achtereenvolgens
byte x2;                    // de benodigde leds te laten branden. De cyclus duurt 10 ms
byte x3;                    // waarbij elke led 2ms brandt. Maximaal 5 leds kunnen zo gelijk
byte x4;                    // branden. Als er minder dan vijf leds moeten branden, de niet
byte x5;                    // gebruikte plaatsen opvullen met een pauze van 2 ms
                            // iedere x-variabele kan een led of pauze zijn
int LedAanTijd[8];
byte LedNummer;
int HpAan=0;
int vrgn=1;
int vrgl=0;

typedef struct
{
  int address;
  uint8_t arduinoPin;
  byte output;
}
DCCAccessoryAddress;

DCCAccessoryAddress gAddresses[4];  // er worden 4 adressen gedefinieerd voor de decoder

NmraDcc  Dcc;
uint16_t lastAddr = 0xFFFF;
uint8_t lastDirection = 0xFF;

//
// Decoder Init
//
void ConfigureDecoder()
{
  // toewijzing adressen aan decoder
for (int i = 0; i < 4 ; i++)
  {  gAddresses[i].address = Basisadres + i;
  }
}

// This function is called whenever a normal DCC Turnout Packet is received
void notifyDccAccTurnoutOutput(uint16_t Addr, uint8_t Direction, uint8_t OutputPower)
{
//  Printmogelijkheid voor debug:

//  Serial.print("notifyDccAccTurnoutOutput: ");
//  Serial.print(Addr, DEC);
//  Serial.print(',');
//  Serial.print(Direction, DEC);
//  Serial.print(',');
//  Serial.println(OutputPower, HEX);

if (program_stand == 1){        // als programmeerschakelaar is gedrukt, wordt deze routine doorlopen
  Basisadres = Addr;            // Basisadres wordt het adres dat op de centrale wordt gekozen
  EEPROM.write(0, Basisadres);  // Basisadres wordt weggeschreven naar EEPROM
  ConfigureDecoder();           // Functie aanropen om adressen opnieuw toe te wijzen
  program_stand = 0;            // Decoder weer uit programmeerstand halen
  digitalWrite(LED_BUILTIN, LOW);
  }

else {                          // als programmeerschakelaar niet is gedrukt, wordt deze routine doorlopen

  for (int i = 0; i < (sizeof(gAddresses) / sizeof(DCCAccessoryAddress)); i++)
  {
    if ((Addr == gAddresses[i].address) && ((Addr != lastAddr) || (Direction != lastDirection)) && OutputPower)
    {
      lastAddr = Addr;
      lastDirection = Direction;
      gewenst_seinbeeld = 2 * (Addr-Basisadres) + Direction + 1;
      //  Printmogelijkheid voor debug:
     
      // Serial.print(F("Activating Decoder Address "));
      // Serial.println(i, DEC);
      // Serial.println(Direction);
      // Serial.println(gewenst_seinbeeld);
      seinwisseling = 1;
      tijd = millis();

    }
  }
}
}

void setupDCCDecoder()
{
  Serial.println(F("Setting up DCC Decorder..."));

  // Setup which External Interrupt, the Pin it's associated with that we're using and enable the Pull-Up
  Dcc.pin(0, 2, 1);

  // Call the main DCC Init function to enable the DCC Receiver
  Dcc.init(MAN_ID_DIY, 10, CV29_ACCESSORY_DECODER | CV29_OUTPUT_ADDRESS_MODE, 0);

  // Configure the Decoder
  ConfigureDecoder();
}



void FadeIn(){        // langzaam oplichten leds "gloeilampeffect"
  if (LedAanTijd[LedNummer] < 1000){
    LedAanTijd[LedNummer] = LedAanTijd[LedNummer] + 50;
  }
}

void FadeOut(){       // langzaam uitdoven leds "gloeilampeffect"
  if (LedAanTijd[LedNummer] > 0){
    LedAanTijd[LedNummer] = LedAanTijd[LedNummer] - 50;
  }
}



void Aansturing(){
    switch (lamp){

      case 0:
        // pauze 2ms als opvulling als minder dan 5 leds getoond moeten worden
        delay(1);
      break;

      case 1:
        // hoofdsein rood
        pinMode(stekker_1_pin_1, INPUT);         // niet gebruikte draad als input definiëren
        pinMode(stekker_1_pin_2, INPUT);
        pinMode(stekker_1_pin_3, OUTPUT);        // gebruikte draad als output definiëren
        pinMode(stekker_1_pin_4, OUTPUT);
//        digitalWrite(stekker_1_pin_1, LOW);
//        digitalWrite(stekker_1_pin_2, LOW); 
        digitalWrite(stekker_1_pin_3, LOW);
        digitalWrite(stekker_1_pin_4, HIGH); 
        delayMicroseconds(LedAanTijd[1]);                     // led is 2 ms aan
        digitalWrite(stekker_1_pin_4, LOW);
        delayMicroseconds(1000-LedAanTijd[1]);
      break;

      case 2:
        // hoofdsein groen
        pinMode(stekker_1_pin_1, INPUT);           //groene led Hp1
        pinMode(stekker_1_pin_2, INPUT);
        pinMode(stekker_1_pin_3, OUTPUT);
        pinMode(stekker_1_pin_4, OUTPUT);
//        digitalWrite(stekker_1_pin_1, LOW);
//        digitalWrite(stekker_1_pin_2, LOW); 
        digitalWrite(stekker_1_pin_3, HIGH);
        digitalWrite(stekker_1_pin_4, LOW); 
        delayMicroseconds(LedAanTijd[2]);
        digitalWrite(stekker_1_pin_3, LOW);
        delayMicroseconds(1000-LedAanTijd[2]);
      break;

      case 3:
        // hoofdsein geel
        pinMode(stekker_1_pin_1, OUTPUT);
        pinMode(stekker_1_pin_2, INPUT);
        pinMode(stekker_1_pin_3, INPUT);
        pinMode(stekker_1_pin_4, OUTPUT);
        digitalWrite(stekker_1_pin_1, HIGH);
//        digitalWrite(stekker_1_pin_2, LOW); 
//        digitalWrite(stekker_1_pin_3, LOW);
        digitalWrite(stekker_1_pin_4, LOW); 
        delayMicroseconds(LedAanTijd[3]);
        digitalWrite(stekker_1_pin_1, LOW);
        delayMicroseconds(1000-LedAanTijd[3]);       
      break;

      case 4:
        // voorsein groen onder
        pinMode(stekker_1_pin_1, OUTPUT);
        pinMode(stekker_1_pin_2, OUTPUT);
        pinMode(stekker_1_pin_3, INPUT);
        pinMode(stekker_1_pin_4, INPUT);
        digitalWrite(stekker_1_pin_1, LOW);
        digitalWrite(stekker_1_pin_2, HIGH); 
//        digitalWrite(stekker_1_pin_3, LOW);
//        digitalWrite(stekker_1_pin_4, LOW); 
        delayMicroseconds(LedAanTijd[4]);
        digitalWrite(stekker_1_pin_2, LOW);
        delayMicroseconds(1000-LedAanTijd[4]);       
      break;

      case 5:
        // voorsein groen boven
        pinMode(stekker_1_pin_1, INPUT);
        pinMode(stekker_1_pin_2, OUTPUT);
        pinMode(stekker_1_pin_3, INPUT);
        pinMode(stekker_1_pin_4, OUTPUT);
//        digitalWrite(stekker_1_pin_1, LOW);
        digitalWrite(stekker_1_pin_2, HIGH); 
//        digitalWrite(stekker_1_pin_3, LOW);
        digitalWrite(stekker_1_pin_4, LOW); 
        delayMicroseconds(LedAanTijd[5]);
        digitalWrite(stekker_1_pin_2, LOW);
        delayMicroseconds(1000-LedAanTijd[5]);
      break;


      case 6:
        // voorsein geel onder
        pinMode(stekker_1_pin_1, OUTPUT);
        pinMode(stekker_1_pin_2, OUTPUT);
        pinMode(stekker_1_pin_3, INPUT);
        pinMode(stekker_1_pin_4, INPUT);
        digitalWrite(stekker_1_pin_1, HIGH);
        digitalWrite(stekker_1_pin_2, LOW); 
//        digitalWrite(stekker_1_pin_3, LOW);
//        digitalWrite(stekker_1_pin_4, LOW); 
        delayMicroseconds(LedAanTijd[6]);
        digitalWrite(stekker_1_pin_1, LOW);
        delayMicroseconds(1000-LedAanTijd[6]);
      break;

      case 7:
        // voorsein geel boven
        pinMode(stekker_1_pin_1, INPUT);
        pinMode(stekker_1_pin_2, OUTPUT);
        pinMode(stekker_1_pin_3, INPUT);
        pinMode(stekker_1_pin_4, OUTPUT);
//        digitalWrite(stekker_1_pin_1, LOW);
        digitalWrite(stekker_1_pin_2, LOW); 
//        digitalWrite(stekker_1_pin_3, LOW);
        digitalWrite(stekker_1_pin_4, HIGH); 
        delayMicroseconds(LedAanTijd[7]);
        digitalWrite(stekker_1_pin_4, LOW);
        delayMicroseconds(1000-LedAanTijd[7]);
      break;

      default:
      break;
    }
  }

void LedsHoofdsein(){
  switch (hp){
    case 0:
    x1=1; x2=0; x3=0;
    break;
   
    case 1:
    x1=2; x2=0; x3=0;
    break;
   
    case 2:
    x1=2; x2=3; x3=0;
    break;
   
    case 3:
    x1=0; x2=0; x3=0;
    break;   
   
    default:
    break;
  }
}

void LedsVoorsein(){
  switch (vr){
    case 0:
    x4=6; x5=7;
    break;
   
    case 1:
    x4=4; x5=5;
    break;
   
    case 2:
    x4=5; x5=6;
    break;
   
    case 3:
    x4=0; x5=0;
    break;   
   
    default:
    break;
  }
}



// de setup routine draait 1x als we de Arduino aanzetten of op Reset drukken:
void setup() {
  //start serial connection
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);
  //configure pins 9 as an input and enable the internal pull-up resistor
  pinMode(9, INPUT_PULLUP);
  Basisadres = EEPROM.read(0);
// Eenmalig initialiseren diverse waarden LedAanTijd.
// Rood 1000 microseconde, rest 0
LedAanTijd[1] = 1000;
for (int i=2; i<8; i++){
  LedAanTijd[i] = 0;
}
  setupDCCDecoder();
}



// de loop routine blijft zich onendig herhalen:
void loop()  {
  // You MUST call the NmraDcc.process() method frequently from the Arduino loop() function for correct library operation
  Dcc.process();

  int program_schakelaar = digitalRead(9);
  if (program_schakelaar ==0){
    program_stand=1;
    digitalWrite(LED_BUILTIN, HIGH);
  }


if (seinwisseling==1){
      tijd_vers = millis()-tijd;
      switch (gewenst_seinbeeld){
        case 1:
          gewenst_hp=0; gewenst_vr=3;
        break;       
        case 2:
          gewenst_hp=1; gewenst_vr=0; 
        break;
        case 3:
          gewenst_hp=1; gewenst_vr=1;
        break;
        case 4:
          gewenst_hp=1; gewenst_vr=2;
        break;
        case 5:
          gewenst_hp=2; gewenst_vr=0; 
        break;     
        case 6:
          gewenst_hp=2; gewenst_vr=1;
        break;
        case 7:
          gewenst_hp=2; gewenst_vr=2;
        break;
        default:
        break;
      }
 
      if (hp != gewenst_hp){
        if (vr == 1 || vr ==2){
          LedNummer = 5;
          FadeOut();
        }
        if (tijd_vers>25){
          if (vr == 1){
            LedNummer = 4;
            FadeOut();
          }
        } 
        if (LedAanTijd[4]==0 && LedAanTijd[5]==0){
          vrgn=0;
        }
        if (vrgn==0 && tijd_vers>70){
          tussenbeeld=true;   
          if (tijd_vers>75){
            LedNummer = 7;
            FadeIn();
          }
          if (tijd_vers>125){
            LedNummer = 6;
            FadeIn();
          }             
        } 
      if (LedAanTijd[6]==1000 && LedAanTijd[7]==1000){
        vrgl=1;
      }
      hp_old=hp;
      if (tijd_vers > 400){
        for (LedNummer = 1; LedNummer < 4; LedNummer++){
          FadeOut(); 
        }
      } 
    }
   
    if (LedAanTijd[1] == 0 && LedAanTijd[2] == 0 && LedAanTijd[3] == 0) {
      HpAan = 0;
    }


    if (HpAan==0 && vrgn==0 && vrgl==1){
      seinbeeld=gewenst_seinbeeld;

    } else {
      if (hp==gewenst_hp && tijd_vers>500){
        seinbeeld=gewenst_seinbeeld;
        tussenbeeld=true;         
      }
    }
    if (hp != hp_old && tijd_vers > 600){
      for (LedNummer = 1; LedNummer < 4; LedNummer++){
        FadeIn();
      }
    }
    if (LedAanTijd[1] == 1000 && LedAanTijd[2] == 1000 && LedAanTijd[3] == 1000){
      HpAan = 1;
    }

    if (gewenst_vr>0){
      if (tijd_vers>600){
        LedNummer = 7;
        FadeOut();
      }
    }
    if ((gewenst_vr==1 || gewenst_vr==3) && tijd_vers > 650){
      LedNummer = 6;
      FadeOut();
    }
    if (tijd_vers>800){
      tussenbeeld=false;

      if (vr==1 || vr==2){
        LedNummer = 5;
        FadeIn();
     
        if (tijd_vers>850 && vr==1){
          LedNummer = 4;
          FadeIn();
        }
      }
      if (tijd_vers>1700){
        seinwisseling=0;
        gewenst_seinbeeld=0;

      }
    }
  }
 
/*  seinbeelden worden steeds samengesteld door achtereenvolgens
 *  de benodigde leds te laten branden. De cyclus duurt 10 ms
 *  waarbij elke led 2ms brandt. Maximaal 5 leds kunnen zo gelijk
 *  branden. Als er minder dan vijf leds moeten branden, de niet
 *  gebruikte plaatsen opvullen met een pauze van 2 ms * 
 */

  //Bij dit sein zijn er 7 mogelijke seinbeelden
 
  switch (seinbeeld){   // bepaald welke seinbeelden horen bij een seinstand
    case 1:
    hp=0; vr=3;
    break;

    case 2:
    hp=1; vr=0; 
    break;
   
    case 3:
    hp=1; vr=1;
    break;
   
    case 4:
    hp=1; vr=2;
     break;

    case 5:
    hp=2; vr=0; 
    break;
   
    case 6:
    hp=2; vr=1;
    break;
   
    case 7:
    hp=2; vr=2;
    break;
   
    default:
    break;
 
  }

  if (tussenbeeld==true){
    vr=0;
  }


  LedsHoofdsein();
  LedsVoorsein();


  byte lampkeuze[] = {x1,x2,x3,x4,x5};  //maak een array om de goede leds aan te sturen bij het gekozen seinbeeld

  for (int i=0;i<5; i++){
    lamp = lampkeuze[i];
    Aansturing();
  } 
}

groet, Huub

edit: aansturing controleled bij programmeren toegevoegd
« Laatste verandering: 14 November 2019, 19:54:12 door hubertus » Gelogd

Plettenburg, DB jaren '80 in H0
Noordwaarts
Hero Member

Offline Offline

Berichten: 17507


318*


« Antwoord #1038 Gepost op: 14 November 2019, 17:22:18 »

Ik ben nooit verder gekomen dan BASIC op mijn Commodore 64 in de jaren tachtig. Mag ik hier nu nog wel verder lezen?  Cheesy

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
hubertus
Hero Member

Online Online

Berichten: 8799


WWW
« Antwoord #1039 Gepost op: 14 November 2019, 18:00:32 »

Ja hoor, dat was lastiger dan dit.
Als ik er hier niet uitkom, is het een kwestie van zoeken op internet naar de oplossing. Kan nog een uitdaging zijn, maar haalt het niet bij het internetloze BASIC-tijdperk.  Cheesy
Gelogd

Plettenburg, DB jaren '80 in H0
Noordwaarts
Hero Member

Offline Offline

Berichten: 17507


318*


« Antwoord #1040 Gepost op: 14 November 2019, 18:39:00 »

Op zondagavond met cassettebandjes opnames maken van de piepjes die werden uitgezonden door de NOS in een programma over computers.
En dan het cassettebandje in de datasette en kijken wat voor moois er op je beeldscherm werd getoverd. Ik heb zélf heimwee naar de jaren tachtig!   Cheesy

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
hubertus
Hero Member

Online Online

Berichten: 8799


WWW
« Antwoord #1041 Gepost op: 14 November 2019, 18:51:49 »

Ha, Hobbyscoop.
Ja, dat ken ik ook nog. Grin
Gelogd

Plettenburg, DB jaren '80 in H0
Noordwaarts
Hero Member

Offline Offline

Berichten: 17507


318*


« Antwoord #1042 Gepost op: 14 November 2019, 20:44:54 »

Ja, dat was de naam. Kon ik niet meer op komen. Er blijkt een stichting opgericht te zijn die door is gegaan nadat het programma was gestopt: http://www.hobbyscoop.nl

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
hubertus
Hero Member

Online Online

Berichten: 8799


WWW
« Antwoord #1043 Gepost op: 20 November 2019, 20:11:35 »

Nog wat verder gegaan met het Arduino-verhaal.
Tot nu toe was alles werkend voor een inrijsein, dat zijn 7 verschillende seinbeelden.
Het uitrijsein heeft nog één seinbeeld meer, namelijk het rangeersein. Bovendien heeft dat sein twee rode lampen i.p.v. één. Die branden allebei als er niks voorbij het sein mag, er brandt er één als het rangeersein brandt.
Tijd dus om de Arduino-sketch uit te breiden uit te breiden. Dat had wat voeten in aarde, vooral omdat ik ook wat andere aanpassingen wilde doorvoeren om mijn sketch wat in lijn te krijgen met wat aanpassingen die Daan weer had gedaan op een van mijn vroege versies. Een paar "trucs" die ik had bedacht, werkten in de nieuwe opzet niet meer.

Uiteindelijk de hele sketch weer met het oorspronkelijke idee als basis, opnieuw opgebouwd.
Ondanks wat tegenslagen (zoals: = en == zijn in de gebruikte programmeertaal verschillende dingen die je niet door elkaar moet halen), werkt het nu naar wens, ik vind zelfs beter dan voorheen. In elk geval heeft de sketch meer structuur.

Ook heb ik een printje gemaakt dat op de Arduino geklikt kan worden en waarop de seinen geplugd kunnen worden en een aansluting zit voor het DCC-signaal. Ook hier zat niet alles mee. De aansluitpinnen van de Viessmann-seinen hebben een 2mm-raster, bij gaatjesprints is dat 2,54 mm. Maar Daan deed me daar een handige oplossing voor aan de hand.
Op de Arduino zelf ook wat geks op dat gebied, daar is tussen twee pennenrijen de rastermaat ineens 3,8 mm. Vooral bij iets wat toch veel op hobbyprojecten is gericht, vind ik dat wat apart. Maar met wat bijbuigen, heb ik het wel passend gekregen.
Daarnaast zijn de eerste voorbereidingen gemaakt om met dezelfde Arduino ook het tweede sein te schakelen.
Kortom, er is nog wat werk te verzetten, maar het einde van dit projectje komt wel in zicht.



Nog een plaatje van het resultaat, gesteund door de dienstregelingen van het grootbedrijf.
Het linker sein doet nog niks anders dan twee rode lampen laten branden, het rechter sein kan alle seinbeelden laten zien die bij dit sein mogelijk zijn.

Groet, Huub
« Laatste verandering: 20 November 2019, 20:58:13 door hubertus » Gelogd

Plettenburg, DB jaren '80 in H0
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8955


271*


WWW
« Antwoord #1044 Gepost op: 20 November 2019, 20:54:02 »

.....werkende seinen levert punten op.

 Grin  Duim omhoog
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
hubertus
Hero Member

Online Online

Berichten: 8799


WWW
« Antwoord #1045 Gepost op: 21 November 2019, 14:40:24 »

Ook het tweede sein werkt nu, allebei met dezelfde Arduino.
Gewoon heel simpel alle programmaregels voor het eerste sein gekopieerd en aangepast voor het tweede sein.
Ter leering ende vermaeck zal ik nog wel eens kijken of er wat van die regels kan worden samengevoegd, maar voorlopig werkt het goed. Nog een paar kleine aanpassingen en dan kan het spul op de baan gezet gaan worden. Slechts een klein probleem, ik heb geen logische plek waar ik dit portaal kwijt kan, gevolg van aangepaste plannen in de loop der jaren.

Als bewijs nog een filmpje met een paar seinbeelden.
Hierbij is ook iets te zien van de zo te horen wat verkouden seinhuiswachter, die blijkbaar nog niet vaak wissels heeft omgezet met een multimaus.  Grin
Gelogd

Plettenburg, DB jaren '80 in H0
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8955


271*


WWW
« Antwoord #1046 Gepost op: 21 November 2019, 14:48:47 »

Slechts een klein probleem, ik heb geen logische plek waar ik dit portaal kwijt kan, gevolg van aangepaste plannen in de loop der jaren.

  Dat wordt de baan aanpassen aan het portaal...
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
Noordwaarts
Hero Member

Offline Offline

Berichten: 17507


318*


« Antwoord #1047 Gepost op: 21 November 2019, 14:49:43 »

Fraai seinportaal, dat verdient een plek op je baan!

Slechts een klein probleem, ik heb geen logische plek waar ik dit portaal kwijt kan, gevolg van aangepaste plannen in de loop der jaren.

Dus weer een spooraanpassing?

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
Noordwaarts
Hero Member

Offline Offline

Berichten: 17507


318*


« Antwoord #1048 Gepost op: 21 November 2019, 14:50:41 »

Dat wordt de baan aanpassen aan het portaal...

Ha ha! Twee zielen, één gedachte.

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
dneijenhuis
Hero Member

Offline Offline

Berichten: 1700


HCC!m-IG


« Antwoord #1049 Gepost op: 21 November 2019, 16:26:12 »

De Arduino spacing is een foutje uit het eerste ontwerp dat ze zo gelaten hebben om compatible te blijven met alle boards , 0.16”  ipv 0.15” of 0.2”  :Smiley
Truuk is om eerst de headers in de UNO te steken en dan het gaatjes board erop te wurmen. Vervolgens solderen.
Verder meesterlijke vorderingen, petje af  Duim omhoog

Daan
Gelogd

NI
Pagina's: 1 ... 68 69 [70] 71 72 ... 171   Omhoog
Print
Modelspoorwijzer.net - ForumAlgemeenMijn baanTopic: Irgendwo in Deutschland
« vorige volgende »
Ga naar: