Doel:€250.00
Donaties:€0.00

Per saldo:€-250.00

Steun ons nu!

Laatst bijgewerkt
op 03-12-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Mijn eerste H0-modeltreinbaan in aanbouw door Frank 123
Vandaag om 19:08:10
Terschellinger Spoor door FritsT
Vandaag om 19:01:41
La vie...Sud-Est; zolderbaan met thema zuidoost Frankrijk door Paulus
Vandaag om 18:55:06
De bouw van mijn modelbaan in Thailand door Silvolde
Vandaag om 18:06:50
Problemen met digikeijs drc1100 lichtset inbouw door bellejt
Vandaag om 18:01:59
Ombouw/Pimpen Bolle neuzen door BartvD
Vandaag om 17:58:48
Nederland jaren 50 op basis van mijn roots door defender
Vandaag om 17:57:27
Goede wensen voor 2026 door Hans van de Burgt
Vandaag om 17:10:24
20 jaar BNLS jubileum door KNed
Vandaag om 17:03:17
Bitry Bascule in 0e, een nieuw baantje op Micromodules door spoorijzer
Vandaag om 16:42:07
Modelspoordagen 10 & 11 januari 2026 door tothebeach
Vandaag om 16:07:46
'Worst Case' materieel voor testen vrije ruimte, etc... door Klaas Zondervan
Vandaag om 16:07:09
Toon hier je nieuwe (model-) spooraanwinst(en)... door Erwin 054
Vandaag om 15:56:11
Hoe voorkom je strooilicht van smd led? door bellejt
Vandaag om 15:26:01
Starter met spoor G door MOVisser
Vandaag om 14:42:13
Next 18 ESU adapterplaatje door 008200
Vandaag om 14:32:56
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 14:21:09
Show je realistische treinsamenstelling door VAM65
Vandaag om 13:15:56
Rondom Charlois door Huup
Vandaag om 13:07:17
Cherteau, fictieve Waals industriedorp door Hans GJ
Vandaag om 12:39:36
Länderbahn en Reichsbahn locomotieven. door basjuh1981
Vandaag om 12:21:49
VERPLAATST: upload deleten door Duikeend
Vandaag om 11:49:52
Bouwverslag BlueBrixx BR 01 No.108054 (plusminus 1:18) door Eric B
Vandaag om 10:32:21
ESU V5 Decoder setting door Remunj
Vandaag om 10:01:59
Zee. Land. door spoorijzer
Vandaag om 08:54:10
3 januari NVBS oliebollenrit door Thom
Vandaag om 01:57:01
Voordelige treinkaartjes door Seinhuis
Vandaag om 01:41:31
Hulp nodig bij: sleutelen aan Minitrix BR 01 (de oude versies) door Gabriël Bergsma
Vandaag om 00:21:56
De overeenkomst tussen een Ovaalramer en een Motorpost. door FritsT
15 December 2025, 23:00:18
De eerste versie van de Roco 1000 door Huup
15 December 2025, 22:06:39
  

Auteur Topic: Arduino analoge(!) modelbaan sturing  (gelezen 152355 keer)

memen

  • Offline Offline
  • Berichten: 228
  • Märklin H0 - digitaal
    • LocoNet Bedieningspaneel
Re: Arduino analoge(!) modelbaan sturing
« Reactie #60 Gepost op: 21 July 2014, 13:08:24 »
Als je de pin in de software hoog zet en je verbindt de pin vervolgens direct aan de ground, dan is je ic net zo goed stuk hoor.

Wat wel zou kunnen: als je tuimelschakelaar drie contacten heeft, kun je schakelen tussen +5V en GND. Zolang de pin als input staat, kan dat.

Je kunt ook nog kijken of je ic interne pull ups heeft die je in kunt schakelen.

Groeten,

Rauke

Verstuurd van mijn GT-S7500 met Tapatalk
DB 1970 - Esu Ecos I - S88 - Zelfbouw LocoNet Bedieningspaneel - DCC, RailCom, Motorola, mfx

Fritsprt

  • Offline Offline
  • Berichten: 2611
