Doel:€250.00
Donaties:€178.00

Per saldo:€-72.00

Steun ons nu!

Laatst bijgewerkt
op 25-01-2023

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

On traXS 2023 17 t/m 19 maart Spoorwegmuseum. door Tjalling
Vandaag om 14:52:30
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door Loki
Vandaag om 14:48:46
La vie...Sud-Est; zolderbaan met thema zuidoost Frankrijk door Paulus
Vandaag om 14:44:28
Spoor op industrieterrein Lage Weide door Rick
Vandaag om 14:41:22
PB models: koplopers (voorbespreking) door Rick
Vandaag om 14:39:21
LAgjmms goederenwagen in HO door Arjan6511
Vandaag om 14:33:59
Helaas geen EUROSPOOR2023 door Ronaldk
Vandaag om 14:33:40
Herstellen ramen mastica bus na spuiten met matte lak door Forever Rocofan
Vandaag om 14:24:42
Frans loodsje et cetera door Biessendorf
Vandaag om 14:08:51
De NS-(of Nedtrain)700 in Ho van Mesu models door Ivo tB
Vandaag om 14:06:34
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 13:51:15
US dieselmaterieel H0 door Ronald Halma
Vandaag om 13:27:11
Vrije vertaling van station Arnhem jaren 80 door HuubvG
Vandaag om 13:23:16
NS-6000 in Spoor-1 door FritsT
Vandaag om 12:58:06
Opeldorf in TT door V200-G2000
Vandaag om 12:28:11
Tenderdraaistel Rivarossi br10 H0 door jans
Vandaag om 12:07:14
IR-treinen Berlijn-Schiphol (blauw/grijs/wit) door Huup
Vandaag om 12:04:06
Hoekstenen door HeRo
Vandaag om 11:33:01
Länderbahn en Reichsbahn locomotieven. door puntenglijder
Vandaag om 11:17:01
(BNLS modulebaan) BNLS-Forumbaan algemeen door iarnrod
Vandaag om 11:09:57
Kellerstein; een nieuwe baan in H0 door Romavami
Vandaag om 11:06:19
't Is niets (h0, opp=0,46 m2) door tothebeach
Vandaag om 10:57:11
Station Kandersteg door janvanbemmel
Vandaag om 10:50:39
Een messing dak walsen, maatje groter door FritsT
Vandaag om 10:46:23
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 10:14:56
NS700/ Nedtrain door wouter-
Vandaag om 09:59:55
Rangeersein door maclion
Vandaag om 09:48:08
Ervaringen met bezorgdiensten (PostNL, DHL, etc) door Eelco Storm
Vandaag om 09:36:26
Een "werkende"sluis door Huib
Vandaag om 09:22:04
Nederland jaren 50 op basis van mijn roots door Ric
Vandaag om 09:18:21
  

Auteur Topic: DCCNext, een nieuwe DCC decoder!  (gelezen 28023 keer)

bask185

  • Offline Offline
  • Berichten: 2821
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #105 Gepost op: 13 mei 2021, 19:14:57 »
Ik zou eerst proberen om met de arcomora en ledje te laten schakelen met elk van de outputs. Dan weet je zeker dat de arocomora het in ieder geval doet. Als je zeker weet dat die het doet, kan je met een draadje zelf de inputs op je arduino testen.

Ik lees alleen dat je je arduino op de arcomora heb aangesloten? Maar weet je zeker dat het programma wel goed werkt? De fout kan bij een of beide apparaten liggen en dat moet je eerst uitsluiten.

Kan je ook je code posten omtrent het inlezen van de inputs?

Mvg,

Bas

ramdani

  • Offline Offline
  • Berichten: 83
    • mijn baantje Dinant
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #106 Gepost op: 14 mei 2021, 16:13:37 »
hallo Bas,

het programma op de arduino had ik al getest met een draadje aan de gnd, de verschillende boodschappen worden getoond als ik de gnd verbindt met 1 van de pinnen;


hier is de sketch van de display:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define MSG1_PIN   2
#define MSG2_PIN   3
#define MSG3_PIN   4
#define MSG4_PIN   5
#define MSG5_PIN   6
#define MSG6_PIN   7
#define MSG7_PIN   8
#define MSG8_PIN   9
#define TMIN       5 // departure time of next train, minimum of random time
#define TMAX      13 // departure time of next train, maximum of random time

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels

byte hour, minute;
byte msgnr,msgnr_old, msgflag, msghour, msgminute;

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void calc_msg_time() {
  msgminute = minute + random(TMIN, TMAX);
  msghour = hour;
  if (msgminute > 59) {
    msghour = (msghour + 1) % 24;
    msgminute = msgminute - 60;
  }
}



void setup() {
  Serial.begin(115200);
  randomSeed (analogRead(0));
  hour   = random(7, 20);
  minute = random(0, 60);
  pinMode (MSG1_PIN, INPUT_PULLUP);
  pinMode(MSG2_PIN,  INPUT_PULLUP);
  pinMode (MSG3_PIN, INPUT_PULLUP);
  pinMode (MSG4_PIN, INPUT_PULLUP);
  pinMode (MSG5_PIN, INPUT_PULLUP);
  pinMode (MSG6_PIN, INPUT_PULLUP);
  pinMode (MSG7_PIN, INPUT_PULLUP);
  pinMode (MSG8_PIN, INPUT_PULLUP);

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  delay(2000);
  display.clearDisplay();

 
 
 
 
}



void loop() {

  // display time and messages
  if(!digitalRead(MSG1_PIN)) msgnr = 1;
  if(!digitalRead(MSG2_PIN)) msgnr = 2;
  if(!digitalRead(MSG3_PIN)) msgnr = 3;
  if(!digitalRead(MSG4_PIN)) msgnr = 4;
  if(!digitalRead(MSG5_PIN)) msgnr = 5;
  if(!digitalRead(MSG6_PIN)) msgnr = 6;
  if(!digitalRead(MSG7_PIN)) msgnr = 7;
 if(!digitalRead(MSG8_PIN)) msgnr = 8;

  if(msgnr != msgnr_old) {
    calc_msg_time();
    msgnr_old = msgnr;
  }

 
   display.setTextSize(1);
  display.setTextColor(WHITE);
  switch (msgnr) {
    case 1://vitrains
       display.setCursor(5,0);  display.println("BRUGGE");   
      display.setCursor(50,10); display.println("OOSTENDE");   
      display.setCursor(115,20); display.println("IC");
       display.setCursor(0, 20); 
  if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
      display.display();
     
    break;
   
case 2://desiro
      display.setCursor(50,0);  display.println("MECHELEN");   
      display.setCursor(5,10); display.println("ANTWERPEN-CENTRAAL");   
      display.setCursor(115,20); display.println("S");
       display.setCursor(0, 20); 
  if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();
    break;

   
case 3://benelux
      display.setCursor(5,0);  display.println("ANTWERPEN-CENTRAAL");
      display.setCursor(50,10); display.println("AMSTERDAM CS");
      display.setCursor(115,20); display.println("IC");
       display.setCursor(0, 20); 
  if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();
    break;

   
    case 4://m6
      display.setCursor(5,0);  display.println("BRUGGE");   
      display.setCursor(50,10); display.println("BLANKENBERGE");   
      display.setCursor(115,20); display.println("IC");
       display.setCursor(0, 20); 
       if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();
       
 
    break;

    case 5://am54
      display.setCursor(50,0);  display.println("LEUVEN");   
      display.setCursor(5,10); display.println("LIEGE-GUILLEMINS");   
      display.setCursor(115,20); display.println("IC");
       display.setCursor(0, 20); 
       if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();

 
    break;
   
case 6://lsmodels
      display.setCursor(5,0);  display.println("Brussel");
      display.setCursor(50,10); display.println("Welkenraedt");
      display.setCursor(115,20); display.println("IC");
       display.setCursor(0, 20); 
  if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();
    break;

    case 7://classic
      display.setCursor(5,0);  display.println("Yogyakarta");   
      display.setCursor(50,10); display.println("Jakarta");   
      display.setCursor(115,20); display.println("T");
       display.setCursor(0, 20); 
       if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();

 
    break;

    case 8://lsmodels
      display.setCursor(5,0);  display.println("Ettelbruck");
      display.setCursor(50,10); display.println("Luxembourg");
      display.setCursor(115,20); display.println("IR");
       display.setCursor(0, 20); 
  if(msghour < 10) display.print(" ");
  display.print(msghour);
  display.print(":");
  if(msgminute < 10) display.print("0");
  display.print(msgminute);
       
  display.display();
    break;
   
    }

    display.clearDisplay();
 
   
   
 
}

