Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 18:39:49
Piko NS 2015 stroomafname probleem door hmmglaser
Vandaag om 17:41:00
Mijn eerste H0-modeltreinbaan in aanbouw door aad52
Vandaag om 17:40:42
HSM D1715 door vpeters1984
Vandaag om 17:34:25
Beekdaelen in H0 door Stieven76
Vandaag om 17:17:41
Bauarbeiten im gange door 741230
Vandaag om 17:14:07
Punt- en hartstukken door FritsT
Vandaag om 17:11:38
Al mijn goede ideeën... door Monobrachius
Vandaag om 17:10:33
Gebruik je Arduino zonder te "programmeren" ;) door Rsd1000
Vandaag om 17:07:59
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
Vandaag om 17:04:52
Toon hier je nieuwe (model-) spooraanwinst(en)... door Ronald69
Vandaag om 16:54:22
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
US diorama in H0 door VAM65
Vandaag om 15:22:05
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 15:08:30
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
  

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

Curious T!mo

  • Offline Offline
  • Berichten: 26
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: 26
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: 2617
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
Groet Frits

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: 26
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: 26
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