Pagina 1 van 1
Puzzelmodelspoorbaan
Geplaatst: 15 apr 2025 20:55
door kootje007
Zoals al een aangekondigd in
Puzzelmodelspoorbaan wil ik een puzzelbaan gaan maken. Linkerzijde de Inglenook die al vaker hier op het forum voorbij is gekomen en rechts de Timesaver.
Het wordt een klein baantje met knoppen om de loc te laten rijden, wissels om te zetten en waarschijnlijk ook om te kunnen ontkoppelen. Alles moet heel simpel zodat kinderen ermee kunnen puzzelen.
Ondertussen is de rails binnen (peco code 80) en de wissels komen er binnenkort aan, iets met verkeerd besteld.
Vandaag kwam de Arduino Mega binnen waarmee ik vanavond direct stappen gemaakt heb. Dcc-ex is hier ook al vaker op het forum voorbij gekomen en dat wilde ik graag gebruiken voor deze baan zodat ik niet steeds de z21 van de grote baan hoef te lenen.
Grote voordeel van de Arduino is ook dat je er makkelijk de knoppen op kunt aansluiten en vervolgens met Ex-Rail acties aan kan knopen.
Ik heb genoeg ervaring met Arduino's maar dit was mijn eerste Mega. Met de EX-installer klik je er makkelijk doorheen om vervolgens met de webinterface een loc te kunnen laten rijden.
Vervolgens in ex-rail gedoken en dat stelt ook niet zoveel voor, tenminste niet wat ik nu nodig heb. Een sequence per knopje.
Hier een filmpje, ik heb de knopjes nog niet aangesloten dus ik loop te hannessen met een draadje, maar het gaat even om het idee.
Nu nog even bekijken hoe ik het kan maken dat ik ook met andere locs kan rijden. Ik zou de locs waarmee ik wil rijden kunnen invoeren (commando ROSTER) en dan voor elke loc een knopje kunnen maken. Wellicht met een draaiknop met verschillende standen die dan een SEQUENCE activeert en de loc 'activeert'.
Re: Puzzelmodelspoorbaan
Geplaatst: 16 apr 2025 07:34
door deBult
Volg modus aan. Beginner.
Hier ook plannen om van mijn 2e baan een rangeeropstelling te maken.
Het Kof III locje met automatische koppelingen is besteld.
De vraag over het hoe en waarom van de Inglenook? gesteld in een van de andere draadjes.
De timesaver moet ik nog doorgronden.
Groet, deBult
Re: Puzzelmodelspoorbaan
Geplaatst: 18 apr 2025 18:12
door kootje007
Weer even beziggeweest, knopjes even simpel aangesloten en zo geprogrammeerd dat de trein rijdt zolang de knop vastgehouden wordt. De lichtsluis ligt al klaar om aangesloten te worden. Aangezien de baan voor kinderen is komt er aan elke einde van de rails een lichtsluis die de trein laat stoppen zodat er geen stootblokken geramd worden.
De wissels komen als het goed is donderdag binnen.
Re: Puzzelmodelspoorbaan
Geplaatst: 18 apr 2025 18:25
door deBult
Goed doordacht en ziet er netjes uit Marco.
MVG deBult
Re: Puzzelmodelspoorbaan
Geplaatst: 21 apr 2025 09:54
door kootje007
Zojuist eens de MTB MP1 wisselaandrijving aangesloten op de DCC-EX centrale. Ik zat even te bedenken hoe ik dat ging doen. Het originele plan was om het niet via de centrale te doen maar via schakelaars rechtstreeks op de MP1.
Via de centrale is leuker omdat je dan makkelijker seinen kunt toevoegen later, en als je de centrale inschakelt kun je de wissels ook weer in de startpositie zetten etc.
Dus een relais gepakt en die aangesloten, even uitzoeken hoe en het is dit geworden:
MP1 poz1 aan Normally Closed op de relay module. Poz2 aan Normally Open op de relay module. MP1 common aan de +12v van de travo. De common van de relay module aan de massa van de travo. En de relay module vervolgens aan de 5v/gnd en IN1 aan een lege poort van de Arduino Mega. Dan is het een kwestie van PIN_TURNOUT(1, 53) IN EX-RAIL opgeven waarbij 1 een uniek id van de wissel is en 53 het poortje waar het relais op aangesloten zit.
En dan kun je met THROW(1) en CLOSE(1) de wissel omgooien.
Dat vervolgens in een SEQUENCE met een AFTER() om het achter een knopje te zetten om te activeren.
Erg leuk! Ik ga het omzetten van het wissel met 1 knopje doen, de SEQUENCE kijkt met IFCLOSED naar de status van de wissel. Ik koppel er een tweetal ledjes aan die aangeven of de wissel op rechtdoor of afbuigen staat.
Ik maak gebruik van een relaisbordje met 2 relais erop, dus ik kan met een bordje 2 wissels aansluiten.
Re: Puzzelmodelspoorbaan
Geplaatst: 21 apr 2025 10:39
door Dré
Hi Marco,
Goed bezig met de Arduino centrale

.
Altijd leuk om te zien hoe anderen met ermee omgaan.
Ik vind het ook zo leuk aan DCC-EX en EX-RAIL dat er zoveel mogelijkheden zijn.
Om zo'n relaisbordje te schakelen gebruik ik de SET(53) en RESET(53) functie.
Bij SET wordt de uitgang hoog en bij RESET weer laag en hiermee wordt het relais aan of uit gezet.
Is wel afhankelijk van het type bordje, bij het ene type gaat het relais aan bij "hoog" en het andere type juist aan bij "laag".
Er zijn ook relaisbordjes waarmee men dmv een jumper kan kiezen tussen hoog of laag aan.
Dré
Re: Puzzelmodelspoorbaan
Geplaatst: 21 apr 2025 16:36
door kootje007
SET en RESET kan inderdaad ook. Ik vond het wel mooi om THROW en CLOSE te gebruiken omdat het om een wissel gaat.
Mijn code ziet er zo uit, ik gebruik verschillende .h bestanden om overzicht te houden.
myButtons.h:
Code: Selecteer alles
//-------------------------------------------------
//--- BUTTONS -------------------------------------
//-------------------------------------------------
ALIAS(BTN_FWD, 39)
// 40 is waarschijnlijk stuk.
ALIAS(BTN_REV, 41)
ALIAS(BTN_LIGHTS, 30) // ,43)
ALIAS(SENSOR1, 45)
ALIAS(BTN_TURNOUT1, 43)
ALIAS(BTN_TURNOUT2, 44) // not connected yet.
myButtons.h
Code: Selecteer alles
PIN_TURNOUT(TURNOUT1, 53, "Wissel 1")
PIN_TURNOUT(TURNOUT2, 52, "Wissel 2")
mySequences.h
Code: Selecteer alles
//-------------------------------------------------
//--- SEQUENCES -----------------------------------
//-------------------------------------------------
ALIAS(SEQ_FWD, 1)
ALIAS(SEQ_REV, 2)
ALIAS(SEQ_LIGHTS, 3)
ALIAS(SEQ_AUTOSTOP, 4)
ALIAS(SEQ_TURNOUT1, 5)
ALIAS(SEQ_TURNOUT2, 6)
ALIAS(SEQ_INITIALIZE_ACTIVE_TRAIN, 98)
ALIAS(SEQ_INITIALIZATION, 99)
//-------------------------------------------------
//--- SEQUENCE: INITIALIZATION---------------------
//-------------------------------------------------
SEQUENCE(SEQ_INITIALIZATION)
PRINT(">> CLOSING ALL TURNOUTS.")
CLOSE(TURNOUT1)
CLOSE(TURNOUT2)
RETURN
SEQUENCE(SEQ_INITIALIZE_ACTIVE_TRAIN)
PRINT(">> SENDING ACTIVE TRAIN TO SEQUENCES.")
SENDLOCO(ACTIVE_TRAIN,SEQ_FWD)
SENDLOCO(ACTIVE_TRAIN,SEQ_REV)
SENDLOCO(ACTIVE_TRAIN,SEQ_LIGHTS)
SENDLOCO(ACTIVE_TRAIN,SEQ_AUTOSTOP)
RETURN
//-------------------------------------------------
//--- SEQUENCE: FORWARD ---------------------------
//-------------------------------------------------
SEQUENCE(SEQ_FWD)
AUTOSTART
AT(BTN_FWD)
PRINT(">> FORWARD.")
FWD(MAX_SPEED_FWD)
AT(-BTN_FWD)
STOP
PRINT(">> STOP.")
FOLLOW(SEQ_FWD)
//-------------------------------------------------
//--- SEQUENCE: FORWARD ---------------------------
//-------------------------------------------------
SEQUENCE(SEQ_REV)
AUTOSTART
AT(BTN_REV)
REV(MAX_SPEED_REV)
PRINT(">> REVERSE")
AT(-BTN_REV)
STOP
PRINT(">> STOP")
FOLLOW(SEQ_REV)
//-------------------------------------------------
//--- SEQUENCE: LIGHTS ----------------------------
//-------------------------------------------------
SEQUENCE(SEQ_LIGHTS)
AUTOSTART
AFTER(BTN_LIGHTS, 0)
FTOGGLE(0)
PRINT(">> HEADLIGHT TOGGLE")
FOLLOW(SEQ_LIGHTS)
//-------------------------------------------------
//--- SEQUENCE: AUTO-STOP -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_AUTOSTOP)
AUTOSTART
AT(SENSOR1)
STOP
PRINT(">> STOP! END OF TRACK!")
FOLLOW(SEQ_AUTOSTOP)
//-------------------------------------------------
//--- SEQUENCE: TURNOUT 1 -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_TURNOUT1)
AUTOSTART
AFTER(BTN_TURNOUT1, 0)
IFCLOSED(TURNOUT1)
PRINT(">> THROW TURNOUT1")
THROW(TURNOUT1)
ELSE
PRINT(">> CLOSE TURNOUT1")
CLOSE(TURNOUT1)
ENDIF
FOLLOW(SEQ_TURNOUT1)
//-------------------------------------------------
//--- SEQUENCE: TURNOUT 2 -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_TURNOUT2)
AUTOSTART
AFTER(BTN_TURNOUT2, 0)
IFCLOSED(TURNOUT2)
PRINT(">> THROW TURNOUT2")
THROW(TURNOUT2)
ELSE
PRINT(">> CLOSE TURNOUT2")
CLOSE(TURNOUT2)
ENDIF
FOLLOW(SEQ_TURNOUT2)
Dit wordt ingeladen in de
myAutomation.h:
Code: Selecteer alles
#include "myLocomotives.h"
#include "myTurnouts.h"
#include "myButtons.h"
#include "mySettings.h"
#include "mySequences.h"
//-------------------------------------------------
//--- STARTUP -------------------------------------
//-------------------------------------------------
AUTOSTART
POWERON
CALL(SEQ_INITIALIZATION)
CALL(SEQ_INITIALIZE_ACTIVE_TRAIN)
DONE
Ik maak veel gebruik van ALIAS zodat de code clean blijft en ik niet al die regels door moet akkeren als er ergens een pin wijzigt.
Allereerst wordt de SEQUENCE 'SEQ_INITIALIZATION' aangeroepen die de wissels in de beginstand zet (rechtdoor). Vervolgens wordt de actieve trein gekoppeld aan de SEQUENCES die iets met rijden doen. De oplettende kijker ziet dat ik even de knop van de verlichting heb gebruikt voor een wissel, omdat ik nog maar 3 knopjes aangesloten heb.
Alles zit volgens dit schema aangesloten:

