Doel:€250.00
Donaties:€128.00

Per saldo:€-122.00

Steun ons nu!

Laatst bijgewerkt
op 16-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Efteling spoorweg gaat elektrisch door Pauldg
Vandaag om 19:10:15
Mijn eerste H0-modeltreinbaan in aanbouw door tuurtje
Vandaag om 19:07:44
18 t/m 21 april Intermodellbau '24 Dortmund door Martin Welberg
Vandaag om 19:00:51
firm ware voor 3 D printer door jerrytrein
Vandaag om 18:58:32
NS gaat weer thuis oefenen in klanttevredenheid door MaraNCS
Vandaag om 18:40:41
Treinreizen met m'n vader door HuubvG
Vandaag om 18:35:41
DR4024 door Bert_Apd
Vandaag om 18:17:05
Dubbelom, een boekenplankspoorbaan in H0 door maartenvdb
Vandaag om 18:07:29
2e leven van een buitendienst gestelde Gesloten goederenwagen. door metpetergaathetbeter
Vandaag om 18:00:29
modulebaan jaren 60 door rudi van der Craats
Vandaag om 17:30:56
Pools diorama H0 door spoorijzer
Vandaag om 17:22:20
Decals Star TE-5933 door Martijn193
Vandaag om 17:12:11
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 17:11:06
GSS Jubileumbaantje (0e / 0n30) door spoorijzer
Vandaag om 16:59:09
Lantaarns Crafftiq op Roco Sik door Sven
Vandaag om 16:18:53
RhB modelbaan in Aanbouw die Scalettabahn Davos-Dürrboden door Hollandserhbfan
Vandaag om 15:53:47
Ronald en Wanda's "Southern Comfort" swamp layout! door Ronald Halma
Vandaag om 15:14:21
Alt Wutachbahn - Sau-Schwänzle-bahn Weizen - Zollhaus - Blumberg door Bert55
Vandaag om 15:04:46
MARDEC, de Multifunctionele ARduino dcc DECoder. door bord4kop
Vandaag om 14:45:36
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door bask185
Vandaag om 14:27:08
Bouw NTM Stationsgebouw Lemmer door Cor--24
Vandaag om 14:13:26
Bauarbeiten im gange door 741230
Vandaag om 13:29:14
Locatie van foto gezocht door Arjan6511
Vandaag om 13:18:17
MB-module: Hielan Ware door Hendrik Jan
Vandaag om 12:47:14
Toon hier je nieuwe (model-) spooraanwinst(en)... door Martijn HITV
Vandaag om 12:40:37
Mijn eerste baan, Hexental in ho. 380x 120cm door Paul1969
Vandaag om 12:11:20
ÖBB Smalspoor minibaantje in H0e door RhB-Mikey
Vandaag om 11:05:17
Toon hier je (model)TRAM foto's. door Teun
Vandaag om 11:00:26
Onlangs gespot - gefotografeerd, de foto's door Teun
Vandaag om 10:54:54
ABLOAD gaat stoppen door Bor de Wolf
Vandaag om 10:25:16
  

Auteur Topic: MARDEC, de Multifunctionele ARduino dcc DECoder.  (gelezen 352286 keer)

Servé

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1753
  • Niks kan tippen aan een E1700
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #570 Gepost op: 09 september 2016, 17:27:48 »
Met inversie ben ik nog steeds 5 pinnen kwijt, de ULN2803 vervalt dan. Ik ben er nu even mee gestopt, maar zal morgen nog eens denken of het ook met minder pinnen kan.
Als je gaat denken over een seinen-MARDEC, dan neem even contact met me op. Ik heb een manier waarop je die vervelende "tussen-seinbeelden" kunt voorkomen.
Vriendelijke groet, Servé.

Misha

  • Offline Offline
  • Berichten: 118
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #571 Gepost op: 09 september 2016, 18:01:17 »
Mensen wat word ik hier vrolijk van. ;D

Een sein Mardec vind ik ook een prima idee. Ik heb meer seinen dan andere artikelen te besturen.

En als we dan toch ons richten op het NS Seinstelsel. De lampen gloeien aan en bij uitgaan gloeien ze na.

https://www.youtube.com/watch?v=c9NEDHiAaiA

Zou wel vet gaaf zijn als dit mogelijk is met de Mardec.

Ik begrijp wel dit een behoorlijke uitdaging gaat worden voor jullie. Maar niet geschoten is altijd mis.  :)



Groetjes Misha.

Misha

  • Offline Offline
  • Berichten: 118
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #572 Gepost op: 09 september 2016, 19:12:47 »
Ik heb nog eens zitten denken over het aantal poorten en commando's.

Kun je niet handiger een timer loopje laten draaien om de led's te laten knipperen ipv een flashing state?

Wanneer een bepaalde stand met DCC adressen is gezet en de stand knipperen is gecommandeerd dan kan je toch via die loop de led aan en uit laten gaan. Of werkt dat zo niet in Arduino?

Ik ben ten slotte maar een leek op dit gebied.

Op deze manier zou je met 3 adressen 9 seinstanden kunnen instellen.

Ik heb ooit (mijn enige project tot nu toe) een flitser gemaakt met de Arduino op deze wijze.


int FLR1_State=1;
long previousMillis_FLR1 = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long Interval_FLR1= 70;           // interval at which to blink (milliseconds)

int FLR1 = 10;  // Flitser 1


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

  pinMode(FLR1, OUTPUT);     
 
}

void loop() {
 
  unsigned long currentMillis = millis();
 
   // FLITSER 1
   if(currentMillis - previousMillis_FLR1 > Interval_FLR1) {
    // save the last time you blinked the LED
    previousMillis_FLR1 = currentMillis;   
   
    switch (FLR1_State) {
    case 1:
    digitalWrite(FLR1, HIGH);   // set the LED on
    break;
    case 2:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 3:
    digitalWrite(FLR1, HIGH);   // set the LED on
    break;
    case 4:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 5:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 6:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 7:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 8:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    }
    FLR1_State=FLR1_State+1;
    if (FLR1_State > 8) {
      FLR1_State=1;
    }
    }
 
}


Groetjes Misha.

« Laatst bewerkt op: 10 september 2016, 09:46:33 door Misha »

NTeering

  • Offline Offline
  • Berichten: 1033
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #573 Gepost op: 09 september 2016, 19:30:14 »
@Servé.

Ik zal je van de week nog wel apart mailen.

@Hans
Met snelheid aanduiding bedoel je waarschijnlijk een cijferbak?
Dat is toch ook alleen maar een lampje achter een plaat met gaatjes?

Een Mardec seinspecial gaat niet alleen over 3 lichts NL seinen.
Het idee is gewoon om met max 3 dcc adressen in een 8-tal mogelijke combinaties een aantal ledjes (max 4) aan/uit/knipperend te laten zijn.
Dan heb je alle seinbeelden ter wereld lijkt me. Als 8 te weinig is heb je machinisten nodig met een universitaire opleiding.

@Misja
Zo kan het wel werken in een Arduino maar niet in een Mardec. Daar draait alles om timesharing. Hij moet immers veel zaken tegelijk doen en bijhouden waar iedere servo/accessory mee bezig is.
En dimmende lampjes? Gewoon een RC filter er voor? Met software kan het alleen met PWM aansturing.

Mvg
Nico

Misha

  • Offline Offline
  • Berichten: 118
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #574 Gepost op: 09 september 2016, 19:37:19 »
Nico,

Ik begrijp dat het dus vanwege de timing niet in een Mardec kan. Dat kan ik snappen. Ik denk er gewoon te simpel over.

Maar stel dat er wellicht een optie is/komt dat er een sein Mardec komt dan is dat toch weer een ander verhaal lijkt mij. Maar goed ik wil niet aandringen.  :)

Eerst maar eens zien hoe eea gaat werken. Succes met het verder uitwerken.  (y)


Groetjes Misha.

Bert Mengerink

  • SPOOR1HOBBY
  • Offline Offline
  • Berichten: 454
  • Het liefste stoom in module vorm
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #575 Gepost op: 09 september 2016, 22:51:58 »
Hoi Nico,

Ik ken wel Duitse seinen, welke meer dan 8 verschillende seinbeelden kunnen tonen, zoals het uitrijsein. Ik heb met 3 adressen toch nog 8 verschillende beelden kunnen creëren, maar dan zonder knipperen. Ik stuur in totaal 9 LED's aan, n.l. 2 keer Rood, 1 keer Groen, 1 keer Geel, dan 2 middel kleine Wit voor rangeren en 3 hele kleine voor de eenvoudige extra snelheidsbeperking. Dan heb ik de snelheidsbeperkingen nog niet allemaal ingebouwd, maar ik rij zelf periode 3 en dan is dat nog niet nodig. Dit alles met 5 draadjes naar de seinpaal (3 adressen plus voeding en aarde).
Dan heb ik het nog niet over een eventueel gekoppeld voorsignaal.

Groet,
Bert
Met-1 is alles groter.
Veel succes met de hobby.

NTeering

  • Offline Offline
  • Berichten: 1033
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #576 Gepost op: 10 september 2016, 08:03:10 »
Hallo Bert,

Heb je dat met een MARDEC gedaan?
Zo ja hoe ziet je configuratie er dan uit?
Lijkt me toch interessant voor anderen.

Nico

NTeering

  • Offline Offline
  • Berichten: 1033
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #577 Gepost op: 10 september 2016, 08:18:29 »
@Misha

Ik zie nu pas dat je 1 minuut na mijn reactie nog wat code hebt toegevoegd.
Tip 1: Gebruik de code tags voor code (button met #)

int delaytime;
int FLR1_State=1;
long previousMillis_FLR1 = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long Interval_FLR1= 70;           // interval at which to blink (milliseconds)

int FLR1 = 10;  // Flitser 1

void setup() {   
  Serial.begin(9600);
  pinMode(FLR1, OUTPUT);     
  delaytime = 100;
}

void loop() {
  unsigned long currentMillis = millis();
   // FLITSER 1
   if(currentMillis - previousMillis_FLR1 > Interval_FLR1)
  {
    // save the last time you blinked the LED
    previousMillis_FLR1 = currentMillis;   
   
    switch (FLR1_State)
    {
    case 1:
    digitalWrite(FLR1, HIGH);   // set the LED on
    break;
    case 2:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 3:
    digitalWrite(FLR1, HIGH);   // set the LED on
    break;
    case 4:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 5:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 6:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 7:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    case 8:
    digitalWrite(FLR1, LOW);   // set the LED on
    break;
    }
    FLR1_State=FLR1_State+1;
    if (FLR1_State > 8) FLR1_State=1;
  }
 
}

Vragen:
De variabele delaytime wordt niet gebruikt? Of heb je dat vervangen door de millis() truc.

Waarom zet je de led steeds LOW en maar twee keer HIGH? Dat zou twee korte flitsen moeten opleveren en dan even niks. Klopt dat?

Waarom gebruik je geen for-next loop?
  for (FLR1_State=1; FLR1_State<9; FLR1_State++)

Waarom zet je in de states 5 t/m 8 de led steeds LOW? Dat staat ie toch al.

Probeer het zo eens:

int FLR1_State;
unsigned long previousMillis_FLR1; // will store last time LED was updated
unsigned long currentMillis;
int Interval_FLR1= 70;           // interval at which to blink (milliseconds)
int FLR1 = 10;                   // pinnummer Flitser 1

void setup()
{   
  Serial.begin(9600);
  pinMode(FLR1, OUTPUT);     
}
void loop()
{
   // FLITSER 1
   for (FLR1_State=1; FLR1_State<9 ;FLR1_State++)
   {
     currentMillis = millis();
     if(currentMillis > previousMillis_FLR1 + Interval_FLR1)
     {
        // save the last time you blinked the LED
        previousMillis_FLR1 = currentMillis;   
        switch (FLR1_State)
        {
          case 1:
          digitalWrite(FLR1, HIGH);   // set the LED on
          break;
          case 2:
          digitalWrite(FLR1, LOW);   // set the LED off
          break;
          case 3:
          digitalWrite(FLR1, HIGH);   // set the LED on
          break;
          case 4:
          digitalWrite(FLR1, LOW);   // set the LED off
          break;
          // In states 5-8 FLR1 will remain LOW
        }
     }
   }
}


« Laatst bewerkt op: 10 september 2016, 08:48:26 door NTeering »

Misha

  • Offline Offline
  • Berichten: 118
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #578 Gepost op: 10 september 2016, 09:18:11 »
Hoi Nico,

Ik heb in het kader van beter goed gepikt dan slecht gemaakt een bestaand programmaatje aangepast en uitgebreid. Een beetje programmeren kan ik wel dus snap wat je met je For one liner bedoelt. Ziet er inderdaad simpeler uit. Ik ben nog van de oude stempel die vroeger op school nog basic geleerd heeft. One liners bestonden toen geloof ik (nog) niet. :)