ik ga morgen de arcomora eens testen met een ledje;

mvg,
Michel
C+K rail,Weichen-Walter flexrail,z21start,Itrain
https://forum.3rail.nl/index.php?topic=71005.0

NTeering

  • Offline Offline
  • Berichten: 997
    • ARduino Controlled MOdel RAilway
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #107 Gepost op: 14 mei 2021, 17:58:09 »
Heb je er aan gedacht om bij het tonen van een bericht eerst het 'oude' bericht 'uit' te zetten door het DCC-adres te sturen van het oude bericht?

Nico

ramdani

  • Offline Offline
  • Berichten: 83
    • mijn baantje Dinant
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #108 Gepost op: 14 mei 2021, 21:11:34 »
@Nico,werken met buddypoorten bedoel je?

een paar nieuwe testen gedaan,
eerst elke uitgang van de DCCNext getest, werken allemaal;
dan van 2 arduinos elke input getest, werken allemaal,
zolang ik 2 inputs per arduino aansluit werkt het, zodra ik meerdere inputs aansluit wordt alleen display 7 of 8 getoond en werkt er maar 1 uitgang per arduino;
de uitgangen aansluiten aan andere inputs verandert niets, zodra er meer dan 2 inputs worden aangesloten wordt display 7 of 8 getoond;

mvg,
Michel
C+K rail,Weichen-Walter flexrail,z21start,Itrain
https://forum.3rail.nl/index.php?topic=71005.0

Alex Langenkamp

  • Offline Offline
  • Berichten: 263
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #109 Gepost op: 14 mei 2021, 21:55:51 »
Wat Nico bedoeld denk ik. Zodra je via de DCC next een poort digitaal hoog zet. En daarna een andere poort hoog zet, heb je twee poorten hoog staan. Zet je dan ook de derde poort hoog, dan heb je er al drie hoog staan. Ze vallen niet automatisch weer af naar laag.

Zet je bijvoorbeeld poort 1 hoog en wil je daarna poort 2 hoog zetten, dan moet je dus eerst poort 1 af laten zetten en dan poort 2 hoog. Dat principe doe je ook met je draadje. De DCC Next moet echter ook een comando krijgen om een poort weer af te schakelen.

Het kan zijn dat het daar fout gaat.

Groet Alex

NTeering

  • Offline Offline
  • Berichten: 997
    • ARduino Controlled MOdel RAilway
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #110 Gepost op: 15 mei 2021, 09:37:30 »
Dat is inderdaad precies wat ik bedoel te zeggen.
Je kunt beter geen single steady gebruiken maar een single one shot.
Zet in de ArLoco sketch de pinnummers in een array en loop met een for-loop alle pinnen af.
Zet ook alle te tonen teksten in een array. Voor iedere regel een array
Dan heb je het switch-case statement niet meer nodig.

for n=0 to 7
   if digitalread (pin[n])==HIGH)
      display.setCursor(50,0);  display.println(Tekstregel1[n]);
      display.setCursor(50,10); display.println(Tekstregel2[n]);
      display.setCursor(115,20); display.println(Tekstregel3[n]);
      ...
      ...
next

Ik hoop dat het idee een beetje duidelijk is

Nico
« Laatst bewerkt op: 15 mei 2021, 09:44:37 door NTeering »

ramdani

  • Offline Offline
  • Berichten: 83
    • mijn baantje Dinant
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #111 Gepost op: 15 mei 2021, 10:13:22 »
Bedankt Nico en Alex,

hier kan ik verder op borduren,

mvg,
Michel
C+K rail,Weichen-Walter flexrail,z21start,Itrain
https://forum.3rail.nl/index.php?topic=71005.0

ramdani

  • Offline Offline
  • Berichten: 83
    • mijn baantje Dinant
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #112 Gepost op: 16 mei 2021, 14:10:04 »
Wat Nico bedoeld denk ik. Zodra je via de DCC next een poort digitaal hoog zet. En daarna een andere poort hoog zet, heb je twee poorten hoog staan. Zet je dan ook de derde poort hoog, dan heb je er al drie hoog staan. Ze vallen niet automatisch weer af naar laag.

Zet je bijvoorbeeld poort 1 hoog en wil je daarna poort 2 hoog zetten, dan moet je dus eerst poort 1 af laten zetten en dan poort 2 hoog. Dat principe doe je ook met je draadje. De DCC Next moet echter ook een comando krijgen om een poort weer af te schakelen.