(ik kreeg de MP1 niet mooi erin, dus even een ander component gepakt hiervoor. Poorten zijn vlnr: poz2, (+)com, poz1.)
Wissel 2 zit niet in het schema, maar dat is een kopie van hoe wissel 1 aangesloten is.
Ondertussen heb ik de baandelen compleet en een plaat hout gehaald, dus hopelijk kan ik morgen de baan uitleggen en de plaat hout op maat zagen zodat ik ook de lichtsluizen kan gaan plaatsen en dergelijke. Nu ligt alles los op het bureau waardoor ik de computer ook lastig kan gebruiken

.
Re: Puzzelmodelspoorbaan
Geplaatst: 22 apr 2025 13:34
door kootje007
Re: Puzzelmodelspoorbaan
Geplaatst: 22 apr 2025 18:46
door kootje007
Vanavond even doorgepakt met rails leggen, en dan ziet het er direct gaaf uit.
Even een handige doorverbinder gemaakt, ik het midden doorgeslepen dus 2x 5 aansluitingen die aan elkaar zitten.
Straks eens de DCC-EX aansluiten en misschien de wisselaandrijvingen monteren.
Re: Puzzelmodelspoorbaan
Geplaatst: 22 apr 2025 19:52
door Momfer
kootje007 schreef: ↑15 apr 2025 20:55
====8><----
Nu nog even bekijken hoe ik het kan maken dat ik ook met andere locs kan rijden. Ik zou de locs waarmee ik wil rijden kunnen invoeren (commando ROSTER) en dan voor elke loc een knopje kunnen maken. Wellicht met een draaiknop met verschillende standen die dan een SEQUENCE activeert en de loc 'activeert'.
Als je
AUTOMATION gebruikt ipv
SEQUENCE, kun je via je ROSTER een lok selecteren (kan natuurlijk ook via een knop, iets meer programmeren

)
zie ook
Type of Sequences
Re: Puzzelmodelspoorbaan
Geplaatst: 22 apr 2025 22:02
door kootje007
Klopt, maar dan moet je wel een Throttle gebruiken volgens mij. Ik doe alles met knoppen. Misschien dat ik een stuk spoor aansluit op de programmeeraansluiting. Dan kan ik daar een loc opzetten, op een knop drukken om READ_LOCO uit te voeren.
Vanavond ook de MP1 aandrijving onder de baan geschroeft. Op dit moment zit het veertje nog in de wissel, ik twiifel of ik die er nog uit haal. De wissel gaat prima om en door veertje drukt ie goed tegen de rails aan.
Nu moet de centrale er nog onder waarbij ik rekening moet houden met de plek voor de ontkoppelmagneten.
Voor nu even simpel aangesloten en de baan werkt goed, treintje rijdt mooi!
Re: Puzzelmodelspoorbaan
Geplaatst: 23 apr 2025 22:43
door kootje007
Vanavond alles eens onder de baan geschroefd en netjes aangesloten. Vergeten een foto te maken dus die komt morgen.
Heb een okkie toegevoegd waarmee alles aangesloten is zodat ik ook bezetmelding heb. Had hem liggen en dit leek mij handig voor de toekomst, wellicht komt er nog een module aan zodat er straks automatisch gependeld kan worden.
Heb de baan ook in iTrain voor elkaar, niet echt nodig maar handig om de bezetmelders te testen. Op 1 wissel gaat ie nog niet lekker, nog even maar kijken. De wisselaandrijving werkt nu ook, tijd mee aan het knooien geweest om ze via iTrain te kunnen laten schakelen. In mySetup.h dien je de pinnen waarmee het relais bediend wordt als output te definieren (en de pinnen waar de okkie opzit als input) met SETUP("Z id pin 0"). Dat had ik wel gelezen en gedaan maar werken ho maar.
Uiteindelijk met JMRI PanelPro uitgelezen en die zag de outputs niet. Uiteindelijk daarin toegevoegd en opgeslagen. Toen werkte alles.
Uiteindelijk vond ik net dat je na het zetten van de outputs ook nog het commando E moet uitvoeren zodat de outputs weggeschreven worden naar de EEPROM. Dat morgen maar even toevoegen.
Re: Puzzelmodelspoorbaan
Geplaatst: 25 apr 2025 21:49
door kootje007
Ondertussen de knopjes in de baan gemaakt en alles aangesloten. Alleen de ontkoppelaars moeten nog.
Erg leuk! We kunnen er nu al mee spelen, het ontkoppelen zal dan even met een stokje of iets dergelijks moeten.
Hier een filmpje dat het operationeel is:
Re: Puzzelmodelspoorbaan
Geplaatst: 26 apr 2025 19:24
door Dré
Marco,
Lekker in de weer geweest met de codering, ziet er deftig uit

