Zoeken

 
Geavanceerd zoeken



Welkom, Gast. Alsjeblieft inloggen of registreren.

Gebruikersnaam: 
Wachtwoord:
Sessielengte:

Login met gebruikersnaam, wachtwoord en sessielengte

Modelspoorwijzer.net - ForumAlgemeenMijn baanTopic: Irgendwo in Deutschland
Pagina's: 1 ... 106 107 [108] 109 110 ... 160   Omlaag
Print
Auteur Topic: Irgendwo in Deutschland  (gelezen 909889 keer)
0 geregistreerde gebruikers en 3 gasten bekijken dit topic.
1200blauw
Hero Member

Offline Offline

Berichten: 1583


Benoemd snoodaard


« Antwoord #1605 Gepost op: 17 November 2020, 20:11:42 »

Even wat proberen:



Dat was 'm dus niet... De forumsoftware overrulet de embedded code.

test123

Tekstje ernaast werkt ook niet zolang ook de img nested is.

test123

De tekst alleen geeft wel de correcte hyperlink.

[yt=https://youtu.be/fiCXN9EpRXU][/yt]

Op sommige fora wil zo'n yt-tag wel eens werken, maar ik weet de correcte syntax niet.

« Laatste verandering: 17 November 2020, 20:22:41 door 1200blauw » Gelogd
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1606 Gepost op: 17 November 2020, 20:20:15 »

Die had ik ook geprobeerd en kwam tot dezelfde conclusie.  Grin
Misschien kan het ook wel gewoon niet.
Gelogd

Plettenburg, DB jaren '80 in H0
Noordwaarts
Hero Member

Offline Offline

Berichten: 16779


301 *


« Antwoord #1607 Gepost op: 17 November 2020, 22:27:24 »

Over materieel gesproken, moet Plettenburg haar sporen zelfs voor Deense locs open stellen? Dat is helemaal niet ondenkbaar, kijk en huiver....

Hola, ik heb kennelijk zondag iets gemist! Het toeval wil dat ik juist onlangs op Facebook een foto tegenkwam van een stel V220's die in Duitsland op transport werden gesteld naar Denemarken. Henschel bleef namelijk in gebreke met het leveren van de ME-locs voor DK en daarom kon de DSB op kosten van Henschel V220's huren.



Op mijn beurt kan ik dus gerust zo'n stoere DB-loc inzetten.

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
dneijenhuis
Hero Member

Offline Offline

Berichten: 1631


HCC!m-IG


« Antwoord #1608 Gepost op: 18 November 2020, 00:19:17 »

Los van de Youtube embedding perikelen (lukte mij ook niet, kennelijk een mod voor de forumsoftware nodig) ziet de oplossing er goed uit, daar maken we later wel een printje voor  Smiley
Gelogd

NI
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1609 Gepost op: 18 November 2020, 09:14:19 »

Bij filmpje hoort eigenlijk ook nog dit plaatje:



Dit is wat de serial monitor van de Arduino heeft weergegeven tijdens het opnemen van het filmpje.
De doorgewinterde Koploper-gebruiker kan nu weten wat de bedoeling wordt.

Wordt nog steeds vervolgd...

groet, Huub
Gelogd

Plettenburg, DB jaren '80 in H0
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8836


265*


WWW
« Antwoord #1610 Gepost op: 18 November 2020, 11:33:21 »

Los van de Youtube embedding ziet de oplossing er goed uit, daar maken we later wel een printje voor  Smiley

Als er gesproken wordt van een oplossing, zou er dus een probleem zijn...wat lost dit op?

De doorgewinterde Koploper-gebruiker kan nu weten wat de bedoeling wordt.

Dat is niet doorgewinterd ben wist ik wel, maar leg eens uit aan de mooi-weer Koplopergebruiker(s)
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1611 Gepost op: 18 November 2020, 12:36:34 »

Problemen kennen we niet in Plettenburg, slechts uitdagingen.  Wink
Maar Daan handelt inderdaad wel met voorkennis...

Ik heb in mijn baan dat spoortje waarop ik de buurtgoederentrein kan samenstellen.
Oorspronkelijk kon dat met een vaste loc, later heb ik dat aangepast zodat ik uit twee loc's kon kiezen, zonder dat ik met muis en/of toetsenbord aan de slag moest. Maar eigenlijk wil ik meer mogelijkheden hebben, liefst zelfs dat ik ook de vrijheid heb om dat spoor te gebruiken om ook andere treinen de baan op te sturen. Denk bijvoorbeeld aan de personeelstrein uit het oudste materieel die maar twee keer per dag rijdt, maar waarvoor ik geen ruimte meer heb op de bestaande opstelsporen.

Koploper heeft een optie om buiten de pc om een trein op de baan te kunnen zetten en in automatisch rijden te brengen: extern starten locomotief.
Ik meen dat die optie ooit eens specifiek voor een club is ingebouwd, maar zoals vrijwel alles in koploper, daarna gewoon voor iedereen beschikbaar kwam.
De werking in het kort, je zorgt voor 14 schakelaars die aan een bezetmelder hangen. Met 10 van die schakelaars toets je het decodernummer in, de andere vier zijn om de invoer te resetten, de rijrichting te testen, de rijrichting om te draaien en tenslotte de loc in het blok te plaatsen en het automatisch rijden te starten.

Nu heb ik als DB-rijder een nadeel t.o.v. de NS-rijder. De nummers van het materiaal bestaan uit letters en tot zeven cijfers (tp.III) of zes cijfers (tp.IV). Bij vier beschikbare posities voor een DCC-adres lukt het je dus niet om het nummer van de loc als adres te gebruiken. Die mazzel hebben de NS-ers wel. En ik heb geen logica kunnen bedenken, waarbij ik direct kan herleiden welk adres een loc heeft, zonder dat er dubbele adressen voorkomen. Er is altijd wel ergens een uitzondering op de regel. Als ik ook nog mijn niet Duitse materieel erbij betrek, wordt het helemaal erg.

Wat ik dus wilde is een handzaam kastje met een display waar ik door een lijst met de volledige loc-nummers kan scrollen. Uit die lijst eentje kiezen en dan zorgen dat het kastje ervoor zorgt dat het decodernummer in Koploper komt. Daar gaat de arduino voor zorgen en zie je feitelijk in de serial monitor gebeuren. De getallen zijn eigenlijk virtuele bezetmeldingen, die straks op de centrale als echte bezetmelding worden ontvangen.

In het oorspronkelijke plan zou het daarbij blijven, maar uiteindelijk voor gekozen om het kastje twee modi te geven. Aan de ene kant dus die scroll-lijst, maar ik kan ook direct een decodernummer intoetsen. Dan kan ik de scroll-lijst beperken tot regelmatig gebruikte loc's op dit spoor, terwijl ik toch de mogelijkheid hou om elke loc op deze manier te starten.
Druk ik op * of #, dan kom ik in de scroll-lijst, druk ik op een cijfer, kom ik in de directe invoer. Als ik op de A druk, wordt eerst een reset-opdracht verstuurd en daarna het decoderadres in de vorm van vier losse bezetmeldingen. Nog een keer op A, dan reset ik weer de hele boel.
De B is om de rijrichting te testen, de C om de rijrichting om te keren en de D om het automatisch rijden te starten.

Het doorgeven naar de centrale werkt nog niet. Daar moet loconet voor gaan zorgen, dat wordt de volgende stap.

En uiteindelijk moet ook dit dus een los kastje worden dat alleen via een loconet-kabel met de baan is verbonden. Gewoon omdat het kan.
Als het allemaal ook werkt zoals ik heb bedacht, ga ik Daan lief aankijken. Het is namelijk wel mooi om voor het geheel een printje te maken waarop dan een Arduino Nano, het toetsenbord en het LCD scherm kunnen worden aangesloten

groet, Huub
Gelogd

Plettenburg, DB jaren '80 in H0
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8836


265*


WWW
« Antwoord #1612 Gepost op: 18 November 2020, 13:03:36 »

Een probleem wordt een uitdaging als er een mogelijke oplossing is bedacht en daar lijkt het wel op, dus ik ga akkoord met uitdaging  Grin

Interessant verhaal en voor een goede reden....omdat het kan.
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
Noordwaarts
Hero Member

Offline Offline

Berichten: 16779


301 *


« Antwoord #1613 Gepost op: 18 November 2020, 13:33:23 »

Indrukwekkend, Huub. Je vraagt je eigenlijk af waarom er nog geen commerciële aanbieder op dit idee is gekomen. Of bestaat zoiets toch wel, maar is het vreselijk duur?

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1614 Gepost op: 18 November 2020, 14:01:01 »

Even onder voorbehoud dat het gaat werken, maar dan werkt het alleen in combinatie met koploper en dan alleen nog in vrij specifieke situaties.
Commercieel denk ik niet interessant.
Gelogd

Plettenburg, DB jaren '80 in H0
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1615 Gepost op: 18 November 2020, 22:59:26 »

Yes, het werkt!
Twee plaatjes om (hopelijk) duidelijk te maken wat er in Koploper gebeurt. Ik doe het aan de hand van een loc met decoderadres 2609.



Eerst het uitgangspunt. De communicatielogging is nog maagdelijk en blok 802 (direct rechts van het logging-venster, ongeveer halverwege) is grijs en dus vrij.




En dan nadat het hele riedeltje is doorlopen. De bezetmeldpunten worden dus door de arduino bezet en vrij gemaakt. Bij de regels met "Adres: 2609" wordt een snelheidsopdracht naar de loc gestuurd (het testen van de rijrichting). Eerst vooruit, na de keeropdracht achteruit.
En blok 802 is niet meer grijs en vrij, maar inmiddels geel en bezet door de loc met adres 2609. Je kunt zelfs zien dat de loc inmiddels automatisch rijdt (al staat hij dan nog wel stil).

De bezetmeldingen duren nu steeds een halve seconde en er zit ook een halve seconde tussen twee meldingen. Nu in de praktijk kijken of dat nog wat versneld kan worden. Ik moet ook nog testen met een decoderadres waar meerdere gelijke cijfers inzitten, denk aan de ambtenaren-ICM (4444).
Hoeveel tijd mag er tussen twee meldingen zitten om koploper het ook als meerdere meldingen te laten herkennen?
Wordt dus nog vervolgd, maar ik ben met dit resultaat al heel tevreden.

groet, Huub

« Laatste verandering: 18 November 2020, 23:01:47 door hubertus » Gelogd

Plettenburg, DB jaren '80 in H0
Jakop de Bruin
Global Moderator
Hero Member

Offline Offline

Berichten: 8836


265*


WWW
« Antwoord #1616 Gepost op: 19 November 2020, 00:08:55 »

Dit is ook een hobby in een hobby onderhand  Grin

Mooi dat het doet wat je wil  Duim omhoog
Gelogd

Waldijk '80-'93 en '00-'09
Waldijk on Flickr
Noordwaarts
Hero Member

Offline Offline

Berichten: 16779


301 *


« Antwoord #1617 Gepost op: 19 November 2020, 18:45:04 »

Even onder voorbehoud dat het gaat werken, maar dan werkt het alleen in combinatie met koploper en dan alleen nog in vrij specifieke situaties.
Commercieel denk ik niet interessant.

Ik doel eigenlijk vooral op het feit dat Duitse locs en treinstellen niet eenkennig binnen het viercijferige digitale protocol in te passen zijn.
Een apparaat dat dit euvel ondervangt is commercieel toch best interessant, lijkt mij?

mvg,
Gert
Gelogd

Danmark, mit andet hjemland / maire de Gertwiller (F), vivant dans La-tourbe-et-Vallée
Mijn eigen 'Gouden Pijl': Deansgate, het Ohrstedt-Bahnhof van Engeland! Officially Certified Viking™
hubertus
Hero Member

Offline Offline

Berichten: 8474


WWW
« Antwoord #1618 Gepost op: 19 November 2020, 19:09:01 »

De software (koploper, itrain en al die anderen) kunnen het denk ik allemaal wel. Die geven een naampje aan het beestje en dan hoef je (bijna) niet te worden lastiggevallen door het decodeadres.
En ik vermoed dat de meeste (hand)regelaars het inmiddels ook wel kunnen.
De multimaus is al een redelijk bejaard dingetje, maar die heeft al zoiets als een locbibliotheek, waar je wat herkenbaarder dan een decoderadres uit je locs kunt kiezen.

Inmiddels wat verder gekomen met de proefnemingen. Met adressen < 1000, zoals 12, ging het niet helemaal lekker. Die had ik voor de netheid met voorloopnullen in de loclijst gezet, maar daar maakte het programma een potje van. Adres 12 werd 10, 132 werd 90.
Na weghalen van de voorloopnullen werkt het wel. Naar koploper toe worden worden trouwens die nullen wel eerst verstuurd, dus voor adres 12 krijgt koploper de volgende bezetmeldingen binnen: 3.01 - 3.01 - 3.02 - 3.03.
Waarom de arduino zich erin verslikt, staat op het lijstje om ooit eens uit te zoeken. Een integer is een integer en wordt toch niet ineens iets anders omdat ik er twee nullen voor zet, zou ik zeggen...  Huh?

De tijd van en tussen de bezetmeldingen is ook fors verkort, van een halve seconde naar 50 milliseconde. Dat blijkt genoeg, nog minder heb ik niet geprobeerd.

Voor de liefhebbers hieronder de sketch tot nu toe. Zal nog wel wat in veranderen, er kan nog wat gecomprimeerd worden en er mogen nog wat debug-printopdrachten buiten werking worden gezet.
Maar dat zijn details, dit werkt in elk geval.
 
Code:
/*
  Extern starten locomotief is in Koploper een hulpmiddel om zonder tussenkomst van muis
  en_of toetsenbord een locomotief in een blok te plaatsen en te laten starten met
  automatisch rijden.
  Koploper maakt daarvoor gebruik van 14 bezetmeldpunten:
  - 10 voor de cijfers 0 - 9 om het decoderadres in te tikken
  - 1 om aanwezige inhoud te resetten en het ingetikte decoderadres over te nemen
  - 1 om de rijrichting van de loc te testen (door kort een rijopdracht te geven)
  - 1 om de rijrichting indien nodig om te keren
  - 1 om de loc daadwerkelijk in het blok te plaatsen en het automatisch rijden te
  starten.

  Deze sketch maakt het mogelijk dat dit niet alleen werkt met directe invoer van
  deocderadressen, maar ook locs in een scroll-lijst te zetten met een omschrijving.
  De sketsch zorgt dan dat de benodigde bezetmeldingen naar Koploper worden gestuurd.
*/

// include the library codes voor loconet, het lcd-scherm en het keypad
#include <LocoNet.h>
#include <LiquidCrystal.h>
#include <Keypad.h>


///// Knmerken keypad  /////
const byte ROWS = 4; // vier rijen
const byte COLS = 4; // vier kolommen

// knoppen koppelen aan een array voor de keymap
// waarden zijn ascii
char hexaKeys[ROWS][COLS] = {
  {49, 50, 51, 65},   // 1, 2, 3, A
  {52, 53, 54, 66},   // 4, 5, 6, B
  {55, 56, 57, 67},   // 7, 8, 9 ,C
  {42, 48, 35, 68},   // *, 0, #, D
};

byte rowPins[ROWS] = {10, 7, 14 , 15}; // Pinnen gebruikt voor de rijen van het keypad
byte colPins[COLS] = {16, 17, 18, 19}; // Pinnen gebruikt voor de kolommen van het keypad

// Initialiseer het Keypad
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

//// Loconet ////
#define  TX_PIN   9

static   LnBuf        LnTxBuffer;
static   lnMsg        *LnPacket;

unsigned int address_received;
unsigned int myAddress;

byte numSensors = 14;  // can change to suit the number of sensors used, optional
boolean sensorValue[14] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // default low
byte addrOffset;
byte locRow = 0;
byte inputMode = 0;
byte inputModeOld;
int i;
int locadr[4] = {0, 0, 0, 0};
int locAdresKey;
int locadres;

struct locList {
  String locDescr;
  int locAdresList;
}

// de scroll-lijst voor de locomotieven met omschrijving en decoderadres.
// Lijst kan worden ingekrompen of uitgebreid, maar de laatste waarde moet (" ", 0} zijn
locList[] = {
  {"DB 141 447", 1417},
  {"DB 211 082", 2112},
  {"DB 211 159", 2119},
  {"DB 212 064", 2121},
  {"DB 215 035", 2151},
  {"DB 215 070", 2150},
  {"DB 260 319", 2609},
  {"DB 323 597", 3235},
  {"DB 795 201", 7951},
  {"DB Klv 12", 12},
  {"DR 132 577", 132},
  {"NS 2433", 2433},
  {"OBB 1044", 1044},
  {"SBB 11117", 1117},
  {"SBB 13254", 1324},
  {" ", 0}
};

//berekent het aantal regels in de scroll-lijst
int listLength = sizeof(locList) / sizeof(locList[0]);

void setup() {
  // Configure the serial port for 57600 baud
  Serial.begin(57600);

  // Initialize the LocoNet interface, specifying the TX Pin
  LocoNet.init(TX_PIN);

  // Initialize a LocoNet packet buffer to buffer received bytes
  initLnBuf(&LnTxBuffer) ;

  // Read the decoder base address
  myAddress = 33; // basisadres = 33 (detector 3.1 - 3.14

  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  welkom();
}

void loop() {
  LnPacket = LocoNet.receive() ;  // Check for received LocoNet packets

  if (LnPacket)
  {
    LocoNet.processSwitchSensorMessage(LnPacket);  // process the packet and fetch address received
    //printRXpacket (); // comment out in working version
    if ( LnPacket -> data[0] == 0x83 ) sendAllsensors (); // Global power-on update request

  }



  // Lees de ingedrukte knop uit
  char button = customKeypad.getKey();

  if (button) {
    lcd.clear();
    inputModeOld = inputMode;
    // als * of # wordt gedrukt, invoer via loclijst
    if (button == 35 || button == 42) {
      inputMode = 1;
      //   Serial.println(inputMode);
    }
    // als een cijfer wrordt gedrukt, directer invoer decodernummer
    if (button >= 48 && button <= 57) {
      inputMode = 2;
      // maximaal vier cijfers voor decodernummer, nummer schuift steeds 1 positie op naar links
      locadr[3] = locadr[2];
      locadr[2] = locadr[1];
      locadr[1] = locadr[0];
      locadr[0] = (button - '0'); // maak int van char variabele
      // maak int van ingedrukte nummertoetsen
      locAdresKey = (locadr[3] * 1000) + (locadr[2] * 100) + (locadr[1] * 10) + (locadr[0]);
      lcd.setCursor(0, 0);
      lcd.print("Decodernummer:");
      lcd.setCursor(0, 1);
      lcd.print(locAdresKey);
    }
    // negeer letters die te vroeg worden gedrukt
    if ((inputMode != 3 & button > 65) || (inputMode == 0 & button == 65)) {
      welkom();
    }


    if (inputMode == 1) {

      // scroll met * naar boven
      if (button == 42) {
        if (locRow > 0) {
          locRow = locRow - 1;
        }

      }
      // scroll met # naar beneden
      if (button == 35) {
        // voorkom dat verder wordt gescrolld dan aantal locs
        if (locRow < (listLength - 2)) {
          locRow = locRow + 1;
        }

      }
      // bij eerste keer drukken * of #, ga naar eerste loc in lijst
      if (inputModeOld != inputMode) {
        locRow = 0;
      }
      lcd.setCursor(0, 0);
      lcd.print(">");
      lcd.setCursor(2, 0);
      lcd.print(locList[locRow].locDescr);
      lcd.setCursor(2, 1);
      lcd.print(locList[locRow + 1].locDescr);
    }

    //    if (inputMode == 2) {


    //    }

    // als A wordt ingedrukt, voer de resetroutine uit
    if (button == 65) {

      reset();
      // als A door gebruiker als reset is bedoeld, zet het locadres op 0 en keer
      // terug naar het welkomst-scherm
      if (inputMode == 0 || inputMode == 3) {
        locadres = 0;
        inputMode = 0;
        welkom();
      }

      // ala A door gebruiker als keuze loc uit lijst is bedoeld, haal het locadres
      // van de gekozen loc uit de array
      if (inputMode == 1) {
        locadres = locList[locRow].locAdresList;
      }
      Serial.println(locadres);
      // ala A door gebruiker als keuze loc uit lijst is bedoeld, gerbuik voor het
      // locadres de waarde van de ingetoetste cijfers
      if (inputMode == 2) {
        locadres = locAdresKey;
      }
      // als het locadres niet 0 is, splits het dan in vier losse cijfers die de
      // corresponderende bezetmelder bepalen
      if (locadres != 0) {
        // Serial.print("Stuur locadres voor: ");
        // Serial.println(locadres);

        addrOffset = (locadres % 10000 - locadres % 1000) / 1000;
        sendSensorPulse ();
        addrOffset = (locadres % 1000 - locadres % 100) / 100;
        sendSensorPulse ();
        addrOffset = (locadres % 100 - locadres % 10) / 10;
        sendSensorPulse ();
        addrOffset = locadres % 10;
        sendSensorPulse ();
        for (int i = 0; i <= 3 ; i++) {
          locadr[i] = 0;
        }
        // ga naar de modus om de gekozen loc in het automatisch rijden op te nemen
        inputMode = 3;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("B: test rij-");
        lcd.setCursor(0, 1);
        lcd.print("   richting");
      }
    }


    if (inputMode == 3) {
      // als op B wordt gedrukt, activeer de bezetmelder om de rijrichting te testen
      if (button == 66) {
        Serial.print("Stuur opdracht voor testen rijrichting van loc: ");
        Serial.println(locadres);
        Serial.println("11");
        addrOffset = 11;
        sendSensorPulse ();
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("C: loc omkeren");
        lcd.setCursor(0, 1);
        lcd.print("D: start rijden");
      }

      // als op C wordt gedrukt, activeer de bezetmelder om de rijrichting om te keren
      if (button == 67) {
        Serial.print("Stuur opdracht voor wisselen rijrichting van loc: ");
        Serial.println(locadres);
        Serial.println("12");
        addrOffset = 12;
        sendSensorPulse ();
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("D: start rijden");
      }

      // als op D wordt gedrukt, activeer de bezetmelder om de loc in het blok te plaatsen
      // en automatisch rijden te starten
      if (button == 68) {
        Serial.print("Stuur opdracht voor automatisch rijden van loc: ");
        Serial.println(locadres);
        Serial.println("13");
        addrOffset = 13;
        sendSensorPulse ();
        inputMode = 0;
        lcd.clear();
        welkom();
      }
    }
  }
}



void welkom() {
  // welkomstscherm
  lcd.setCursor(0, 0);
  lcd.print("* of #: loclijst");
  lcd.setCursor(0, 1);
  lcd.print("getal : dec.nr");

}

void reset() {
  // resetroutine: activeer de bezetmelder om de invoer te resetten en ga naar de routine
  // om die te verzenden
  Serial.println("Stuur resetopdracht");
  Serial.println("10");
  addrOffset = 10;
  sendSensorPulse ();
}


void sendAllsensors () {
  // stel alle bezetmelders op 0 (niet bezet) en stuur die naar loconet
  unsigned int tempaddr;
  tempaddr = myAddress + 1;  // point to first sensor address
  for (i = 0; i < numSensors; i++)
  {
    sensorValue[i] = 0;
    LocoNet.reportSensor(tempaddr + i, sensorValue[i]);
    //Serial.print("Sent sensor : ");
    //Serial.println(i);
  }
}



/////////////////////////////////////////////////////////////////////
void sendSensorPulse () {
  // stel de gekozen bezetmelder een korte tijd op 1 en dan weer teru naar 0 en die naar loconet
  for (i = 0; i <= 1; i++)   {
    sensorValue[addrOffset] = 1 - i;
    LocoNet.reportSensor(myAddress + addrOffset, sensorValue[addrOffset]);
    Serial.print(myAddress + addrOffset);
    Serial.print("   ");
    Serial.println(sensorValue[addrOffset]);
    delay(50); // pulsduur en tijd tussen twee bezetmeldingen
  }
}


groet, Huub
Gelogd

Plettenburg, DB jaren '80 in H0
dneijenhuis
Hero Member

Offline Offline

Berichten: 1631


HCC!m-IG


« Antwoord #1619 Gepost op: 19 November 2020, 20:02:39 »

Leading Zero maakt er een Octaal (8-tallig) getal van in Arduino  Grin
https://www.arduino.cc/reference/en/language/variables/constants/integerconstants/
om '0012' te gebruiken met je het als string opslaan en daarna als losse characters omzetten in 0-9 voor het versturen (is vast een handigheidje voor)
Of leading zeroes onderdrukken bij het invoeren...
Gelogd

NI
Pagina's: 1 ... 106 107 [108] 109 110 ... 160   Omhoog
Print
Modelspoorwijzer.net - ForumAlgemeenMijn baanTopic: Irgendwo in Deutschland
« vorige volgende »
Ga naar: