Doel:€250.00
Donaties:€130.00

Per saldo:€-120.00

Steun ons nu!

Laatst bijgewerkt
op 24-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Gewoon wat busfoto's door mass am see
Vandaag om 16:27:11
Raadplaatje door Modellbahnwagen
Vandaag om 16:24:12
Baan 'begroenen', hoe, wat en waarmee? door mass am see
Vandaag om 16:18:47
diorama, voor lange treinen. door Wim Vink
Vandaag om 16:12:37
Bouw van postrijtuig P 7911-7920 (plan C) van FRIE door henk
Vandaag om 16:10:25
18 t/m 21 april Intermodellbau '24 Dortmund door Ronald Halma
Vandaag om 15:58:27
Ervaringen met veilingsites enzo (Marktplaats, Ebay, Catawiki, etc). door bask185
Vandaag om 15:50:37
Piko lok digitaal rijdt direct weg door Ben
Vandaag om 15:32:10
Aachenau West door mass am see
Vandaag om 15:28:57
Al mijn goede ideeën... door bask185
Vandaag om 14:52:20
Station Roodeschool door Ronald Halma
Vandaag om 14:40:57
Toon hier je pas gereed gekomen (model-)spoorbouwsels ... door Hans Reints
Vandaag om 14:34:08
NS 6000 (in schaal 0) door FritsT
Vandaag om 14:24:44
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:14:55
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:07:41
Modelbaan schaal H0 niet geheel sluiten in pc prog door MartinRT
Vandaag om 13:20:45
Frans/Belgisch H0e baantje door NS264
Vandaag om 12:57:17
hoe diep is de kuil van een 23 meter draaischijf door AlbertG
Vandaag om 12:10:11
US diorama in H0 door Wim Vink
Vandaag om 11:20:49
2nd Dutch US Convention, DRU Ulft NL 6/7 april 2024 door RBlok
Vandaag om 10:23:55
20 en 21 april MobExpo door Ronald Halma
Vandaag om 10:14:31
19 Toen door spoorzeven
Vandaag om 10:12:46
Cranicher Altbahn door Eric v C
Vandaag om 10:09:34
Pfarrerwinkel bahn door Eric v C
Vandaag om 09:59:38
Bruikbare etsplaten voor NS4000 en NS4700 tenders, en NS slijptrein? door 3dbuildr
Vandaag om 09:55:45
Ijzeren Rijn: militair transport door ijzeren rijn
Vandaag om 09:45:09
Kleine Baan in H0 (≤ 0.5m²) door spoorijzer
Vandaag om 09:35:37
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 09:33:32
Mijn eerste H0-modeltreinbaan in aanbouw door Frank 123
24 april 2024, 22:51:27
Der QuadratSchädel (Bemo br 624/634) door T.Spat
24 april 2024, 22:37:28
  

Auteur Topic: Arduinogestuurde Digitale Baan voor Paps  (gelezen 5627 keer)

zuylen

  • Offline Offline
  • Berichten: 4465
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #15 Gepost op: 30 juli 2018, 15:15:27 »
Een leuk device! Komt ie ook in productie voor anderen Micha en Jaap? ;D

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #16 Gepost op: 30 juli 2018, 15:23:21 »
But now you know (how it's made) ;D Maar kan me prima vinden in de disclaimer. Ik heb het ook mezelf geleerd.

Mijn grootste punt tegen macro's hiervoor is dat de foutmeldingen die je kunt krijgen zo veel cryptischer zijn dan wanneer je type-correcte variabelen gebruikt.

@Hennik, pff, niet echt. Maar denk dat een paar belangrijke punten zijn:
  • Vermeid delay()! Zie het voorbeeld Blink without delay.
  • Laat de loop() zo snel mogelijk rond gaan. Houdt hem nergens op, ook niet als je wacht. Kom gewoon de volgende rondgang van loop() weer terug.
  • Gebruik duidelijke namen (en niet juist korte) voor functies en variabelen. Ze moeten beschrijvend zijn voor wat ze doen / betekenen. Dit zodat snel duidelijk is wat er gebeurd voor zowel anderen maar ook voor jezelf voer een jaar. Uitzondering is als je het alleen super lokaal gebruikt (bijvoorbeeld 'i' in een for-lus).
  • Probeer een functie zo kort en universeel mogelijk te houden. Met andere woorden, knip het project op in zo veel mogelijk kleine behapbare brokken. En die brokken kan je dan weer aanroepen in nieuwe brokken die op die manier ook weer kort en overzichtelijk blijven. Komt dus neer op je project een beetje plannen.
  • Wees consistent. Probeer dus onder andere overal dezelfde style van code te gebruiken maar ook dezelfde style van namen.
  • Commentaar bij je code is goed! Maar herhaal jezelf niet in het commentaar. Details kan je prima in de code lezen.

Ik denk dat je dan al een heel eind bent (y)

@MichMich, sorry voor het vervuilen van het draadje! Als je het vervelend vind (of het verder uit de hand loopt) zal ik vragen het af te laten splitsen.


Timo
Verzonden vanaf mijn desktop met Firefox

JaJo

  • Offline Offline
  • Berichten: 11147
  • Spoor-0 & Spoor-1
    • Modeltreinbaan.nl
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #17 Gepost op: 30 juli 2018, 15:28:36 »
Dat vindt hij vast niet erg Timo!

Groet Jaap
Groet Jaap
Duits/NL, Spoor-0 en Spoor-1.Tijdperk II en III.
http://www.modeltreinbaan.nl

SBBcargo

  • Offline Offline
  • Berichten: 654
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #18 Gepost op: 30 juli 2018, 16:46:02 »
Ik weet niet of XpressNet dat af handelt maar DCC kent maar 126 normale rijstappen en daarnaast STOP en E-STOP. Maar misschien dat XpressNet de E-STOP niet zomaar door stuurt, dat weet ik niet.

Bij mij wel, bij een verbinding met de z21(wit). ;D



Marius.
Marius

zuylen

  • Offline Offline
  • Berichten: 4465
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #19 Gepost op: 30 juli 2018, 16:55:26 »
Ik ga eens effe wat dingen aanschaffe. Leuk projectje.

Hennik

  • Offline Offline
  • Berichten: 155
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #20 Gepost op: 30 juli 2018, 17:20:09 »
@Timo bedankt. Ik heb gezien dat je op andere plekken in dit forum ook al veel opbouwende tips over dit onderwerp hebt gegeven, dus die pluis ik ook allemaal nog na.

@Michael, veel respect hoe je dit gedaan hebt! Ik ben recent ook door dit forum aangestoken om met arduino's te prutsen en jouw uitleg helpt daar ook enorm bij. Bedankt!

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #21 Gepost op: 30 juli 2018, 19:40:42 »
@Hennik, dank je! :) Dat probeer ik altijd wel :)

Nu zelf mijn "lab" wat meer op orde maken en kan ik ook weer fijn prutsen :)


Timo
Verzonden vanaf mijn desktop met Firefox

MichMich

  • Offline Offline
  • Berichten: 25
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #22 Gepost op: 30 juli 2018, 21:22:08 »
Wat betreft de PCB foutjes:
2a) Bij een Nano mag je gewoon USB aansluiten terwijl de Nano extern 5V heeft. Een diode (D1 in het originele schema) zorgt voor de scheiding

Ik ben in een eerder project een keer tegen een issue aangelopen waar het goed mis ging toen beide voedingsbronnen aangesloten zaten. Ondanks dat ik "magic smoke" heerlijk vind ruiken, probeer ik het zo veel mogelijk te vermijden. ;D Het is dus inmiddels een beetje automatisme geworden deze jumper toe te voegen, al maak ik er zelden gebruik van. (Ik heb overigen het vermoeden dat het beschreven probleem geval meer iets te maken had met met een slechte Chinese batch ...)


2b) Je hoef ook geen jumper voor de MAX toe te voegen. Deze kent namelijk ook een HIGH Z mode. Gewoon !RE en DE ook aan de Arduino hangen. En dan wel !RE met een pull up en DE met een pull down. Op die manier is de MAX is HIGH Z na een Arduino reset en kan je gewoon programmeren. (y)

Overigens heb ik no nooit iemand zo de !RE en DE zien aansluiten via een weerstand en een condensator in serie... Wat is daar de gedachten achter? ???


Ik heb de MAX485 verder nooit gebruikt. Zoals beschreven heb ik het prototype geboekt op basis van de Waveshare 485 breakout. Aangezien deze werkte heb ik het circuit exact overgenomen. Ik wilde het risico voorkomen dat ik een revisie twee moest maken omdat in dit schema een probleem zat. Mijn opdrachtgever is namelijk nogal van de strakke deadlines ...  ;) Maar bedankt voor de goeie suggesties! Goed om in gedachten te houden als ik de MAX485 nogeens inzet. (En die kans is groot!)


En zelf ben ik een enorme fan van een Arduino met headers op een board te zetten ipv zelf te klooien met een ATmega. Wel de Pro Mini dan altijd. Voor de kosten kan ik het niet zelf bouwen en ik krijg er gratis 2 extra PCB layers bij ;D Win-win!

Dat doe ik ook voor de meeste projecten, maar ik moet zeggen dat ik het ontwerpen van een SMD pcb met alles on board meer voldoening geeft. Bijkomend voordeel is dat je dan meteen een hoop leert over het gebruikte schema. Voor de kosten hoeven we het niet te laten.

En klein puntje voor de software :angel: We leven in 2018 en de compiler is C++. Een macro (#define) voor het definiëren van pinnen en constanten is niet meer van deze tijd ;)

Haha... je hebt helemaal gelijk! Old habits die hard. Net als dat ik er in javascript niet aan kan wennen om `const` en `let` te gebruiken ipv `var`. Maar de eerst volgende keer dat ik gedachteloos #define ipv `const int` typ, weet ik zeker dat ik even aan je denk!  ;D

Commentaar bij je code is goed! Maar herhaal jezelf niet in het commentaar. Details kan je prima in de code lezen.

Dat is inderdaad een enorme valkuil voor veel developers. Wanneer ik commentaar moet toevoegen om iets toe te lichten is dat voor mij vaak een reden om te kijken of het niet simpeler kan. (Al voeg ik voor mijn blog-code vaak toch extra commentaar toe om het nog eens te verduidelijken. Zou niet nodig moeten zijn ...)

Naast wat Timo al genoemd heeft (hele goeie punten: vooral het Delay-stuk is een valkeil waar veel starters intrappen), nog wat suggesties die mij te binnen schieten:
  • Ga niet "prematuur optimaliseren". Zorg eerst dat de code doet wat je wil dat het doet. Optimaliseren kan altijd nog.
  • Net als bij de treinen hobby geldt bij het programmeren: KISS. Keep it simple, stupid. XKCD heeft er een relevant stripje over gemaakt.
  • Voor je zelf uren aan de slag gaat, zoek dan eerst even of er niet al een schitterende open source oplossing voor is. Lees hier waarom.  ;D

@MichMich, sorry voor het vervuilen van het draadje! Als je het vervelend vind (of het verder uit de hand loopt) zal ik vragen het af te laten splitsen.
Nee hoor, absoluut niet. Dit is precies waar dit draadje voor is.

@Michael, veel respect hoe je dit gedaan hebt! Ik ben recent ook door dit forum aangestoken om met arduino's te prutsen en jouw uitleg helpt daar ook enorm bij. Bedankt!
Graag gedaan. Een project als deze is een stuk leuke wanneer ook anderen er profijt van hebben.

Nu zelf mijn "lab" wat meer op orde maken en kan ik ook weer fijn prutsen :)
Ik denk dat dit nog de grootste uitdaging is voor de meeste hobbyisten...  ;D

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #23 Gepost op: 30 juli 2018, 22:13:45 »
Over de voedingen, was dat een Uno (of Mega etc)? Want een Uno kan er stom genoeg niet tegen omdat ze daar voor een complexer circuit zijn gegaan. Wat zei je ook al weer over KISS? ;D

Maar als het een Nano was dan was het misschien inderdaad een Chinese clone waarbij ze hadden uitgevonden dat ze een halve cent konden besparen door de diode er af te laten ::) Ik hou van (goedkoop) dingen in China bestellen maar af en toe is het ook wel fijn dat ik op het werk gewoon onderdelen met volledige specificaties (en bijbehorende prijskaartje ::)) kan moet bestellen.

maar ik moet zeggen dat ik het ontwerpen van een SMD pcb met alles on board meer voldoening geeft. Bijkomend voordeel is dat je dan meteen een hoop leert over het gebruikte schema. Voor de kosten hoeven we het niet te laten.
Dat is wel waar ;D

Haha... je hebt helemaal gelijk! Old habits die hard. Net als dat ik er in javascript niet aan kan wennen om `const` en `let` te gebruiken ipv `var`. Maar de eerst volgende keer dat ik gedachteloos #define ipv `const int` typ, weet ik zeker dat ik even aan je denk!  ;D
(y) ;D

Dat is inderdaad een enorme valkuil voor veel developers. Wanneer ik commentaar moet toevoegen om iets toe te lichten is dat voor mij vaak een reden om te kijken of het niet simpeler kan. (Al voeg ik voor mijn blog-code vaak toch extra commentaar toe om het nog eens te verduidelijken. Zou niet nodig moeten zijn ...)
Ook dat. Ook al kan een goed doordachte manier er soms wat lastig uit zien, dan is commentaar handig. Maar als je duidelijke code maakt (overzichtelijke blokjes, duidelijke namen etc) dan leest de code gewoon weg als commentaar.

Aanvulling, met jezelf herhalen bedoel ik dingen als
//loop 5 times
for(byte i = 0; i < 10; i++{
  //...
}
Waarbij iemand later dacht, nee, ik wil 10 keer! En natuurlijk nooit meer de code aan past... (Naast dat de code al exact hetzelfde zegt).

Meeste van mij commentaar is dan ook te vinden in de interface. Bijvoorbeeld bij een classe, wat doet elke methode? Wat verwacht iedere methode? En zijn er valkuilen? Zie bijvoorbeeld de documentatie van FadeLed. Ook ik spiek er nog wel eens in als ik het een tijdje niet gebruikt heb.

  • Ga niet "prematuur optimaliseren". Zorg eerst dat de code doet wat je wil dat het doet. Optimaliseren kan altijd nog.
Correct! Maar let wel op, als je jezelf betrapt op het 10 keer schrijven van bijna dezelfde functie of er niet een slimmere manier is. (Soms (<5%) niet / heeft dat nadelen maar dan heb je er in ieder geval aan gedacht  ;D

En xkcd(y) ZIjn genoeg relevantie stripjes te vinden daar ;D

Nee hoor, absoluut niet. Dit is precies waar dit draadje voor is.
Gelukkig!  (y)

Ik denk dat dit nog de grootste uitdaging is voor de meeste hobbyisten...  ;D
Hehe, zeker. Alleen zit ik er vooral nog steeds mee hoe ik me nieuwe "lab" (lees: gedeelde werkkamer) wil inrichten :angel: Ik weet wel, met 90% van alle componenten in (verhuis)dozen en de scopes/voedingen/etc in de hoek van de kamer op de grond werkt niet zo productief... ::)

Nu rest mij alleen nog één ding, het een keer in het echt zien ;D :angel:


Timo

« Laatst bewerkt op: 30 juli 2018, 22:16:44 door Timo »
Verzonden vanaf mijn desktop met Firefox

JaJo

  • Offline Offline
  • Berichten: 11147
  • Spoor-0 & Spoor-1
    • Modeltreinbaan.nl
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #24 Gepost op: 31 juli 2018, 07:24:06 »
Citaat
Nu rest mij alleen nog één ding, het een keer in het echt zien ;D :angel:

Als alles doorgaat sta ik op 8 december in "Houten digitaal".

Groet Jaap
Groet Jaap
Duits/NL, Spoor-0 en Spoor-1.Tijdperk II en III.
http://www.modeltreinbaan.nl

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #25 Gepost op: 31 juli 2018, 08:59:46 »
Oeww, top! (y) Tegen die tijd eens kijken of ik tijd heb.


Timo
Verzonden vanaf mijn desktop met Firefox

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #26 Gepost op: 31 juli 2018, 13:11:07 »
@Timo,

Een man van jouw postuur (figuurlijk, want ik ken je niet persoonlijk) moet die jaarlijkse zaterdag gewoon permanent in zijn agenda vrij houden. Sinds ik er naar toe ga heerlijk.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #27 Gepost op: 31 juli 2018, 20:19:53 »
@gvandersel, Haha, mja, ik heb de datum in ieder geval in de agenda gezet ;D


Timo
Verzonden vanaf mijn desktop met Firefox

MichMich

  • Offline Offline
  • Berichten: 25
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #28 Gepost op: 11 augustus 2018, 21:07:59 »
Voor de geinteresseerden:

De laatste post in deze serie staat op mijn blog: http://michaelteeuw.nl/post/176885713097/the-train-automator-part-4-wrapping-it-up

Deze week knutsel ik een ombouw voor de controller ...


JaJo

  • Offline Offline
  • Berichten: 11147
  • Spoor-0 & Spoor-1
    • Modeltreinbaan.nl
Re: Arduinogestuurde Digitale Baan voor Paps
« Reactie #29 Gepost op: 11 augustus 2018, 21:25:34 »
Ik zou hem best willen hebben.... ;)
Groet Jaap
Duits/NL, Spoor-0 en Spoor-1.Tijdperk II en III.
http://www.modeltreinbaan.nl