Auteur Sujet: DCC++ Exploitation des commandes de programmation  (Lu 1342 fois)

Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
DCC++ Exploitation des commandes de programmation
« le: juillet 29, 2018, 11:36:31 am »

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil

Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #2 le: juillet 29, 2018, 02:03:08 pm »


Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #4 le: juillet 29, 2018, 03:52:21 pm »

Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #5 le: juillet 29, 2018, 05:40:33 pm »

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #6 le: juillet 29, 2018, 05:53:57 pm »
« Modifié: juillet 29, 2018, 05:59:57 pm par Tony04 »

Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #7 le: juillet 30, 2018, 12:16:59 am »

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #8 le: juillet 30, 2018, 10:09:47 am »
Bonjour Roland,

pourquoi n'utilises-tu pas une voie de programmation avec l'instruction <W 1 3 100 101> (1 = CV, 3 = nouvelle adresse, 100 et 101 = n'importe quoi), cela permettrait de programmer une machine dont tu ne connais pas l'adresse.

Si tu n'as pas de second booster il te suffit de commuter les PWM et DIR comme ici (mais tu dois connaitre): http://www.locoduino.org/spip.php?article187http://www.locorob1.fr/100-LrAccueil/100-LrAccueil.php?fu=fuStart&wid=1920&hei=1080

Cordialement
Antoine

Rob1

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #9 le: juillet 30, 2018, 10:53:52 am »

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #11 le: août 24, 2018, 07:23:47 pm »

Souris verte

  • Newbie
  • *
  • Messages: 26
  • HO, DCC, Arduino...
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #12 le: août 24, 2018, 11:37:44 pm »
Bonsoir,

dans l'article http://www.locoduino.org/spip.php?article232
///////////////// START / STOP DCC ///////////////////////////////////////

void start_DCC(DCC_ENABLE) {
  digitalWrite(DCC_ENABLE,HIGH);
  digitalWrite(LEDROUGE, HIGH);             // eteint led rouge
}

void stop_DCC(DCC_DISABLE) {
  digitalWrite(DCC_DISABLE,LOW);
  digitalWrite(LEDROUGE, LOW);              // allume led rouge
  delay(1000);
}

Bonne lecture
Yannick

Tony04

  • Full Member
  • ***
  • Messages: 152
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #13 le: août 25, 2018, 12:35:54 am »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1455
  • 100% Arduino et N
    • Voir le profil
Re: DCC++ Exploitation des commandes de programmation
« Réponse #14 le: août 25, 2018, 10:40:45 am »
// affichage courant = la valeur maxi pendant 500 ms
  if ((millis() - gCurrentSampleTime) > 500) {
    gCurrentSampleTime = millis();
    lcd.setCursor(13,1);lcd.print(gCurrent*5);lcd.print(' '); // en mA rels
    gCurrent = 0;
  }
  int iCurrent = analogRead(A0);
  if (iCurrent > gCurrent) {
    gCurrent = iCurrent;
    if (gCurrent > CurrentMax) { // 400 * 5 = 2000 mA
    stop_DCC();
    }
  }
  if ((iCurrent == 0) && (mAutomate.auto_etat > 2)) { // perte de consommation
    if ((millis() - gCurrentNulTime) > NULCURRENT_TIME) {
      mAutomate.auto_etat=INIT;           // RAZ automate
      mAutomate.LRclignote=true;          // led rouge clignote
      mTrain.cran_vitesse = 0;            // vitesse = 0
      mTrain.lumiere=false;
      delay(2000);
      stop_DCC();                         // arrt DCC
      lcd.setCursor(10,1);lcd.print("Faucon");
      // panne de courant : faire STOP puis START pour redmarrer
    }   
  } else {
    gCurrentNulTime = millis();           // relance tempo
  }