Doel:€250.00
Donaties:€82.50

Per saldo:€-167.50

Steun ons nu!

Laatst bijgewerkt
op 18-05-2021
Algemeen

De stichting

Recente berichten

Van Swarzach naar Swarzburg door nkob
Vandaag om 16:39:54
Roco 63123: TEE RAm 4 bak, sounddecoder problemen. door Sander Fondse
Vandaag om 16:38:47
Mijn eerste H0-modeltreinbaan in aanbouw door Rondje_HO
Vandaag om 16:35:51
Modelspoorbeurs in Houten 17 juli 2021 door Rondje_HO
Vandaag om 16:33:23
Brawa 2021 door Rondje_HO
Vandaag om 16:30:55
Roco Blokkendoos: welke stroomvoerende koppelingen? door Klaas Zondervan
Vandaag om 16:17:56
De bouw van ''Industriepark'' NL in spoor N. door Chrissie
Vandaag om 16:00:00
De bouw van mijn modelbaan in Thailand door Frans
Vandaag om 15:41:24
Toon hier je nieuwe (model-) spooraanwinst(en)... door Rob Ellerman
Vandaag om 15:38:48
Nederdam, H0 1970 - 1990 door Pascal77
Vandaag om 14:41:39
De Hoekse Lijn nader bekeken. door tijgernootje
Vandaag om 14:29:51
Tips voor een natuurgetrouwe modelbaan door Peeweetm
Vandaag om 14:25:38
LTM-51 Garratt in messing, Spoor-0 door tijgernootje
Vandaag om 14:02:35
Ronald’s nieuwe project: Endstation der Linie: “Bahnhof Poggendam door NS264
Vandaag om 13:48:01
Onlangs gespot - gefotografeerd, de foto's door Daan!
Vandaag om 13:40:32
Bruggen-IG: de Hef in N schaal... door jowi
Vandaag om 13:25:27
Een ouderwetsch bakkerijtje in H0 door Rob Ellerman
Vandaag om 13:06:11
Harzwald Hafen Bahn door tijgernootje
Vandaag om 12:48:06
Raadplaatje door Benelux795
Vandaag om 12:44:15
Fleischmann Pendolino renoveren (N) versus chassis Tomytec. door NS264
Vandaag om 12:41:37
De bouw van een modulebaan met Nederlands landschap. door NS264
Vandaag om 12:31:14
Schorumdijk Gem. Vaagburg 1940-1960. (Jaren ‘40-‘60 baan met haventje) door tijgernootje
Vandaag om 12:18:53
Brauhofen 2020, modelbaan in h0. door MartOnTheWeb
Vandaag om 12:06:31
Frans loodsje et cetera door Noordernet
Vandaag om 12:04:06
beluxtrains.net samenstellingen treinen Benelux/INT is niet meer bereikbaar ... door metpetergaathetbeter
Vandaag om 11:22:46
Opschriften verwijderen van metalen lok. Met Cif? door bellejt
Vandaag om 11:14:24
Keerlus bij digitaal gebruik en de DR5000 door VvKan
Vandaag om 11:10:28
Toon hier je (model)TRAM foto's. door Hans Reints
Vandaag om 10:37:01
Pimp my Fleischmann BR01 164 ==> Lofzang op een Fleischmann BR 01 door zuylen
Vandaag om 09:49:50
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door Hans van de Burgt
Vandaag om 09:35:25
  

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

bask185

  • Offline Offline
  • Berichten: 1467
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: 57
    • 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: 945
    • 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: 57
    • 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: 256
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: 945
    • 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: 57
    • 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: 57
    • 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: 945
    • 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: 57
    • 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: 196
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: 1467
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: 945
    • 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: 196
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