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

nieuw te leggen sporen passend maken door onmogelijkhier
Vandaag om 16:08:15
Marklin Telexkoppelingen blijven hangen door Klaas Zondervan
Vandaag om 15:51:59
Zoekfunctie ? door VAM65
Vandaag om 15:22:08
Onlangs gespot - gefotografeerd, de foto's door Keska
Vandaag om 14:48:26
Werps Soldeerworkshop door Marco Staartjes
Vandaag om 14:47:12
Geluid NS Mat'46 vs NS Mat'54 door Peter Kleton
Vandaag om 14:27:30
De (3d) knutsels van Ronald. door MaraNCS
Vandaag om 14:25:44
FFA koelwagen door Duoblock
Vandaag om 14:19:55
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door Hans Reints
Vandaag om 14:03:01
De IJmuider spoorlijn - korte geschiedenis en plaatjes door sncf231e
Vandaag om 13:45:43
Piko NS 2015 stroomafname probleem door Rick
Vandaag om 13:24:51
Punt- en hartstukken door 1200blauw
Vandaag om 13:12:58
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Bahn-AG
Vandaag om 12:42:50
US diorama in H0 door moonlicht
Vandaag om 12:40:54
Doornvliet door raymond erdtsieck
Vandaag om 12:23:03
U-vorm beperkte ruimte (H0 C-rails) door eitreb
Vandaag om 12:06:06
Leids spoor (voorheen Blauwpoortsbrug) door gdh
Vandaag om 11:55:50
7 april De Karel on tour door NL-modelspoor
Vandaag om 11:51:04
NS Tals wagons (kalktrein) door Arjan6511
Vandaag om 11:41:59
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:19:47
Beekdaelen in H0 door VulcanRaven
Vandaag om 11:00:45
Stroomdetectie bij goederenwagens door henk
Vandaag om 10:32:03
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 10:23:47
MSV Post B, even voorstellen... door Rsd1000
Vandaag om 10:01:44
30 maart Modelspoorbeurs Houten & HCC Kennisdag door Jelmer
Vandaag om 09:52:49
Mijn eerste H0-modeltreinbaan in aanbouw door DJV
Vandaag om 09:42:59
Bouw van materieel 40 treinstellen door Pauldg
Vandaag om 07:52:09
NS 8400 van Werps door MathynK
Vandaag om 07:05:15
Al mijn goede ideeën... door bask185
28 maart 2024, 23:12:12
Gebruik je Arduino zonder te "programmeren" ;) door bask185
28 maart 2024, 22:51:58
  

Auteur Topic: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?  (gelezen 2380 keer)

JWS

  • Offline Offline
  • Berichten: 33