Re: Arduino analoge(!) modelbaan sturing
« Reactie #61 Gepost op: 21 July 2014, 13:16:32 »
Volgens mij kan je zonder problemen een schakelaar aansluiten op een ingangspin.
Deze schakelaar komt tussen pin en ground. De ATMega (de chip op de Arduino) heeft ingebouwde pullup weerstanden die je middels de software kunt selecteren. Indien contact open staat is de pin, middels die ingebouwde pullup hoog. Is de schakelaar gesloten dan is de pin laag.

pinMode(pin, INPUT);           // set pin to input
digitalWrite(pin, HIGH);       // turn on pullup resistors


succes Frits
Groet Frits

Tukker

  • Offline Offline
  • Berichten: 11
    • BliksemSnel
Re: Arduino analoge(!) modelbaan sturing
« Reactie #62 Gepost op: 24 July 2014, 21:19:46 »
Hoi Paul,

Ik sluit meestal de schakelaars aan op de arduino met weerstanden.
Hier staat wel een goede uitleg over schakelaars aan sluiten.

http://sheepdogguides.com/arduino/FA1inp1.htm
Groetjes Tukker

Een dag niet gehobbyd is een dag niet geleefd!

HansQ

  • Offline Offline
  • Berichten: 2040
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino analoge(!) modelbaan sturing
« Reactie #63 Gepost op: 25 July 2014, 09:45:52 »
Citaat
   pinMode(pin, INPUT);           // set pin to input
   digitalWrite(pin, HIGH);       // turn on pullup resistors

Volgens mij kun je in plaats van bovenstaande ook gebruiken:
   pinMode(pin, INPUT_PULLUP); 

De interne pullups van een microcontroller zijn meestal nogal zwak (dus aan de hoge kant).
Bij storingsgevoelige omgevingen gebruik ik meestal een pullup weerstand van tussen de 1K en de 10K, die ik zo dicht mogelijk bij de ingang zet.
De waarde van de weerstand kies ik zo, dat er minimaal een paar mA gaat lopen, dus 10K vind ik bij 5V wat aan de hoge kant...
HansQ, RailClub Utrecht
spoor N modulebouw, electronica, Selectrix

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4655
Re: Arduino analoge(!) modelbaan sturing
« Reactie #64 Gepost op: 27 July 2014, 12:05:32 »
Wat betreft je blokken, je maakt dus dat een deel van een blok uit te zetten is? Maar 1a zit wel achter de motordriver van blok 1? Je gebruikt ze dus alleen om opstelsporen uit te zetten, niet om om te polen neem ik aan. Is het voorzien van station sporen (met eventueel een relais voor spoor 1a en 1b achter elkaar) van eigen motor driver niet handiger dan ze op te nemen in de hoofdnaamruimte? Er kan immers maar 1 loc bestuurd worden per motor controller.

En voor de toekomst, blijft het zo'n simpele baan of moet het dan flink groter worden. Dit ivm dingen die wel of niet makkelijk schalen.

De andere hebben gelijk wat betreft een schakelaar. Deze een input laten schakelen naar GND en voorzien van pullup. Dit kan door intern de pullup aan te zetten, maar deze is zoals genoemd zwak, of door extern de input aan de 5v te verbinden met een weerstand, 1k ofzo. Input hoog houden kan geen kwaad, zolang je er in de code maar een input van maakt. Gelukkig is dit de standaard bij het opstarten.

Wat betreft code, het geven van een naam aan een pin is handig voor de leesbaarheid en zo hoef je de pin maar op een plaats te wijzigen. Doe dan ook iets als
// test programma keuze hand auto
const int KeuzePin = 2;
const int LedPin = 3;
const int Led1Pin = 4;

int keuze = 0;