Mbt de Delaytime, wat ik geplaatst heb is een snelle samenvatting van een groter deel waar deze wel in gebruikt wordt. Het gaat dan om meerdere flitsers (dubbele flits, op de grill) en zwaailichten (ronddraai effect) die off sinc moesten werken. Zie hier: https://www.youtube.com/watch?v=-qyUXT6oLok. Daar heb ik millis() voor gebruikt.

Indien er interesse is voor de gehele code wil ik hem wel hier plaatsen, maar ik wil ook je draadje niet vervuilen. :)

Bedankt voor je tips.


Groetjes Misha.


spock

  • Offline Offline
  • Berichten: 653
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #579 Gepost op: 10 september 2016, 09:28:17 »
Het switch commando heeft een paar extra mogelijkheden om het wat efficienter te maken

Orgineel:

        switch (FLR1_State)
        {
          case 1:
          digitalWrite(FLR1, HIGH);   // set the LED on
          break;
          case 2:
          digitalWrite(FLR1, LOW);   // set the LED off
          break;
          case 3:
          digitalWrite(FLR1, HIGH);   // set the LED on
          break;
          case 4:
          digitalWrite(FLR1, LOW);   // set the LED off
          break;
          // In states 5-8 FLR1 will remain LOW
        }


Kan ook zo:

        switch (FLR1_State)
        {
          case 1:
          case 3:
             digitalWrite(FLR1, HIGH);   // set the LED on
             break;
          default:
             digitalWrite(FLR1, LOW);   // set the LED off
             break;
         }

of nog compacter zonder switch

  if ((FLR1_State == 1) || (FLR1_State == 3)) digitalWrite(FLR1, HIGH);   // set the LED on
     else digitalWrite(FLR1, LOW);   // set the LED off


mvg spock

NTeering

  • Offline Offline
  • Berichten: 1033
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #580 Gepost op: 10 september 2016, 09:42:44 »
@Cok
De code kan inderdaad vaak nog handiger. Maar daar was ik nu niet op uit.

@Misha
Deze code is zeker niet zoals MARDEC werkt. Alhoewel millis() wel een grote rol speelt.
De gehele code lijkt me voor dit draadje daarom niet relevant.

Nico

Misha

  • Offline Offline
  • Berichten: 118
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #581 Gepost op: 10 september 2016, 09:50:15 »
@Spock

Bedankt voor je tips. Ik zal het nog eens bestuderen. Al is de Kraanwagen al klaar, maar meer om het programmeer technische. :)