Het kan zijn dat het daar fout gaat.

Groet Alex

ik heb dit geprobeerd met iTrain, daar kan je met een aspect verschillende adressen schakelen, telkens alle poorten laag schakelen en 1 hoog, maar er worden maar 2 boodschappen getoond;

mvg,
Michel
C+K rail,Weichen-Walter flexrail,z21start,Itrain
https://forum.3rail.nl/index.php?topic=71005.0

NTeering

  • Offline Offline
  • Berichten: 997
    • ARduino Controlled MOdel RAilway
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #113 Gepost op: 16 mei 2021, 14:46:53 »
Citaat
daar kan je met een aspect verschillende adressen schakelen
Dat klinkt als seinen omzetten.
Maar het gaat hier niet over een sein.
Als je single one shot gebruikt i.p.v. single steady hoef je ook geen ander adres 'uit' te zetten.

iTrain hoeft alleen maar het bijbehorende adres te zetten.
Citaat
telkens alle poorten laag schakelen en 1 hoog
Je hoeft alleen maar het laatst gezette adres weer laag te maken.
Met single one shot is dat hetzelfde adres; met single steady is dat een ander adres.

Nico

ramdani

  • Offline Offline
  • Berichten: 83
    • mijn baantje Dinant
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #114 Gepost op: 16 mei 2021, 15:29:48 »
met single shot toont hij het display zolang er een puls is, zodra de puls gedaan is toont hij terug het oude beeld,
met single steady verandert het display wel;
maar of het nu single steady of single shot is, het verandert niets aan het probleem;

manueel heb ik dat ook geprobeerd om eerst poort 1 hoog te schakelen, dan laag te schakelen, dan poort 2 hoog te schakelen, enz. met de andere poorten;
maar hij blijft bij dezelfde 2 boodschappen;

toch bedankt  voor de moeite,Nico (y) (die DCCNext op zich werkt wel goed)

mvg,
Michel
« Laatst bewerkt op: 16 mei 2021, 15:55:15 door ramdani. Reden: aanvullende informatie »
C+K rail,Weichen-Walter flexrail,z21start,Itrain
https://forum.3rail.nl/index.php?topic=71005.0

PeterC

  • Offline Offline
  • Berichten: 216
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #115 Gepost op: 26 mei 2021, 21:20:34 »
Geachte lezers,

Ik heb een DCCNext 6.1 in gebruik voor 12 servo's en die werkt prima. Op een toevoeging in de handleiding staat dat er 16 servo's mogelijk zouden zijn. Ik zie die mogelijkheid echter niet, kan ook vanaf pin 13 geen servo opgeven, zie ik iets over het hoofd?

PeterC

bask185

  • Offline Offline
  • Berichten: 2821
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #116 Gepost op: 27 mei 2021, 08:24:36 »
De arduino servo library kan er maar 12 handelen op een atmega328 chip.

NTeering

  • Offline Offline
  • Berichten: 997
    • ARduino Controlled MOdel RAilway
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #117 Gepost op: 27 mei 2021, 10:20:30 »
Je kunt maximaal 12 servo's aansturen maar daarvoor kun je alle 16 poorten gebruiken.
In die toevoeging staat dat je ook de poorten 13 t/m 16 kunt gebruiken voor servo's.
Dat is iets anders dan dat je 16 servo's zou kunnen gebruiken.

Ook staat ergens (pag. 6 bovenaan) dat je maximaal 12 servo's kunt gebruiken.

Nico

PeterC

  • Offline Offline
  • Berichten: 216
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #118 Gepost op: 27 mei 2021, 21:26:59 »
Heren,

Bedankt voor de verhelderende uitleg, ik had het verkeerd begrepen.

PeterC

Jerome

  • Offline Offline
  • Berichten: 357
Re: DCCNext, een nieuwe DCC decoder!
« Reactie #119 Gepost op: 20 juli 2021, 21:54:55 »
Hallo Allemaal,

Ik ben de DCCNext een beetje aan het testen en ontdekken, er leuk wat je er allemaal mee kan doen. En met de uitleg op de Arcomora site en de video's goed te doen!

Ik heb wel  een vraag voor de Arduino experts hier: Poort 16 krijg ik niet aan de praat. Iemand enig idee? Wellicht resetten?



Greetz, Jerome