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

Zee. Land. door Huup
Vandaag om 11:51:05
Mijn eerste H0-modeltreinbaan in aanbouw door Jelmer
Vandaag om 11:49:38
Verschil leveranciers DCC decoders? door spoorijzer
Vandaag om 11:39:14
FS UIC-X wagens en hun varianten door 1200blauw
Vandaag om 11:38:41
Handmatige bediening van wissels d.m.v. stangen door spoorijzer
Vandaag om 11:21:47
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:20:00
NS/32 door FritsT
Vandaag om 11:08:41
Perronhoogte TP3 door Pauldg
Vandaag om 10:59:34
01TREFF 2024, 26&27 OKTOBER door Pauldg
Vandaag om 10:50:12
zelfbouw diesel vijf (DE-5) door FritsT
Vandaag om 10:22:10
De Hondsrugbaan door Kees (NS Blokpost 21 Klein Bruntendijk, Friesland)
Vandaag om 10:22:09
Kranenberg, een exercitie in code 70 door meino
Vandaag om 10:18:27
US diorama in H0 door ES44C4
Vandaag om 10:09:14
Schneidersein door W.Broere
Vandaag om 10:04:53
On traXS 15 t/m 17 maart Spoorwegmuseum Utrecht door MOVisser
Vandaag om 09:56:58
Bahnstrecke 5867 door Frank 123
Vandaag om 09:52:10
De bouw van mijn modelbaan in Thailand door Wim Vink
Vandaag om 09:36:22
Foto's gevraagd Den Haag CS, oude toestand door Pauldg
Vandaag om 09:22:33
Vraag over 20 voets container met vlakke zijwanden door henk
Vandaag om 09:02:16
Modelbaan Beltheim. door Hans GJ
Vandaag om 08:39:25
De spoorhaven van Zuidbarge. door mass am see
Vandaag om 08:25:21
BR 44 1263 UK Mit Borsig versuchs Wannentender 2'2'T 34. door Basilicum
Vandaag om 08:12:20
Mijn Ned. N. Spoorbaan ''Echthoven'' door NS264
Vandaag om 07:49:38
Geluid NS Mat'46 vs NS Mat'54 door Thom
Vandaag om 02:40:57
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 00:54:59
Bouw Bührtal III door Schachbrett
Vandaag om 00:36:33
Ijzeren Rijn: militair transport door ijzeren rijn
18 maart 2024, 23:03:28
EifelBurgenBahn door Reinout van Rees
18 maart 2024, 22:07:31
Loconet over TCP/IP door bask185
18 maart 2024, 22:00:49
bezetmelder aantal lengte en treinstellen door Bobos
18 maart 2024, 21:36:41
  

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

bask185

  • Offline Offline
  • Berichten: 3976
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

ramdani

  • Offline Offline
  • Berichten: 100
    • 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: 1023
    • 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: 100
    • 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: 261
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: 1023
    • 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: 100
    • 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: 100
    • 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: 1023
    • 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: 100
    • 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: 244
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: 3976
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.
Train-Science.com
Train-Science github
It ain't rocket science ;-)

NTeering

  • Offline Offline
  • Berichten: 1023
    • 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: 244
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: 358
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