void setup(){
 
 pinMode(KeuzePin, INPUT);
 pinMode(LedPin, OUTPUT);
 pinMode(Led1Pin, OUTPUT);
En voor je leesbaarheid en om onze sneller fouten te laten vinden, gebruik duidelijkere namen. Een naam als Led1Pin zegt niet zo veel.

Wat betreft het wisselen ben je er al wel grotendeels achter. Ik weet alleen niet waarom je alleen bij het opstarten wilt kunnen wisselen tussen handmatig en automatisch. On the fly is toch veel leuker?

Je kunt hier mooi een switch case constructie gebruiken. Alleen zou ik wel duidelijke namen aan dingen geven (magic word van duidelijk programmeren) en de code wel in een losse functie zetten. Je krijgt dan
// test programma keuze hand auto met behulp van het :  Switch(), case statement

//Leesbare namen voor de bedrijfsmodi
#DEFINE AUTO 1
#DEFINE HANDMATIG 0

const int KeuzePin = 2;
const int LedPin = 3;
const int Led1Pin = 4;
int modus = 0;

void setup(){
 
 pinMode(KeuzePin, INPUT);
 pinMode(LedPin, OUTPUT);
 pinMode(Led1Pin, OUTPUT);
 
 Serial.begin(9600);
 Serial.print("Arduino uno switch test programma");
     
}

void loop(){

    modus = digitalRead(keuzePin);
 
  switch (modus) {
   
    case HANDMATIG:
       handmatigLoop();
       break;
   
    case AUTO:
       autoLoop();
       break;
  }   
}
handmatigLoop() en autoLoop() zijn nu te gebruiken als dat je nu loop() gebruikt alleen afhankelijke van de schakelaar.

Misschien ten overvloede, in het uieindelijke programma geen delay() gebruiken om een led te laten knipperen. Dan kan de Arduino niets tegelijk doen.


Timo
Dit was even een reactie vanaf me telefoon op een vliegveld in oost Duitsland. Nu ga ik weer zweefvliegen, kijken of er nog thermiek is. Over een week weer thuis voor meer vragen.
Verzonden vanaf mijn desktop met Firefox

smits66

  • Offline Offline
  • Berichten: 542
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #65 Gepost op: 28 July 2014, 21:25:06 »
Hoi , volgers

Hans, Tukker, Frits, Rauke, Dimo_Dimo, bedank voor jullie input  (y)

@Timo Bedankt voor je input  (y)

De motor driver die ik gebruik heeft per print twee motor sturingen , motordriver 1 stuurt de hoofdbaan( blok 1 ) en motor driver 1a( blok 1a ) stuurt de opstel/station/wacht sporen binnen blok 1, dit word door 1 motordriver met twee motoraansluitingen gedaan.

Voorbeeld :



De te bouwen modulebaan( de modules zijn klaar, ik ben nog bezig met het baanplan) zal een rij lengte hebben van ongeveer 14 meter
Hoeveel blokken ik wil hebben weet ik nog niet, waarschijnlijk op de hoofdbaan 4 blokken en op de zijlijn 8 blokken.

Helaas werk je code niet, kan ook even niet uitvogelen waarom het niet werkt, ik heb al veel zelf getest maar het werkt niet, krijg
verschillende fout meldingen, dat geld ook als ik de namen anders benoem.

Ik denk dat het niet kan omdat de Arduino maar een programma in de void Loop(){  kan uitvoeren voor zover ik dat weet.

Een andere oplossing kan zijn twee Arduino's te pakken, de eerste voor de handbediening en de tweede voor automatisch bedrijf er moet dan nog een oplossing gezocht worden om te switchen tussen de handbediening en automatisch bedrijf.

Op pin 2 van de ene Arduino  zet ik een LOW  en op de ander een HIGH binnen het programma kijk ik wat voor signaal ik op pin 2 hebt als het een LOW is zal de andere Arduino een HIGH moeten genereren waardoor er een van de twee Arduino's niet word gebruikt.

Ik kan voor die functie een kleine microcontroller gebruiken (atiny) met een programma die de signalen stuurt. (mooier)
Of ik pak een ic met 4 AND poorten en een tuimel schakelaar. (kiss)

@Allen

Mochten jullie nog suggesties hebben hoor ik dat graag.

Mvg Paul
« Laatst bewerkt op: 28 July 2014, 21:28:25 door smits66 »
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

Dirk J

  • Offline Offline
  • Berichten: 1461
Re: Arduino analoge(!) modelbaan sturing
« Reactie #66 Gepost op: 28 July 2014, 21:48:37 »
Vraagje.
Stel, je rijdt met de wijzers van de klok mee. In blok 2 staat tussen de wissels een trein en daarnaast in blok 2A staat ook een trein. Nu wil je de trein uit 2A laten vertrekken terwijl die in 2 blijft staan. Kan dat? Zo nee, ben je daar tevreden mee?

dimo1_dimo1

  • Offline Offline
  • Berichten: 3380
Re: Arduino analoge(!) modelbaan sturing
« Reactie #67 Gepost op: 28 July 2014, 23:22:27 »
Als ik de code met de switch zo zie zou die moeten werken mits je de handmatigloop en autoloop aan maakt..
groeten,
Auke

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4655
Re: Arduino analoge(!) modelbaan sturing
« Reactie #68 Gepost op: 29 July 2014, 09:35:28 »
Hoi Paul,

Ik kan de code zelf helaas ff niet testen op fouten. Zoals gezegd heb ik het op me telefoon geschreven en kan een foutje bevatten. Over een week ben ik weer in Nederland en kan ik de fout zoeken. Het zou iig moeten werken. In loop kan je doen wat je wilt, dus geen reden waarom het, mits geen fouten in de code, niet zou werken. Een tweede Arduino gebruiken, zeker met een extra attiny, is jagen op een mug met een bazoeka  ;D

Timo
Verzonden vanaf mijn desktop met Firefox

smits66

  • Offline Offline
  • Berichten: 542
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #69 Gepost op: 29 July 2014, 18:54:53 »
Hoi volgers

dimo1_dimo1 bedankt voor je input  (y)

@Dirk J
 
???, ik snap je vraag niet helemaal,  ik zal het proberen te beantwoorden.

Ja dat kan als ik dat gedeelte isoleer van de rest van het blok ik zie daar het nut niet van in.

Ik zie alleen niet waarom dat nodig is, blok 1 is een doorgaande spoor, daar zal geen trein zomaar stoppen, alleen in noodsituatie, en als blok 2 eventueel bezet is maar dan kan de trein van blok 1a ook niet vertrekken,  blok 1a kan bv een stationsspoor dus zijn, als blok 1 of 2 vrij is kan de trein van blok 1a vertrekken.

Misschien is het je niet duidelijk maar het ovaaltje dat ik getekend heb is niet mijn modelbaan, het is bedoeld als uitleg hoe mijn blok systeem zal gaan werken.

Als het niet zou kunnen ben ik er tevreden mee.

@ Timo

De screenshot van de foutmeldingen, die ik krijg, en dan heb ik er al een paar opgelost.



Mvg Paul Smits
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

dimo1_dimo1

  • Offline Offline
  • Berichten: 3380
Re: Arduino analoge(!) modelbaan sturing
« Reactie #70 Gepost op: 29 July 2014, 19:02:04 »
Heb je de methoden :
void handmatigloop()
{
}

void autoloop()
{
}

Wel aangemaakt?
Eventueel een serial.println() erin die duidelijk maakt wat de arduino doet
groeten,
Auke

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4655
Re: Arduino analoge(!) modelbaan sturing
« Reactie #71 Gepost op: 29 July 2014, 19:04:44 »
Ah, die foutmelding is simpel. Je moet de functies natuurlijk wel declareren  ;D Je roept nu twee functies op die niet bestaan. Net als alle functies moet je deze wel declareren. Zet in je code dus ook
//Loop functie voor handmatig gebruik
void handmatigLoop(){
   //Hier alle code die je in loop wilt hebben in handmatig bedrijfsnaam
}
//Loop functie voor automatisch  gebruik
void autoLoop(){
   //Hier alle code die je in loop wilt hebben in automatisch bedrijfsnaam
}


Timo
Verzonden vanaf mijn desktop met Firefox

smits66

  • Offline Offline
  • Berichten: 542
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #72 Gepost op: 29 July 2014, 19:13:27 »
Hoi,

Die heb ik inderdaad aangemaakt, zal kijken of ik een andere screenshot kan maken.



En deze foutmeldingen krijg als ik ze in de void Loop(){} zet.



Mvg Paul Smits
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

santerdam

  • Offline Offline
  • Berichten: 3865
Re: Arduino analoge(!) modelbaan sturing
« Reactie #73 Gepost op: 29 July 2014, 19:47:17 »
Het is niet helemaal duidelijk te zien, maar heb je 'void loop(}' staan ipv 'void loop()' ?

Sander

dimo1_dimo1

  • Offline Offline
  • Berichten: 3380
Re: Arduino analoge(!) modelbaan sturing
« Reactie #74 Gepost op: 29 July 2014, 19:52:35 »
Er moet nog void voor je functie declaratie staan
« Laatst bewerkt op: 29 July 2014, 19:54:23 door dimo1_dimo1 »
groeten,
Auke