Starten met EXRAIL (onderdeel van DCC-EX, Arduino DCC en DC centrale)
Starten met EXRAIL (onderdeel van DCC-EX, Arduino DCC en DC centrale)
Naar aanleiding van vragen/verzoeken in mijn kerstbaandraadje, zal ik in dit draadje stap voor stap uitleg geven over de EXRAIL automatisering ervan.
Wat is EXRAIL
EX-RAIL staat voor “EXtended Railroad Automation Instruction Language”, met andere woorden een scripttaal voor het automatiseren van een DCC++EX aangestuurde baan. Er is weinig tot geen kennis van programmeren voor nodig is, iedereen kan het (misschien met een beetje hulp) leren.
EXRAIL is onderdeel van de aankomende versie van DCC++EX en is momenteel (in BETA) beschikbaar vanaf de laatste ontwikkelversie.
Wie vooraf meer wil weten over EXRAIL kan terecht op de DCC++Ex website voor een (engelstalige) inleiding en de referentie.
Wat laat ik zien van EXRAIL
Ik ga aan de hand van mijn eenvoudige kerstbaantje, welke bestaat uit een kleine ovaal met een opstelmogelijkheid, stap voor stap beschrijven hoe ik deze heb geautomatiseerd.
De baan heeft een 6-tal sensoren (voor 3 blokken) en 2 wissels, bediend met standaard Fleischmann wisselmotoren (spoelen dus). In de tekening zijn de gebruikte Arduino MEGA pins weergegeven. De pins van de wissels in geel, van de sensoren in groen.
Dit is voor nu even de eerste informatie. Als mijn kerstbaantje klaar is voor onder de kerstboom, zal ik hier de verdere stappen beschrijven en eventuele vragen proberen te beantwoorden.
Ik zou het leuk vinden als geïnteresseerden zich hieronder even willen melden op de een of andere manier dan weet ik of er interesse voor deze "mini-workshop" is.
Wat is EXRAIL
EX-RAIL staat voor “EXtended Railroad Automation Instruction Language”, met andere woorden een scripttaal voor het automatiseren van een DCC++EX aangestuurde baan. Er is weinig tot geen kennis van programmeren voor nodig is, iedereen kan het (misschien met een beetje hulp) leren.
EXRAIL is onderdeel van de aankomende versie van DCC++EX en is momenteel (in BETA) beschikbaar vanaf de laatste ontwikkelversie.
Wie vooraf meer wil weten over EXRAIL kan terecht op de DCC++Ex website voor een (engelstalige) inleiding en de referentie.
Wat laat ik zien van EXRAIL
Ik ga aan de hand van mijn eenvoudige kerstbaantje, welke bestaat uit een kleine ovaal met een opstelmogelijkheid, stap voor stap beschrijven hoe ik deze heb geautomatiseerd.
De baan heeft een 6-tal sensoren (voor 3 blokken) en 2 wissels, bediend met standaard Fleischmann wisselmotoren (spoelen dus). In de tekening zijn de gebruikte Arduino MEGA pins weergegeven. De pins van de wissels in geel, van de sensoren in groen.
Dit is voor nu even de eerste informatie. Als mijn kerstbaantje klaar is voor onder de kerstboom, zal ik hier de verdere stappen beschrijven en eventuele vragen proberen te beantwoorden.
Ik zou het leuk vinden als geïnteresseerden zich hieronder even willen melden op de een of andere manier dan weet ik of er interesse voor deze "mini-workshop" is.
Laatst gewijzigd door Momfer op 01 mei 2024 20:24, 4 keer totaal gewijzigd.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met DCC++Ex EXRAIL
Hallo Rico,
Hoewel ik zelf (nog) geen Arduino heb, blijf ik dit wel volgen.
Ik ga alvast de door jou genoemde website bekijken. De Engelse taal is voor mij gelukkig geen probleem.
m.vr.gr.
Hans
Hoewel ik zelf (nog) geen Arduino heb, blijf ik dit wel volgen.
Ik ga alvast de door jou genoemde website bekijken. De Engelse taal is voor mij gelukkig geen probleem.
m.vr.gr.
Hans
XPS, Fleischmann Piccolo, AnyRail, iTrain
Mijn baan op dit forum: XPS-baan
Mijn baan op dit forum: XPS-baan
Re: Starten met DCC++Ex EXRAIL
Arduino heeft sinds kort mijn interesse om er een spoorwegovergang mee te bedienen bedienen: beweging, licht en geluid. Daar heb ik nu al de info voor.
Maar graag volgende ik het Exrail gebeuren!
Maar graag volgende ik het Exrail gebeuren!
Met vriendelijke groet, Jaap Kolenberg
Baan "Reichenbach e.o." Duits tijdperk 3, Intellibox-1, Digikeijs en Rosoft decoders, iTrain, Anyrail, Sprog2, Arduino
Foto's, filmpjes en bouwbeschrijvingen op https://www.kolenberg.eu
Baan "Reichenbach e.o." Duits tijdperk 3, Intellibox-1, Digikeijs en Rosoft decoders, iTrain, Anyrail, Sprog2, Arduino
Foto's, filmpjes en bouwbeschrijvingen op https://www.kolenberg.eu
Re: Starten met DCC++Ex EXRAIL
Hardware benodigdheden:
- Arduino MEGA 2560 (Een Arduino UNO heeft te weinig geheugen)
- L298 Motorschild (bij voorkeur een originele Arduino, DEEK Robot L298 motorschild of DIY MORE L298 Moterschild)
- Voeding, USB-kabel, dupont/breadboard kabeltjes/snoertjes.
Optioneel:
- Een Mega Sensorshield is aan te raden, maar is niet noodzakelijk. Het maakt het bedraden makkelijker,
Op de site staan de aanbevolen onderdelen duidelijk vermeld. Als je daaruit je componenten kiest zit je altijd safe!
Software:
- Arduino IDE (hoe te installeren valt buiten de scope van dit draadje)
- DCC++EX (laatste ontwikkelversie)
Wat ikzelf gebruik
Ik gebruik een DEEK Robot L298 motorschild.
Voor het sensorschild heb ik gekozen voor het RobotDyn Sensorshield Omdat het van goede bouwkwaliteit is en de pinnen bruikbaar blijven als het motorschild erbovenop is gemonteerd.
Via de links kun je zien hoe de schilden eruit zien, ik heb naar de kostprijs gekeken. Een zoektocht levert wellicht goedkopere alternatieven op. Ook is het natuurlijk prima leverbaar in de EU, bv via conrad, opencircuit, kiwi of reichelt.
Samenstellen van de hardware
Voor het samenbouwen van de hardware verwijs ik naar de duidelijke video van Albert. Albert laat ook het gebruik van de automatische installer zien, welke uitermate geschikt is om DCC++Ex voor de eerste keer te proberen.
In een andere video van Albert kun je zien hoe het samenstel eruit ziet met het sensorschild. Deze video is ook geschikt om te kijken hoe je sensoren aansluit op de Arduino.
Tot zover. Volgende keer meer!
- Arduino MEGA 2560 (Een Arduino UNO heeft te weinig geheugen)
- L298 Motorschild (bij voorkeur een originele Arduino, DEEK Robot L298 motorschild of DIY MORE L298 Moterschild)
- Voeding, USB-kabel, dupont/breadboard kabeltjes/snoertjes.
Optioneel:
- Een Mega Sensorshield is aan te raden, maar is niet noodzakelijk. Het maakt het bedraden makkelijker,
Op de site staan de aanbevolen onderdelen duidelijk vermeld. Als je daaruit je componenten kiest zit je altijd safe!
Software:
- Arduino IDE (hoe te installeren valt buiten de scope van dit draadje)
- DCC++EX (laatste ontwikkelversie)
Wat ikzelf gebruik
Ik gebruik een DEEK Robot L298 motorschild.
Voor het sensorschild heb ik gekozen voor het RobotDyn Sensorshield Omdat het van goede bouwkwaliteit is en de pinnen bruikbaar blijven als het motorschild erbovenop is gemonteerd.
Via de links kun je zien hoe de schilden eruit zien, ik heb naar de kostprijs gekeken. Een zoektocht levert wellicht goedkopere alternatieven op. Ook is het natuurlijk prima leverbaar in de EU, bv via conrad, opencircuit, kiwi of reichelt.
Samenstellen van de hardware
Voor het samenbouwen van de hardware verwijs ik naar de duidelijke video van Albert. Albert laat ook het gebruik van de automatische installer zien, welke uitermate geschikt is om DCC++Ex voor de eerste keer te proberen.
In een andere video van Albert kun je zien hoe het samenstel eruit ziet met het sensorschild. Deze video is ook geschikt om te kijken hoe je sensoren aansluit op de Arduino.
Tot zover. Volgende keer meer!
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hoi Rico,
Ik ben zeker geïnteresseerd.
Groetjes,
Gerard
Ik ben zeker geïnteresseerd.
Groetjes,
Gerard
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Top, Gerard. Bedankt voor je berichtje!
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
-
- Berichten: 410
- Lid geworden op: 05 jan 2021 20:06
- Locatie: Omgeving Rotterdam mijn geboorte stad
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hallo Rico,
Zoals bij het kerstbaantje en via PB al duidelijk gemaakt ben ik zeer geïnteresseerd.
Zal het dus gaan volgen.
Marcel
Zoals bij het kerstbaantje en via PB al duidelijk gemaakt ben ik zeer geïnteresseerd.
Zal het dus gaan volgen.
Marcel
Groeten Marcel V
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hallo Rico,
Mooi uitgelegd.
De filmpjes van Albert zijn ook heel verhelderend. En nu weet ik ook hoe ik Arduino moet uitspreken
m.vr.gr.
Hans
Mooi uitgelegd.
De filmpjes van Albert zijn ook heel verhelderend. En nu weet ik ook hoe ik Arduino moet uitspreken
m.vr.gr.
Hans
XPS, Fleischmann Piccolo, AnyRail, iTrain
Mijn baan op dit forum: XPS-baan
Mijn baan op dit forum: XPS-baan
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
EXRAIL, myAutomation.h aanmaken en een eerste test
Hopelijk komt iedereen eruit en is DCC++EX geïnstalleerd en werkend.
Dan zijn we klaar om aan de slag te gaan met EXRAIL!
Om EXRAIL te gebruiken, moeten we in de map waar de software van DCC++EX staat een bestandje maken met de naam myAutomation.h De locatie van de DCC++EX Arduino sketch is meestal te vinden in de map "jouw gebruikersnaam"\documenten\Arduino\CommandStation-EX. In de map staat een voorbeeldbestand genaamd myAutomation.example.h met voorbeelden. Als er nog geen myAutomation.h bestand is, dan kun je die hier aanmaken, of het voorbeeldbestand hernoemen.
Als dat gedaan is, kun je klikken op "CommandStation-EX.ino", waarna de Arduino IDE opent.Op de hoogte van de tabs vind je aan de rechterkant een pijltje, waarmee je door alle geopende bestanden kunt scrollen. Daar zoek je "myAutomation.h" op.
Lukt deze manier niet goed, dan kun je ook met CTRL+TAB door de bestanden scrollen, totdat je linksbovenin myAutomation.h ziet, zoals hieronder te zien is.
Volgende keer gaan we verder met de eerste EXRAIL opdrachten
Dan zijn we klaar om aan de slag te gaan met EXRAIL!
Om EXRAIL te gebruiken, moeten we in de map waar de software van DCC++EX staat een bestandje maken met de naam myAutomation.h De locatie van de DCC++EX Arduino sketch is meestal te vinden in de map "jouw gebruikersnaam"\documenten\Arduino\CommandStation-EX. In de map staat een voorbeeldbestand genaamd myAutomation.example.h met voorbeelden. Als er nog geen myAutomation.h bestand is, dan kun je die hier aanmaken, of het voorbeeldbestand hernoemen.
Als dat gedaan is, kun je klikken op "CommandStation-EX.ino", waarna de Arduino IDE opent.Op de hoogte van de tabs vind je aan de rechterkant een pijltje, waarmee je door alle geopende bestanden kunt scrollen. Daar zoek je "myAutomation.h" op.
Lukt deze manier niet goed, dan kun je ook met CTRL+TAB door de bestanden scrollen, totdat je linksbovenin myAutomation.h ziet, zoals hieronder te zien is.
Volgende keer gaan we verder met de eerste EXRAIL opdrachten
Laatst gewijzigd door Momfer op 11 feb 2022 17:15, 1 keer totaal gewijzigd.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
De eerste stappen in EXRAIL's myAutomation.h.
Het EXRAIL script heeft een begintag en een eindtag, zoals hieronder wordt aangegeven. Tussen de tags komen de verschillende scriptopdrachten te staan:
Je eerste trein laten rijden
Om een trein te laten rijden moet aan EXRAIL duidelijk worden gemaakt welk ID (decoder adres) de trein heeft. Daarnaast moet de trein een bepaalde snelheid (0..127) krijgen en natuurlijk een richting (vooruit/achteruit). Daarvoor zijn er natuurlijk specifieke opdrachten:
Heb je de code overgenomen (met aangepast decoderadres), dan kun je de sketch versturen naar je Arduino.
Dit is op zich natuurlijk niet zo'n bijster interessant script om uit te voeren. Het is een beetje alsof je voor het eerst aan de knop van de transformator van een analoge baan draait. Niettemin is het de eerste stap om te leren hoe de scripts kunnen worden opgebouwd.
De volgende keer gaan we verder met SEQUENCE, ROUTE en AUTOMATION. Daarmee groeperen we opdrachten, waarmee we interessante dingen kunnen doen.
Het EXRAIL script heeft een begintag en een eindtag, zoals hieronder wordt aangegeven. Tussen de tags komen de verschillende scriptopdrachten te staan:
Code: Selecteer alles
EXRAIL
... je opdrachten
ENDEXRAIL
Om een trein te laten rijden moet aan EXRAIL duidelijk worden gemaakt welk ID (decoder adres) de trein heeft. Daarnaast moet de trein een bepaalde snelheid (0..127) krijgen en natuurlijk een richting (vooruit/achteruit). Daarvoor zijn er natuurlijk specifieke opdrachten:
Code: Selecteer alles
EXRAIL
SETLOCO(218) // selecteer loc met decoder adres 218
FWD(25) // ga vooruit, snelheid 25 (van 127)
DELAY(10000) // doe dit 10 seconden
SPEED(40) // pas snelheid aan naar 40
DELAY(15000) // doe dit 15 seconden
STOP // stop de trein
REV(30) // ga achteruit, snelheid 30
DELAYMINS(1) // doe dit 1 minuut
STOP // stop de trein
ENDEXRAIL
Dit is op zich natuurlijk niet zo'n bijster interessant script om uit te voeren. Het is een beetje alsof je voor het eerst aan de knop van de transformator van een analoge baan draait. Niettemin is het de eerste stap om te leren hoe de scripts kunnen worden opgebouwd.
De volgende keer gaan we verder met SEQUENCE, ROUTE en AUTOMATION. Daarmee groeperen we opdrachten, waarmee we interessante dingen kunnen doen.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hallo Rico,
Zoals ik aangaf, heb ik (nog) geen Arduino, maar volg ik wel met belangstelling dit draadje.
Ik vind je uitleg heel duidelijk. Omdat ik het nog niet in het eggie kan uitproberen, stel ik misschien onnodige vragen. Ik hoop dat je dat niet erg vindt.
De vraag: je gaat in het voorbeeld uit van 128 snelheidsstappen. Werkt het ook als rij met 28 stappen? Kan ik dan bijvoorbeeld SPEED (27) aangeven als ik op volle snelheid wil rijden? Of moet er dan een ander commando aan voorafgaan?
m.vr.gr.
Hans
Zoals ik aangaf, heb ik (nog) geen Arduino, maar volg ik wel met belangstelling dit draadje.
Ik vind je uitleg heel duidelijk. Omdat ik het nog niet in het eggie kan uitproberen, stel ik misschien onnodige vragen. Ik hoop dat je dat niet erg vindt.
De vraag: je gaat in het voorbeeld uit van 128 snelheidsstappen. Werkt het ook als rij met 28 stappen? Kan ik dan bijvoorbeeld SPEED (27) aangeven als ik op volle snelheid wil rijden? Of moet er dan een ander commando aan voorafgaan?
m.vr.gr.
Hans
XPS, Fleischmann Piccolo, AnyRail, iTrain
Mijn baan op dit forum: XPS-baan
Mijn baan op dit forum: XPS-baan
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hoi Hans,
Dat is zeker niet erg. Ik weet overigens ook niet alles over EXRAIl. Zo kunnen we gezamenlijk toch verder komen?
Jouw vraag: daar heb ik (nog) geen antwoord op. DCC++EX is standaard 128 stappen. Ik weet dat 28 ook mogelijk is voor het aansturen, maar dat moet dan aangepast sowieso aangepast worden in het bestand config.h Ik ga even navragen hoe EXRAIL daar dan vervolgens mee omgaat.
Dat is zeker niet erg. Ik weet overigens ook niet alles over EXRAIl. Zo kunnen we gezamenlijk toch verder komen?
Jouw vraag: daar heb ik (nog) geen antwoord op. DCC++EX is standaard 128 stappen. Ik weet dat 28 ook mogelijk is voor het aansturen, maar dat moet dan aangepast sowieso aangepast worden in het bestand config.h Ik ga even navragen hoe EXRAIL daar dan vervolgens mee omgaat.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
-
- Berichten: 410
- Lid geworden op: 05 jan 2021 20:06
- Locatie: Omgeving Rotterdam mijn geboorte stad
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Ik heb wel een Arduino maar geen mega en ook geen motorshield. Heb ook geen digitale loco maar volg het toch voor de toekomst.
Groeten Marcel V
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Fijn om te horen!
Het lijkt te werken gewoon te werken met de waarden 0-127. Als ik de centrale via de Seriële Monitor van de IDE in 28 stappen modus zet met <D SPEED 28> reageert mijn lokje net zoals in de 128 stappen modus. Ik heb jouw vraag uitstaan op Discord en mocht daar een antwoord komen, laat ik dat hier zeker weten!De vraag: je gaat in het voorbeeld uit van 128 snelheidsstappen. Werkt het ook als rij met 28 stappen? Kan ik dan bijvoorbeeld SPEED (27) aangeven als ik op volle snelheid wil rijden? Of moet er dan een ander commando aan voorafgaan?
EDIT: antwoord van de EXRAIL programmeur:
In andere woorden: JA het werkt. Intern worden de 0-127 waarden omgezet naar 0-27. (bijvoorbeeld EXRAIL verzendt snelheid 63... DCC verzendt snelheid 14)DCCEX supports 28 step speed mode by translating 127 steps down to 28. Thus throttles etc and exrail continue to think in 127 step mode and only the dcc signal is changed so that the speed is appropriate. (eg throttle/exrail sends say speed 63... DCC sends speed 14.
Laatst gewijzigd door Momfer op 12 dec 2021 20:38, 3 keer totaal gewijzigd.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Fijn dat je volgt!Onmogelijkhier schreef: ↑12 dec 2021 16:10 Ik heb wel een Arduino maar geen mega en ook geen motorshield. Heb ook geen digitale loco maar volg het toch voor de toekomst.
Helaas is de Arduino UNO niet geschikt voor EX-RAIL. Je kunt deze wel gewoon gebruiken als basis voor een DCC++EX centrale icm een motorschild. Zelfs zonder motorschild kun je alvast proberen hoe e.e.a. werkt, mits je de pennen A0 en A1 aan massa legt. UIteraard is dat zeer beperkt, maar wel leuk om te proberen, toch?
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
-
- Berichten: 410
- Lid geworden op: 05 jan 2021 20:06
- Locatie: Omgeving Rotterdam mijn geboorte stad
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Ga zo wie zo een Mega bestellen en ook een motorshield.
Kan geen trein aansturen, want geen digitale loco, maar kan wel leren.
Kan geen trein aansturen, want geen digitale loco, maar kan wel leren.
Groeten Marcel V
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Dat is een mooie insteek, Marcel!Onmogelijkhier schreef: ↑12 dec 2021 17:37 Ga zo wie zo een Mega bestellen en ook een motorshield.
Kan geen trein aansturen, want geen digitale loco, maar kan wel leren.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
EXRAIL:Sequence, Route en Automation
We gaan verder met SEQUENCE, ROUTE en AUTOMATION. Daarmee groeperen we opdrachten, waarmee we interessante dingen kunnen doen. Maar er zijn wat kleine verschillen tussen deze drie belangrijke opdrachten
SEQUENCE(ID)
Gewoon een lijst met opdrachten die in volgorde moeten worden gedaan. Deze dingen kunnen o.a. zijn:
Een toepassings kan bijvoorbeeld zijn: een sensor die een trein detecteert, een knop die wordt ingedrukt of een periode die verstrijkt.
ROUTE(ID,"Naam van de Route")
Een ROUTE is hetzelfde als een SEQUENCE, maar deze wordt zichtbaar gemaakt in JMRI en EngineDriver met een herkenbare naam. De gebruiker op een knop kan drukken om de reeks uit te voeren. Ook zonder JMRI en/of EngineDriver kan deze opdracht prima worden gebruikt. Het kan het script leesbaarder/herkenbaar maken. ROUTE kan het beste worden gebruikt om een reeks wissels en seinen in te stellen om een route door de baan te maken.
AUTOMATION is ook een SEQUENCE die zichtbaar wordt in JMRI en EngineDriver. Maar ook zonder JMRI en/of EngineDriver kan deze opdracht weer het script leesbaard/herkenbaar houden. De gebruiker kan hiermee vanuit EngineDriver/JMRI een lok toewijzen aan het stuk EX-RAIL script en deze laten wegrijden volgens de stappen in de AUTOMATION.
LET OP: AUTOMATION, SEQUENCE en ROUTE maken gebruik van dezelfde ID-ruimte. ROUTE(1) en AUTOMATION(1) in 1 script wal niet werken zoals je verwacht omdat het ID dan naar 2 verschillende routines verwijst.
Gebruik van de routines
Als je de bovenstaande voorbeelden opload naar de Arduino zal er weinig gebeuren. Er is geen lok toegewezen aan de routines.
ROUTE(1) kun je aanroepen in het script door in het script gebruik te maken van de opdracht SENDLOCO(locoID,routeID) of vanuit de SerialMonitor van de Arduino IDE met de opdracht </ START locoID route_id>. In de Serial Monitor kun je ook kijken welke routes er zijn door </ ROUTES> in te geven. Het resultaat ziet er wat cryptisch uit, maar geeft wel enig inzicht of het script gelukt is.
Tot zover. Volgende keer meer over wissel (Turnouts) en seinen (Signals).
SEQUENCE(ID)
Gewoon een lijst met opdrachten die in volgorde moeten worden gedaan. Deze dingen kunnen o.a. zijn:
- Trein(en) laten rondrijden
Wissel(s) omzetten
Verlichting van een bedieningspaneel bedienen
Animatie automatiseren
Sensoren uitlezen
Voorwaarden toekennen (bv wachttijden)
Een toepassings kan bijvoorbeeld zijn: een sensor die een trein detecteert, een knop die wordt ingedrukt of een periode die verstrijkt.
Code: Selecteer alles
SEQUENCE(1) // Lljst met opdrachten met ID=1
FWD(40) // vooruit met snelheid 40
DELAY(15000) // duur 15 seconden
STOP // stop de trein
DONE // einde van SEQUENCE(1)
Een ROUTE is hetzelfde als een SEQUENCE, maar deze wordt zichtbaar gemaakt in JMRI en EngineDriver met een herkenbare naam. De gebruiker op een knop kan drukken om de reeks uit te voeren. Ook zonder JMRI en/of EngineDriver kan deze opdracht prima worden gebruikt. Het kan het script leesbaarder/herkenbaar maken. ROUTE kan het beste worden gebruikt om een reeks wissels en seinen in te stellen om een route door de baan te maken.
Code: Selecteer alles
ROUTE(2, "Van hoofdbaan naar Kolenbunker") // Lijst met opdrachten met ID=2 en herkenbare naam.
THROW(1) // zet wissel met ID=1 afbuigend
CLOSE(6) // zet wissel met ID=7 rechtuit
DONE // einde van ROUTE(2)
Code: Selecteer alles
AUTOMATION(3,"Rondjes rijden")
FWD(45) // vooruit met snelheid 45 (van 127)
AT(40) // als sensor(40) opkomt/activeert
STOP // stop de trein
DELAYRANDOM(1000,15000) // willekeuruge wachttijd tussen 1 en 15 seconden
FWD(30) // vooruit met snelheid 30
AFTER(40) // nadat sensor 40 afvalt/deactiveert
FOLLOW(3) // ga verder met SEQUENTIE/ROUTE/AUTOMATION 3
DONE // einde van de AUTOMATION
Gebruik van de routines
Als je de bovenstaande voorbeelden opload naar de Arduino zal er weinig gebeuren. Er is geen lok toegewezen aan de routines.
ROUTE(1) kun je aanroepen in het script door in het script gebruik te maken van de opdracht SENDLOCO(locoID,routeID) of vanuit de SerialMonitor van de Arduino IDE met de opdracht </ START locoID route_id>. In de Serial Monitor kun je ook kijken welke routes er zijn door </ ROUTES> in te geven. Het resultaat ziet er wat cryptisch uit, maar geeft wel enig inzicht of het script gelukt is.
Tot zover. Volgende keer meer over wissel (Turnouts) en seinen (Signals).
Laatst gewijzigd door Momfer op 11 feb 2022 17:16, 1 keer totaal gewijzigd.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hallo Rico,
Het wordt al wat ingewikkelder, maar ik kan het nog steeds volgen.
SEQUENCE, ROUTE en AUTOMATION doen mij met een beetje weemoed denken aan REPEAT...UNTIL, WHILE...DO of zelfs FOR...NEXT uit de "oude" programmeertalen.
m.vr.gr.
Hans
Het wordt al wat ingewikkelder, maar ik kan het nog steeds volgen.
SEQUENCE, ROUTE en AUTOMATION doen mij met een beetje weemoed denken aan REPEAT...UNTIL, WHILE...DO of zelfs FOR...NEXT uit de "oude" programmeertalen.
m.vr.gr.
Hans
XPS, Fleischmann Piccolo, AnyRail, iTrain
Mijn baan op dit forum: XPS-baan
Mijn baan op dit forum: XPS-baan
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Hallo Hans,
Fijn dat je het nog kunt volgen. Het feit dat je met weemoed aan dat soort lussen en iteraties kunt terugdenken, geeft de indruk dat je in elk geval enige kennis van programmeren hebt (gehad). Dat zal zeker helpen met het begrijpen van de voorbeelden.
Geef je het ook aan als je het niet meer (helemaal) kunt volgen? Dan kan ik kijken of ik zaken kan verduidelijken of verder moet uitdiepen.
Fijn dat je het nog kunt volgen. Het feit dat je met weemoed aan dat soort lussen en iteraties kunt terugdenken, geeft de indruk dat je in elk geval enige kennis van programmeren hebt (gehad). Dat zal zeker helpen met het begrijpen van de voorbeelden.
Geef je het ook aan als je het niet meer (helemaal) kunt volgen? Dan kan ik kijken of ik zaken kan verduidelijken of verder moet uitdiepen.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Dit is leuk om te volgen. Ik ben een aantal jaren programmeur geweest (Delphi/C/C++ en wat van hun voorlopers), dus leuk om dit soort dingen terug te zien.
Steven
Hier is mijn baan op het forum
Hier is mijn vorige baan op het forum
Hier is mijn voor-vorige baan op het forum
>>> Filmpjes van de baan
Hier is mijn baan op het forum
Hier is mijn vorige baan op het forum
Hier is mijn voor-vorige baan op het forum
>>> Filmpjes van de baan
-
- Berichten: 410
- Lid geworden op: 05 jan 2021 20:06
- Locatie: Omgeving Rotterdam mijn geboorte stad
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Mijn Arduino Mega staat in bestelling maar kunnen deze kleine stukjes ook werken in een Arduino Uno?
Groeten Marcel V
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
EXRAIL werkt NIET in een Arduino UNO, deze heeft te weinig geheugen.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Re: Starten met EXRAIL (onderdeel van DCC++Ex)
Leuk dat je ook meeleest, Steven.
Groet,
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Rico (momfer)
Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL