Doel:€250.00
Donaties:€107.50

Per saldo:€-142.50

Steun ons nu!
Actie: steun €2.50 via de Wim Vink kalender 2021!

Laatst bijgewerkt
op 23-11-2020
Algemeen

De stichting

Recente berichten

Kleurvarianten Mat '46, een vraag van Overbeek. (importeur) door Modellbahnwagen
Vandaag om 18:20:40
Mijn eerste H0-modeltreinbaan in aanbouw door tijgernootje
Vandaag om 18:19:53
MARDEC, de Multifunctionele ARduino dcc DECoder. door bask185
Vandaag om 18:04:19
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door St00mboy
Vandaag om 18:03:46
Spoor op industrieterrein Lage Weide door Jos_1972
Vandaag om 18:00:14
Bruggen-IG: de Hef in N schaal... door Reinout van Rees
Vandaag om 17:53:39
VERPLAATST: De Hef in N schaal... door Reinout van Rees
Vandaag om 17:52:23
Westlandbaan door tijgernootje
Vandaag om 17:48:52
Busch 5968 belgische overweg (en wellicht NS-AKI?) een schop geven door Te 2/2
Vandaag om 17:46:46
Toon hier je nieuwe (model-) spooraanwinst(en)... door NS1220
Vandaag om 17:40:39
Bruggen-IG: de spoorbrug in Geldrop in N door janw
Vandaag om 17:38:45
Baanbouw: NL Baan Kleindrecht in H0 door BAD
Vandaag om 17:36:28
Bouw "Bahnhofsvorfeld" door charp
Vandaag om 17:30:10
Seinen en wissel koppelen door Bert_Apd
Vandaag om 17:16:04
Wielen en assen, vragen over maten en RP25. door Klaas Zondervan
Vandaag om 17:08:52
Raadplaatje door Falkenberg
Vandaag om 17:01:55
Bruggen-IG - brug over de Poldervaart Schiedam/Kethel door jowi
Vandaag om 17:01:42
BNLS-Werkspoor - Bouw 3900 van DJH/Modelloco met tips voor beginners door Ivo tB
Vandaag om 17:00:51
Aankoop treinen : verdachte websites ? door RikM
Vandaag om 16:04:38
Depot + vervolg Vlieringen-2 door Hans Reints
Vandaag om 15:52:07
Rondom Charlois door Alewijn
Vandaag om 15:48:05
De fabriek - Spoor 0 door BartvD
Vandaag om 15:33:22
PIKO Fabriek #61149 door NS1220
Vandaag om 15:21:43
Van Swarzach naar Swarzburg door nkob
Vandaag om 14:21:55
Ervaringen met veilingsites en webshops (Marktplaats, Ebay, Catawiki, etc). door willyTEE
Vandaag om 14:09:06
DAF YA-616 Takeldoos 1e levering door Hans Reints
Vandaag om 14:07:37
Wand- en vloerafwerking H0 door Michel Zethof
Vandaag om 13:46:26
Belgische torpedowagens van Cockeril Sambre Chertal door Rondje_HO
Vandaag om 13:33:15
20 toen door Hans Reints
Vandaag om 13:09:17
Staalrollen in België: NMBS Shis, Shmmns en Shx wagens, begin jaren 80 met coils door spoorzeven
Vandaag om 13:08:05
  

Auteur Topic: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch  (gelezen 2467 keer)

Curious T!mo

  • Offline Offline
  • Berichten: 22
Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Gepost op: 01 januari 2016, 12:32:59 »
Hallo Allemaal,

Ik heb een Intellibox Classic die prima werkt. Wat me altijd heeft tegengevallen aan de IB is het gammele gevoel van de druktoetsen.
Heb het gevoel dat kapotte druktoetsen op den duur ook de reden zullen zijn dat de IB aan vervanging toe is. Dus ik probeer er zo zuinig mogelijk mee te zijn.

Op zich rijd ik veelal met RocRail en raak de IB bijna niet aan. De toetsen die ik het meeste gebruik zijn die van de baanspanning. Rood en Groen rechts boven, onder het logo.

Het kastje wat ik in die topic voorstel is hieruit voortgekomen:
- Ik vond het kasje bij toeval in een kringloopwinkel
- Ik wil de toetsen op de IB zoveel mogelijk sparen
- De IB staat vaak aan de andere kant van de tafel als ik deze toetsen nodig heb. Dit kastje kan ik verplaatsen zolang de kabel maar lang genoeg is.


Dit is het kastje zoals ik hem vond bij de kringloopwinkel


Ik gebruik ditmaal LocoNet volgens de GCA standaard die Peter Giling voor Modelspoor Groep Venlo heeft ontworpen.


De Arduino Pro Mini is dan ook verbonden met LocoNet volgens het schema van zijn CGA50.


2 Ledjes toegevoegd.


En klaar om een stukje software te schrijven en programmeren.


Arduino zit vastgeklemd, maar wat hot-melt voor de zekerheid.


En het eindresultaat.

<a href="https://www.youtube.com/v/MSf_h1CQlCY" target="_blank" class="new_win">https://www.youtube.com/v/MSf_h1CQlCY</a>
Filmpje is altijd leuk natuurlijk.

Ik heb een kant en klaar kastje gebruikt met 2 knoppen, maar dit kan natuurlijk ook met knoppen die je ergens inbouwt.

Code staat op mijn Github

Groeten,

Timo

Curious T!mo

  • Offline Offline
  • Berichten: 22
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #1 Gepost op: 01 januari 2016, 16:03:05 »
Heb een filmpje op youtube gezet waarin ik globaal uitleg wat de sketch of code doet.

<a href="https://www.youtube.com/v/F3nhEnnBl_w" target="_blank" class="new_win">https://www.youtube.com/v/F3nhEnnBl_w</a>

bleh

  • Offline Offline
  • Berichten: 26
  • Spoor N - DB - TP IV
Re: Arduino LocoNet OPC_GPON &amp; OPC_GPOFF Master Switch
« Reactie #2 Gepost op: 01 januari 2016, 17:24:38 »
Goed werk! Heb er zelf geen toepassing voor, maar ik kan zo'n creatieve oplossing wel waarderen.

Verstuurd vanaf mijn MotoG3 met Tapatalk

Met vriendelijke groet,

Christiaan

Fritsprt

  • Offline Offline
  • Berichten: 1485
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #3 Gepost op: 01 januari 2016, 21:59:55 »
Hallo Timo,

Prachtige combinatie van zowel techniek als creativiteit en mijn complimenten voor je zeer duidelijke uitleg. Ik zag ook je andere draadje over Arduino en Loconet en heb mij gelijk op beide geabonneerd. Ik zie dat je pas vier reacties hier hebt geplaatst maar wat mij betreft komen er nog velen.  (y) (y) (y)

gr. Frits

p.s. Er is nog een Timo op het forum en die is ook erg goed in o.a. Arduino. Zal wel in de naam zitten  ;D

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #4 Gepost op: 02 januari 2016, 23:08:56 »
Hoi Timo (wat raar om met je eigen naam te beginnen  ::))

Ik ben de andere Timo die Frits noemde. Erg leuk project! Zeker omdat kastjes als die je in de kringloop hebt gevonden in China best te vinden zijn  ;D

Ook complimenten voor het gebruik van een Pro Mini, GitHub en comments! Hier gaat het nog wel eens mis mee.

Maar zoals altijd even de code doorgekeken en toch een kritische blik erover. Vat dit niet persoonlijk op, je hetb is super leuks gemaakt. Maar alleen als andere commentaar leveren kunnen we samen iets verbeteren  ;)

Allereerste gebruik je een library voor de LocoNet. Niets mis mee. Maar je vermeld nergens waar je de library kunt vinden. Zeker als deze niet meegeleverd wordt op je GitHub page zou het handig zijn deze in de readme en in de sketch te vermelden. Zeker omdat de library de (onhandig) generieke naam LocoNet heeft... (Generieke namen worden afgeraden... De naam die je zelf dus aan het project gegeven hebt is dus ook niet echt bijster duidelijk. Ah, wacht. Het project had niet zoals ik had verwacht zijn eigen Git gekregen maar is onderdeel van meer.)

De defines voor de buttons en ledjes kan je beter vervangen door const byte. Het gebruik van define voor pin definities wordt door Arduino (en volgens mij avr-gcc ook) afgeraden. Zolang de pre-compiler er niets mee moet is het niet nodig define te gebruiken.

Vervolgens definieer je een aantal variabele voor een state. Waarom gebruik je hier dan een int voor? Ook hier had een bool prima voldaan ;)

Vervolgens heb je de welbekende millis() bug in je code geschreven door longs te gebruiken ipv unsigned long. Zoals overal vermeld is dat wel een werkelijk belangrijk verschil ;)

En waarom doe je helemaal de moeite om de button state als global op te slaan en gebruik je hem alleen na
if (readingRed != lastButtonStateRed) {
Op deze manier (ook te zien in je filmpje) reageert de knop pas als je deze weer los hebt gelaten. Zelf ben ik enorm voorstander om voor zoiets wat je vaak gebruikt maar best een zooitje kan worden door de wirwar aan variabele enzo om gebruik te maken van een library.

Ik heb een fork gemaakt en zal je zo een pull request geven met alle genoemde punten :)

Nogmaals, het is geen slecht bedoelde kritiek! Alleen met commentaar van anderen kunnen we een programma verbeteren.


Timo
Verzonden vanaf mijn desktop met Firefox

Curious T!mo

  • Offline Offline
  • Berichten: 22
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #5 Gepost op: 03 januari 2016, 13:48:47 »
Hallo Timo (inderdaad lolz),

Bedankt voor de fork en pull. heb net even ge-upload en getest en werkt super  (y).

De code is vooral gebaseerd op andere stukjes code die ik her en der vandaan heb. Daarom is het niet altijd helemaal logisch opgebouwd. Een echte programmeur zal het vaak in minder code doen en vooral minder geheugen gebruiken.

Alleen ben ik geen programmeur. Ooit begonnen met PIC micro-controllers via http://www.picbasic.nl/ en toen de Arduino uitkwam ben ik overgestapt en nooit meer omgekeken. Dus het is voor mij een hobby. Heb het zelf uit moeten vinden en moeten leren mbv een hele hoop google en trial en error.

Dat is dus ook de reden voor het gebruik van if (readingRed != lastButtonStateRed) {.
Is gewoon geknipt en geplakt uit de debounce example van Arduino.

Verder is de code geschreven in begin 2015. Heb pas onlangs de github gevuld. Tegenwoordig let ik beter op met variabele. Het formaat van een integer kan per soort microprocessor nog wel eens variëren. 2 bytes op een atmega, maar 4 op een due. Op een ESP8266 weet ik het niet eens uit mijn hoofd, zou ik eens sizeof moeten doen.

Wat ik tegenwoordig steeds meer probeer te doen is het gebruik van uint8_t en uint16_t enz.

Nogmaals bedankt voor de fork en pull. Wordt zeer gewaardeerd.

Groeten,

Timo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #6 Gepost op: 03 januari 2016, 15:27:06 »
Hoi Timo,

Goed om te horen dat het werkt. Kon het zelf niet testen omdat ik de LocoNet library niet heb en niet zo 123 weet waar ik die haal/wat de juiste is.

Ik ben ook self-taught wat betreft programmeren. Zelf ben ik ooit begonnen met PIC C waarmee iets meer kan dan met PIC Basic. De overstap op Arduino was dan ook niet zo lastig. De overstap kwam eigenlijk vooral doordat een Ardruino (vooral de Pro Mini) gewoon zo goedkoop is geworden dat ik er niet meer tegenaan kan solderen. Zo heb ik nog wel PIC's liggen en gebruik ik ze nog wel eens maar eigenlijk vooral de kleine omdat het dan zo lekker simpel blijft. Zie bijvoorbeeld de KaKu Extend (website waar ik eigenlijk vaker project verslagen op zou moeten zetten...).

Voor buttons vind ik het altijd nog super raar eigenlijk dat Arduino daar niet ook gewoon een standaard library voor mee levert. Voor één button is het allemaal nog wel duidelijk en makkelijk in code te doen maar voor meer wordt het al snel een chaos. Een library (en hoeft nog niet eens object based te zijn, heb voor PIC C de Bounce2 gepoort naar puur C (zou ik ook eens op GitHub moeten zetten... Mmm,, maar op diot moment niet de PIC C omgeving draaien...) kan de boel dan zo veel netter maken.

Het is waar dat een int wat kant verschillen ja. Maar meestal is het niet zo heel erg met programmeren omdat je code toch redelijk specifiek geschreven is. Dat een int 4 bytes is op een Due komt overigens dat het een 32-bit micro is. Voor een Due is een int dus gewoon één register terwijl een int (van 2 byte) op een Uno/Pro Mini/Nano/Mega al gedoe is met twee registers (8-bit micro's). Zal dus op de ESP waarschijnlijk ook 4 byte zijn omdat ook dat een 32-bit micro is. Eigenlijk hoe krachtiger de hardware hoe minder nauw je hoeft te letten op je variabele type :p Kijk maar naar de PC waar bij in PHP eigenlijk alleen een variabel bestaat waar je alles in kunt stoppen :p Maar op een Uno is zowel snelheid als geheugen beperkt.


Timo
Verzonden vanaf mijn desktop met Firefox

Curious T!mo

  • Offline Offline
  • Berichten: 22
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #7 Gepost op: 03 januari 2016, 16:09:46 »
Hey Timo,

Die site ken ik. Ik stam eigenlijk uit de domotica wereld. Dus vandaar. Het meeste van mijn domotica doe ik tegenwoordig in node.js . Dus javascript voor de backend en javascript/html5/css3 voor de frontend.

Een aantal van mijn arduinos worden binnenkort vervangen voor de ESP8266, die heeft wifi onboard. Dus ik moet beter op variabelen letten.

Maar het is een leuke hobby en je leert iedere keer weer wat. En je blijft veranderen en upgraden.

De loconet en DCC library kun je vinden op https://github.com/mrrwa
In deze library wordt voor DDC pin 3 gebruikt voor een DCC ACK. Ik neem aan voor het programmeren. Kan er alleen zo snel geen schema bij vinden. Misschien heb je er wat aan.

Ik heb mijn meest gebruikte libraries op mijn github staan. Op deze manier kan ik ook alles syncen op mijn macbook, imac en werkstation op het werk.

Groeten,

Timo
« Laatst bewerkt op: 03 januari 2016, 16:16:36 door Merdeka »

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino LocoNet OPC_GPON & OPC_GPOFF Master Switch
« Reactie #8 Gepost op: 03 januari 2016, 17:16:25 »
Zelf had ik ook graag wat meer gedaan met domotica. Die KaKu was even snel voor bij mijn vriendin. Verder nooit echt verder mee gegaan, altijd al genoeg projecten liggen... Voordeel aan de ESP8266 is dat er al een vorm van beveiliging over de verbinding draait. Alleen is Wifi dan weer niet zo energie zuinig :/

Nog bedankt voor de link, MRRWA ken ik inderdaad van de NmraDcc. Zelf moet ik eignelijk weer verder met adServo alleen zo weinig tijd. (Iets zorgt er voor dat er soms DCC pakketen gemist worden :/ ) En nu me vriendin hier op me studenten kamer is ligt me bureau ook weer te vol om MRdirect en de logic analyzer aan te slingeren...

Ah, ja, syncen met GitHub kan natuurlijk ook :p Zelf draait me PC een FTPS verbinding zodat ik altijd overal bij kan. En voor me Laptop ben ik nu STACK aan het inrichten :)



Timo
Verzonden vanaf mijn desktop met Firefox