Goedemiddag,
Ik heb een handmatige arduino+toetsenbord besturing tbv de oude M-draaischijf 7186, een ontwerp van Markus Schild( https://www.marklin-users.net/forum/posts/t31505-Old-turntable-7186-controlled-with-ARDUINO) nagebouwd, en het werkt! Soms wat mechanische storing vd draaischijf zelf, maar dat is de ouderdom.
Mijn vraag (loop ik al een jaartje of wat mee rond) is of en hoe ik dat membraamtoetsenbord met 8 draadjes naar de arduino eenvoudig (zelf!?) kan vervangen middels een DCC gestuurd apparaatje, wat vervolgens ook door koploper kan worden bestuurd.
Als ik cijfer 1 indruk, gaat de draaischijf naar spooraansluiting 1, druk ik vervolgens opnieuw 1 in, dan draait de schijf 180 graden. Druk ik daarna 4 in, gaat de schijf via de kortste weg naar spoor 4. Dit werkt en zou moeten gelden voor 0 tm 9 (10 sporen). Er is ook nog een reset mogelijkheid door indrukken van * en # op het toetsenbord. Dat laaste hoeft niet persé digitaal te gebeuren.
Ik heb me ingeschreven voor de eerstkomende  Arcomora levering, doch voorlopig nog een absolute leek op dit gebied. Zijn er simpele oplossingen te bedenken zodat Koploper gericht naar bv spoor 1 kan sturen, maw 1 vd cijfers vh toetsenbord kan aansturen. Bv gebruikmakend van een wisseldecoder? Als eea ook nog in automatisch verkeer zou kunnen worden verwerkt?

Met vr groet,
Jan Willem
« Laatst bewerkt op: 15 november 2022, 13:18:34 door Martijn193 »

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraam toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #1 Gepost op: 31 oktober 2022, 18:55:55 »
Wat je kan is "relatief simpel".

Je kan zelf met een 6n137 optocoupler een DCC interface maken voor je Arduino. Als je google't op Arduino DCC interface, dan vind je schema's.

Voor Arduino Nano's heb ik DCC shields ontworpen. Als je een uno heb, kan je het makkelijkste een prototype shield kopen en daar je DCC interface op maken.

Ik heb zelf met 2 libraries voor DCC Arduino's werkend gekregen. Ook dat valt reuze mee. Het is niet veel werk. Ik denk dat dat niet moeilijk is om in je code te knutselen.

Je kan even googlen voor de nmraDcc library of de dynabay DCC library.

Je kan 5 wissel adressen gebruiken om 10 standen te doen. Meer adressen kan altijd nog. Ik weet alleen niet hoe je koploper moet vertellen om je draaischijf om te draaien. Geen ervaring mee.

Je kan ook je code hier posten tussen [ c o d e] tags dan kan ik het voor je aanpassen.

Mvg,

Bas
« Laatst bewerkt op: 31 oktober 2022, 18:57:54 door bask185 »
Train-Science.com
Train-Science github
It ain't rocket science ;-)

JWS

  • Offline Offline
  • Berichten: 33
Re: membraam toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #2 Gepost op: 07 november 2022, 12:13:17 »
Ha Bas,
"6n137 optocoupler een DCC interface maken voor je Arduino" is wellicht wat teveel voor mij.
Ik heb wel een link naar de code die erbij hoort, is dat wat je bedoelt?

[ https://dl.dropboxusercontent.com/s/mnynbv5u5dsob8t/drehscheibe430.ino]


met groet,
Jan Willem

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraam toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #3 Gepost op: 07 november 2022, 12:59:34 »
Het is maar een half uurtje werk. Het is 1 ic een diode en 3 weerstandjes.

Google search gaf ook een kant en klare oplossing https://www.dccinterface.com/product/arduino-model-railway-dcc-interface/.

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

AlbertG

  • Offline Offline
  • Berichten: 822
    • Modelbaan Den Akker / Rocrail / DCC-EX
Re: membraam toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #4 Gepost op: 08 november 2022, 08:28:56 »
Als je toch al een Arduino Uno hebt, kun je er ook een motorshield op drukken en DCC-EX installeren. Dan heb je een DCC centrale.
Maar beter is het een Arduino Mega te gebruiken, dan heb je genoeg geheugen voor o.a. EX-Rail.
Met de scripttaal EX-RAIL zou je dan de commando's richting de draaischijf kunnen sturen.
Meer info: https://dcc-ex.com/
Ik vraag me alleen af of Koploper daarmee overweg kan, maar anders kun je altijd nog overstappen op Rocrail  ;)
Hartelijke groeten,
Albert.
Mijn Youtube kanaal: https://www.youtube.com/@Albert-DenAkker

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraam toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #5 Gepost op: 08 november 2022, 08:50:26 »
Waarom zou een analoog bediende draaischijf als DCC centrale moeten fungeren??
Train-Science.com
Train-Science github
It ain't rocket science ;-)

JWS

  • Offline Offline
  • Berichten: 33
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #6 Gepost op: 15 december 2022, 22:20:08 »
Ik heb geen behoefte aan een andere centrale, mijn IB doet t nog goed. Ik heb wel behoefte aan een manier om het effect van daadwerkelijk een toets indrukken op het membraantoetsenbord kan worden vervangen door bv adressering van dezelfde  arduinoporten op een alternatieve manier. Bv via een puls uit een relais wat via een andere uno die op dcc manier aangesproken kan worden, wordt verstuurd. Of via een wisseldecoder DR4018?? Dus geen wijziging in de originele sketch, maar vervangen van het toetsenbord......
Ik ben een lerende leek, heb net een dccnext in elkaar gezet, die zou ik ook wel willen inzetten, als dat handig lijkt.....
Met groet,
Jan Willem

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #7 Gepost op: 15 december 2022, 22:51:46 »
Citaat
Dus geen wijziging in de originele sketch
Hier ontkom je niet aan. Normaal kan je een Arduino pin op een andere arduino aansluiten waar al een schakelaar op zit.

In het geval van je toetsennatrix is dat erg lastig. Je kan wel een DCC next koppelen door IO lijnen te verbinden maar dat is naar mijn mening  erg moeilijk doen.

Ik heb een kant en klaar DCC shield. Die kan je met 2 of 3 draadjes verbinden aan jouw Arduino en dan ik je sketch aanpassen voor je. Die print heeft wel pin 2 nodig van je Arduino. Het is een kleine ingreep.

Mvg,

Bas

Train-Science.com
Train-Science github
It ain't rocket science ;-)

JWS

  • Offline Offline
  • Berichten: 33
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #8 Gepost op: 16 december 2022, 20:10:13 »
Ha Bas,

Hierbij de link naar de sketch. Op dit moment is o.a. pin 2 bezet door/met het toetsenbord.
Veel verder begrijp ik er niet van....

https://dl.dropbox.com/s/mnynbv5u5dsob8t/drehscheibe430.ino

met gr.
Jan Willem

ivanzon

  • Offline Offline
  • Berichten: 1595
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #9 Gepost op: 16 december 2022, 20:38:32 »
Wat je zou kunnen doen is om met een dcc library uit te lezen welke functie toets is ingedrukt, en die waarde (1 voor F1, 2 voor F2 etc) te gebruiken om de toetsen te simuleren.

Dat zet je op de positie neer van
char tastaturinput = keypad.getKey();
  if (tastaturinput != NO_KEY) {


    int ziel = (tastaturinput - '0');
en dan stuur je het geheel aan door die waarde naar 'int ziel' te schrijven

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #10 Gepost op: 18 december 2022, 11:12:16 »
Ik heb code aangepast:

https://www.dropbox.com/s/o4m5s14ltb0llfk/keypad_dcc.ino?dl=0

Ik kon het niet thuis compileren omdat ik jouw keypad en blink libraries niet heb.
Voordat jij het kan compileren, moet je de Nmra library installeren. Dit kan gelukkig via de ingebouwde library manager en is kapot simpel.

klik: sketch -> include library -> manage libraries


zoek op nmra en klik op instal bij NmraDCC


Ik heb mijn wijzigingen voorzien met commentaar. Als je in de code op zoek gaat naar 'bask185' dan vind je alles.

Ik heb de library geïnclude en een dcc object gemaakt
#include <NmraDCC.h> // bask185: library must be installed into arduino IDE

NmraDcc dcc ;  // bask185: DCC PIN MUST BE CONENCTED TO ARDUINO PIN 2

Ik had een variabele nodig om DCC informatie naar de draaischijf functie te krijgen.
char dccChar ; // global variable used to relay DCC information to the turntable control functions
De dcc communicatie moet geïnitialiseerd worden in void setup()
dcc.init( MAN_ID_DIY, DCC_DECODER_VERSION_NUM, FLAGS_OUTPUT_ADDRESS_MODE | FLAGS_DCC_ACCESSORY_DECODER, 0 ); // bask185: init DCC library
Dan heb ik deze lapjes code toegevoegd aan void loop() om de DCC informatie te koppelen aan de rest.

    char tastaturinput = keypad.getKey();

    dccChar = 0 ;                               // bask185: reset every cycle
    dcc.process() ;                             //   process DCC packets
    if( dccChar != 0 ) tastaturinput = dccKey ; //   if valid DCC instruction is received, copy it to 'tastaturinput'

    if (tastaturinput != NO_KEY) {

En het laatste is de zgn. 'callback functie'. Deze wordt aangeroepen door de DCC library (indirect vanuit dcc.process() ) en hier staan je adressen en standen voor accessoires.

Ik heb hier uit willekeur adressen 100 t/m 104 gekozen. Zo komt de stand 'wissel 100 recht' overeen met jouw membraan knopje '0'. En stand 'wissel 100 gebogen' met knopje '1'.

Je kan dit zelf aanpassen naar believen.
void notifyDccAccTurnoutOutput ( uint16 Addr, uint8 Direction, uint8 OutputPower ) // bask185: this is called when accessory is set
{
    switch( Addr )
    {
    case 100:   if( Direction == 1 ) dccChar = '0' ; // DCC accessory address 100 straight
                else                 dccChar = '1' ; // DCC accessory address 100 curved
                break ;

    case 101:   if( Direction == 1 ) dccChar = '2' ;
                else                 dccChar = '3' ;
                break ;

    case 102:   if( Direction == 1 ) dccChar = '4' ;
                else                 dccChar = '5' ;
                break ;
               
    case 103:   if( Direction == 1 ) dccChar = '6' ;
                else                 dccChar = '7' ;
                break ;

    case 104:   if( Direction == 1 ) dccChar = '8' ;
                else                 dccChar = '9' ;
                break ;
    }
}
( het kan zijn dat ik recht en gebogen heb omgedraaid.... dan moet je Direction == 1 veranderen in Direction == 0)

Dan heb ik nog kleine toevoeging. Jouw keypad gebruikt pin 2, dat moet je aanpassen fysiek en in code omdat die DCC library pin 2 nodig heeft.
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad bask185: pin 2 wordt gebruikt voor DCC, je moet andere pinnen gebruiken
byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad


Het schema voor DCC heb ik op mijn site gezet.

Ik kan je voor 2€ een stukje gaten print met de componentjes sturen dan kan je hem zelf in elkaar solderen. (grofweg 10~15m werk) Ik kan je ook een DCC shield sturen die ik voor een arduino nano gemaakt heb. Die kan je met 3 jumper kabels in je arduino uno pluggen, en hoef je niet te solderen. Maar voor deze vraag ik 6€ incl verzending.

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

JWS

  • Offline Offline
  • Berichten: 33
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #11 Gepost op: 19 december 2022, 17:36:45 »
Dank je wel voor de moeite Bas, Ik stuur je een pb voor nader contact
Met groet,
Jan Willem

JWS

  • Offline Offline
  • Berichten: 33
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #12 Gepost op: 06 januari 2023, 19:25:21 »
Ha Bas,
Heb je mijn pb's ontvangen?
groet,
Jan Willem

bask185

  • Offline Offline
  • Berichten: 4009
Re: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?
« Reactie #13 Gepost op: 06 januari 2023, 19:53:01 »
Yes, I have. Kom er op terug
Train-Science.com
Train-Science github
It ain't rocket science ;-)

JWS

  • Offline Offline
  • Berichten: 33
Voorlopig resultaat eindelijk bereikt.
Mbv Bas is de sketch van Markus (zie de link in het eerste bericht) aangepast en kan ik nu  de oude draaischijf 7186 bedienen via de IB met DCC wisselcommamdo's. Met een arduino NANO en een DCC interface erop. Heb ook de draaischijfmotor gereinigd, blijft wel kritisch krijg ik de indruk.

Nu proberen om de draaischijf binnen koploper  automatisch aan te gaan sturen. Intussen heeft Chris Burger een eigen decoder en een handleiding voor Koploper ontwikkeld, zie het koploperforum. Ik zal wel zo beetje de laatste zijn die op deze manier de draaischijf aan het digitale praten krijgt, was als leek in ieder geval een heel leuk traject. In plaats van sudoku's om de geest scherp te houden.........

met groet,

Jan Willem
« Laatst bewerkt op: 15 maart 2023, 21:24:32 door JWS »