@Nico

Helemaal mee eens.


Groetjes Misha.

Bert_Apd

  • Offline Offline
  • Berichten: 1848
  • N-Spoor DB Epoche III
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #582 Gepost op: 10 september 2016, 19:07:07 »
Hallo Servé,

Bedankt voor je uitwerking voor een sein met drie leds.
Zoals het filmpje laat zien werkt dat goed.  (y)

Klopt het dat wanneer het sein ook nog is voorzien van een cijferbak (uit, aan, knipperend) je bij jouw methode dan in totaal zeven pinnen en ook zeven DCC adressen nodig hebt?

...
Ik ben er nu even mee gestopt, maar zal morgen nog eens denken of het ook met minder pinnen kan.

Heb je nog wat kunnen bedenken voor het minimaliseren van het aantal pinnen en/of aantal DCC adressen?

Groeten,
Bert
« Laatst bewerkt op: 10 september 2016, 19:08:55 door Bert_Apd »

Goosie

  • Offline Offline
  • Berichten: 161
    • www.henkdegans.nl
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #583 Gepost op: 10 september 2016, 19:11:03 »
Hoe meer ik met de mardec bezig ben, hoe enthousiaster ik wordt!
Ik denk wel eens bij mijzelf, dat het onbegrijpelijk is dat de reguliere handel nooit met zo iets gekomen is.
Je ziet het ook met loc decoders, alleen ESU levert een goed en gebruikers vriendelijk stuk software om je decoder in te stellen.
De rest verwacht dat je dit maar moet doen door het instellen van cv waarden via je centrale.
Ze verwachten dan gelijk maar even, dat iedereen alles weet over geheugen adressen en digitale techniek.
Ze willen je laten overstappen op digitaal rijden, maar maken de instap veel te moeilijk.

En dat is nu de kracht van de mardec, nu met versie drie is instap al helemaal simpel geworden.
Ik vind dat Nico hier een geweldig stuk werk (lees tijd) en professionaliteit in gestoken heeft!
Mijn complimenten Nico!
Niks meer met de IDE van doen, gewoon klikken en de software wordt naar de arduino geladen en naderhand start gelijk Putty op.
De commando structuur heb je snel door en instellen van snelheden enz. is kinderspel geworden.
En als je dan kijkt wat het kost blijf je helemaal lachen, hiermee wordt de hobby ook nog eens een beetje betaalbaar!
Een arduino meer of minder onder de baan, kan je de kop niet kosten.
En nog belangrijker, je bent enorm flexibel.
Want je hoeft geen 12 servo's aan te sluiten, je kan er bijvoorbeeld vier aansluiten en de rest van de poorten gebruiken voor verlichting enz.
Niks geen en een servo decoder en een schakel decoder, je doet alles met een mardec.
Het is mijn ervaring dat bestellen in China super werkt, ik had mijn laatste vijf arduino's binnen twee weken in huis.
Even onder de 22 euro blijven, dan heb je geen gezeur met douane enz.

Ik voorzie nog een grote toekomst voor de arduino in de modelspoor wereld, met dank aan mensen als Ruud Boer die hier al jaren mee bezig is, en Nico(en ik vergeet er hier vast een paar!)
« Laatst bewerkt op: 10 september 2016, 19:22:37 door Goosie »
Met vriendelijke groet,

Henk de Gans

Servé

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1753
  • Niks kan tippen aan een E1700
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #584 Gepost op: 10 september 2016, 19:16:28 »
Klopt het dat wanneer het sein ook nog is voorzien van een cijferbak (uit, aan, knipperend) je bij jouw methode dan in totaal zeven pinnen en ook zeven DCC adressen nodig hebt?
Juist (y)

Verder nog niet over nagedacht, had vandaag een Scouting-activiteit. Later vanavond zet ik de denkpet weer op ;D

Vriendelijke groet, Servé.