.
Handig gedaan ook met die alias en include commando's.
Ikzelf heb het wat simpeler gedaan (oftewel net zolang klooien tot het werkte) met deze regels.
Hiermee kan de lok voor en achteruit worden gereden.
Het langzaam optrekken en afremmen is met de cv's van de decoder ingesteld.
Code: Selecteer alles
AUTOSTART
POWERON
DONE
SEQUENCE(1)
AUTOSTART
SETLOCO(18)
AT(38)
FWD(50)
AFTER(38)
STOP
FOLLOW(1)
SEQUENCE(2)
AUTOSTART
SETLOCO(18)
AT(39)
REV(50)
AFTER(39)
STOP
FOLLOW(2)
Ben benieuwd hoe jouw ontkoppelaar er uit gaat zien.
Zal nog wel lastig worden om precies om op de goede plek tot stilstand te komen.
Re: Puzzelmodelspoorbaan
Geplaatst: 26 apr 2025 21:50
door kootje007
Dat wordt nog even puzzelen inderdaad, de magneten komen deze week binnen.
Vandaag alle lichtsluizen gemonteerd, dat werkt ook mooi. Komt een loc of wagon tussen de sluis dan wordt er een noodstop gemaakt en staat alles net voor de stootbuffer stil. Nodig want kinderen

. Vervolgens rijdt de trein iets terug.
Re: Puzzelmodelspoorbaan
Geplaatst: 27 apr 2025 19:26
door jw82
Leuk om te zien! En mooie code inderdaad, werken met aliassen en includes doe ik ook bij voorkeur voor het overzicht en beheer(s)baarheid.
Re: Puzzelmodelspoorbaan
Geplaatst: 03 mei 2025 21:04
door kootje007
Ik ben er nu uit hoe ik met een 5-standenschakelaar kan wisselen tussen voorgeprogrammeerde locs.
Ik heb er flink over nagedacht, kreeg het ook wel voor elkaar alleen bleef de 'vorige' loc ook reageren op de knoppen. Ik zal niet zo snel 2 locs op de baan zetten tijdens het spel, maar toch, dat moest beter. Want het is wél leuk áls het kan! Dus maar even op de Discord van DCC-EX een vraag gesteld met mijn code erbij. En binnen enkele minuten was er al een antwoord. Gebruik STASH en PICKUP_STASH.
Oftewel:
Code: Selecteer alles
ONBUTTON(BTN_LOCO1) ESTOP SETLOCO(BR218) STASH(STASH_LOCO) DONE
ONBUTTON(BTN_LOCO2) ESTOP SETLOCO(MAN) STASH(STASH_LOCO) DONE
ONBUTTON(BTN_FWD) PICKUP_STASH(STASH_LOCO) FWD(MAX_SPEED_FWD) SETLOCO(0) DONE
ONBUTTON(BTN_REV) PICKUP_STASH(STASH_LOCO) REV(MAX_SPEED_REV) SETLOCO(0) DONE
ONBUTTON(-BTN_FWD) ONBUTTON(-BTN_REV) PICKUP_STASH(STASH_LOCO) STOP SETLOCO(0) DONE
Ik zat te prutsen met SEQUENCE maar met het ONBUTTON event is het allemaal nog makkelijker.
Als er op de knop BTN_LOCO1 gedrukt wordt dan wordt het adres van de BR218 ingesteld met SETLOCO. Vervolgens wordt dit adres met het STASH commando opgeslagen op de locatie STASH_LOCO (alias, gewoon een uniek nummertje).
Ga je vervolgens rijden, bv. BTN_FWD dan haalt die eerst het opgeslagen adres op met PICKUP_STASH met locatie STASH_LOCO.
De SETLOCO(0) is nodig omdat "when you get to a DONE, it thinks the loco is being handed back to a throttle but nobody is watching....So in each case you need to do SETLOCO(0) before each DONE", aldus een slimmerik op Discord.
Ik ben ook van grote SEQUENCEs naar hele korte button events gegaan. Stuk makkelijker en minder code.
Re: Puzzelmodelspoorbaan
Geplaatst: 05 mei 2025 10:27
door kootje007
Het valt nog niet mee met de magneet ontkoppelaar...alleen al het lijmen van die mini magneten aan een koppeling is enorm lastig. En dan komt het heel precies met de magneet onder de baan.
Voor nu doen we het met een grote satéprikker, en dat gaat prima voor nu, mijn dochter vind het prachtig om mee te spelen. Ik moet zeggen, het is best lastig en je moet goed in voren denken welke beweging je gaat maken.
Een andere manier is een blokje met schuine kanten omhoog drukken met een servo om te ontkoppelen. Ga ik ook eens proberen.
Re: Puzzelmodelspoorbaan
Geplaatst: 06 mei 2025 13:32
door kootje007
Een beetje aan het puzzelen qua ontkoppelen...koker 3mm messing in 4mm messing om met een servo omhoog te duwen.
Niet mijn idee maar gevonden op de interwebs. Nu servo aansluiten op de arduino, eens kijken hoe dat gaat.
Re: Puzzelmodelspoorbaan
Geplaatst: 06 mei 2025 20:59
door kootje007
Gaaf hoor, ik ben enorm fan van DCC-EX. Evenbeenbservo module aansluiten, paar servo's eraan en gaan.
Als SERVO_TURNOUT gedefinieerd zodat er genakkelijk THROW_TURNOUT gedaan kan worden.
Idee komt van:
https://modelspoor-van-frans.jouwweb.nl ... koppelrail