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

Punt- en hartstukken door Marc tramt
Vandaag om 19:25:26
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door Mispoes
Vandaag om 19:23:35
De (3d) knutsels van Ronald. door gdh
Vandaag om 19:22:56
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Bahn-AG
Vandaag om 19:16:54
Piko NS 2015 stroomafname probleem door Ben
Vandaag om 19:08:30
Bauarbeiten im gange door ruudns
Vandaag om 18:50:26
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 18:39:49
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
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
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
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
  

Auteur Topic: membraan toetsenbord besturing arduino tbv draaischijf digitaal via koploper?  (gelezen 2378 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

  • Online Online
  • Berichten: 4007
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

  • Online Online
  • Berichten: 4007
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

  • Online Online
  • Berichten: 4007
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

  • Online Online
  • Berichten: 4007
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

  • Online Online
  • Berichten: 4007
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

  • Online Online
  • Berichten: 4007
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 »