1/160 - Echelle N

Le Forum consacré à l'Echelle N
 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
N'hésitez pas à consulter le calendrier et les événements du forum pour voir les manifestations près de chez vous !
-47%
Le deal à ne pas rater :
SAMSUNG T7 Shield Bleu – SSD Externe 1 To à 89,99€
89.99 € 169.99 €
Voir le deal

 

 Problème "semi-automatisation" électronique de signaux

Aller en bas 
+8
JEPE
SavignyExpress
Gbo95
takeo
Metienne78
DMARRION
tram47
alemonb
12 participants
Aller à la page : Précédent  1, 2, 3
AuteurMessage
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeDim 6 Oct 2013 - 3:09

Bonjour les amis,

Je reviens vers vous, presque un an après, car nous n'avons pas pu réaliser le PIC avec takeo. Et malgré énormement de bonne volonté et de temps passé sur Internet à essayer de comprendre comment faire un montage avec PIC, je n'y suis pas arrivé... Alors, à moins que l'un d'entre vous soit assez calé sur le sujet pour m'aider, je vais devoir repasser à de l'électronique plus abordable.

Malheureusement, il me faut absolument des boutons poussoirs fugitifs et je ne vois pas comment adapter les schémas qui ont été proposés jusqu'ici.

Donc, help Surprised 
Revenir en haut Aller en bas
https://forum.trains-160.be
DMARRION
Membre
Membre
DMARRION


Masculin Age : 66
Localisation : THEZEY ST MARTIN (54)
Nombre de messages : 4343
Date d'inscription : 27/12/2010

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeLun 7 Oct 2013 - 18:47

Bonjour

Bon, ben retour à la case départ !
Je vais d'abord regarder si je n'ai pas un clavier à 4 boutons à te céder dans mon stock de pièces de récupération, sinon ce sera la solution des poussoirs fugitifs + carte électronique avec des composants classiques (pas de programmation), je pense pouvoir établir un schéma qui réalise cette fonction.
Si ça t'interesse, on en reparle la semaine prochaine.
Revenir en haut Aller en bas
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 8 Oct 2013 - 5:31

Bonjour DMARRION,

Toujours fidèle au poste et je t'en remercie Wink

J'ai reçu une proposition par message privé qui utilise des microprocesseurs. Et comme je l'ai indiqué dans ma réponse à ce même message, j'ai un doute sur la possibilité de maintenir ou de faire évoluer par moi même ce type de solution que je maîtrise absolument pas, malgré l'envie...

Même si je suis très loin d'être un cador en électronique, l'avantage c'est que je saurai toujours m'en sortir plus facilement Very Happy

Donc à l'occasion, si tu peux élaborer ce schéma, même de manière très synthétique, afin de voir si cela correspondrait, ce serait vraiment très gentil de ta part.
Revenir en haut Aller en bas
https://forum.trains-160.be
SUPERN
Membre
Membre
SUPERN


Masculin Age : 76
Localisation : Charente Maritime
Nombre de messages : 306
Date d'inscription : 24/06/2013

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMer 9 Oct 2013 - 4:54

Bonsoir à tous,
Alemonb, est-ce que tu veux que l'alimentation des voies soit aussi commandée?
Si oui tu pourrais ajouter une deuxième galette comme montrée sur les photos de Tram47!
A+
Revenir en haut Aller en bas
SUPERN
Membre
Membre
SUPERN


Masculin Age : 76
Localisation : Charente Maritime
Nombre de messages : 306
Date d'inscription : 24/06/2013

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMer 9 Oct 2013 - 4:57

Salut Alemonb,

Merci pour ton message d'accueil.
En regardant ce fil, je me demandais si tu ne voudrai pas aussi commander l'alimentation des voies?
Tu pourrais le faire en ajoutant une deuxième galette comme montrée sur le photos de Tram47!
A+
Revenir en haut Aller en bas
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMer 9 Oct 2013 - 6:46

Bonjour Supern,

De quel message d'accueil parles-tu ? :-]

Je ne souhaite pas commander les voies car j'estime que cela automatise un peu trop la conduite Wink
Revenir en haut Aller en bas
https://forum.trains-160.be
SUPERN
Membre
Membre
SUPERN


Masculin Age : 76
Localisation : Charente Maritime
Nombre de messages : 306
Date d'inscription : 24/06/2013

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMer 9 Oct 2013 - 20:04

OK dans ce cas il faut rester sur une seule galette ou avec des poussoirs!
Bonne continuation
Revenir en haut Aller en bas
jlb
Membre
Membre
jlb


Masculin Age : 60
Localisation : Ici
Nombre de messages : 1544
Date d'inscription : 31/12/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeLun 14 Oct 2013 - 7:47

Bonsoir alemonb,

Je fais un peu d'Arduino avec ma fille (elle est au collège et veut faire de la robotique plus tard)

Hier, nous avons résolu ton pb en 1h30.

Le matériel : un Arduino Uno, des led rouges et vertes, des résistances de 1k et de 47k.

Nous n'avions pas de commutateur rotatif 4 pôles donc on manœuvre en connectant un fil. 8 broches d'entrées et de sorties numériques (0V ou 5V) de l'arduino sont utilisées, 4 en sorties (les 2,3,4 et 5) et 4 en entrées (les 8, 9, 10 et 11). Les 4 en sortie servent à piloter les feux, les 4 en entrée à choisir celui qui est au vert à partir du commutateur rotatif.

L'Arduino lit le commutateur et manœuvre les LED.

Le programme est le suivant

Code:
/*
 * broches en sortie pour commander les feux
 * À l'état haut, 5V, le feux est vert.
 * À l'état bas, 0V, le feux est rouge.
 */
int feux0 = 2;
int feux1 = 3;
int feux2 = 4;
int feux3 = 5;

/*
 * Broches d'entrée pour le commutateur 4 positions
 * Les entrées sont tirées à 0V par des résistances de 47kΩ
 * Les commutateur place 5V sur l'entrée
 */
int bouton0 = 8;
int bouton1 = 9;
int bouton2 = 10;
int bouton3 = 11;

/*
 * La table d'état des feux 4 lignes, 4 colonnes
 * Les lignes sont la position du commutateur
 * Les colonnes l'état de chaque feux
 * Il n'y en a donc qu'un au vert tandis que les autres sont rouges
 */
const uint8_t etatfeux[4][4] = {
  { HIGH, LOW, LOW, LOW },
  { LOW, HIGH, LOW, LOW },
  { LOW, LOW, HIGH, LOW },
  { LOW, LOW, LOW, HIGH }
};

/*
 * Setup est exécuté 1 fois au démarrage
 */
void setup() {                
  /* Les broches de pilotage des feux sont en sortie */
  pinMode(feux0, OUTPUT);
  pinMode(feux1, OUTPUT);
  pinMode(feux2, OUTPUT);
  pinMode(feux3, OUTPUT);
  /* Les broches du commutateur sont en entrée */
  pinMode(bouton0, INPUT);  
  pinMode(bouton1, INPUT);  
  pinMode(bouton2, INPUT);  
  pinMode(bouton3, INPUT);  
}

/*
 * loop est exécute répétitivement
 */
void loop() {
  /*
   * Au début on considère que le pole 0 du commutateur est sélectionné
   * Ceci afin d'avoir une valeur par défaut au cas où le commutateur ne
   * fonctionnerait pas
   */
  static int positionBouton = 0;
  
  /* Lit chaque pole  et met son rang dans positionBouton si le pole est a 5V */
  if (digitalRead(bouton0) == HIGH) {
    positionBouton = 0;
  }
  else if (digitalRead(bouton1) == HIGH) {
    positionBouton = 1;
  }
  else if (digitalRead(bouton2) == HIGH) {
    positionBouton = 2;
  }
  else if (digitalRead(bouton3) == HIGH) {
    positionBouton = 3;
  }
  
  /* Allume les feux, positionBouton sélectionne la ligne du tableau, le feu sélectionne la colonne */
  digitalWrite(feux0,etatfeux[positionBouton][0]);
  digitalWrite(feux1,etatfeux[positionBouton][1]);
  digitalWrite(feux2,etatfeux[positionBouton][2]);
  digitalWrite(feux3,etatfeux[positionBouton][3]);
}
Une vidéo (désolé la LED rouge de gauche est masquée par les fils)



Voilà

C'est fait. C'est un peu pour montrer que faire ce genre de chose avec un micro-contrôleur c'est simple si on dispose d'un environnement comme l'Arduino.

Si tu as besoin d'éclaircissements n'hésite pas.
Revenir en haut Aller en bas
http://modelleisenbahn.triskell.org
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeLun 14 Oct 2013 - 23:04

Bonjour jlb,

C'est complètement dingue, je suis ébahi ! :shock:Bravo à toi et ta fille pour avoir trouvé la solution mais également l'avoir si bien expliquée, sans parler de la vidéo qui est la cerise sur le gâteau. Like a Star @ heaven

Pour tout dire, la semaine dernière, gfaoplus m'a contacté par message privé pour me proposer gentiment son aide. Nous avons ensuite passé plus de 40 minutes au téléphone et il m'a parlé de l'Arduino justement ainsi que du reportage à son sujet dans le LR de ce mois-ci. Du coup, je me suis rendu sur leur forum et j'ai vu un fil de discussion, déjà bien entamé, qui m'a permis d'en apprendre plus sur ce produit et ses capacités. J'avais d'ailleurs déjà dessiné un petit schéma pour l'utiliser et je projetais de l'acheter cette semaine après avoir vérifié auprès de gfaoplus que la carte que j'avais en vue fait l'affaire.

Et puis ce midi, je tombe sur ton message et je vois que tout le travail est déjà fait. Franchement, bravo encore une fois à toi et ta fille (qui j'espère continuera également le train électrique Wink).

Je vais donc accélérer le processus de prise de possession d'une carte pour commencer les tests le plus rapidement possible. Sachant que j'ai une ou deux petites adaptations à faire. Ensuite, dès que ce sera fini, je posterai le résultat.

Encore une fois, merci à tous pour votre intéressement à cette petite colle.
Revenir en haut Aller en bas
https://forum.trains-160.be
DMARRION
Membre
Membre
DMARRION


Masculin Age : 66
Localisation : THEZEY ST MARTIN (54)
Nombre de messages : 4343
Date d'inscription : 27/12/2010

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 15 Oct 2013 - 5:44

Bonjour

Je suis content que tu aies trouvé ce qui te convient.

J'ai néanmoins eu le temps de faire le schéma avec des circuits logiques, je le donne tout de même "pour le fun".
Ce n'est pas très compliqué et ça doit pouvoir tenir sur une carte pas bien grande : 2 circuits intégrés type CD 4011 à 14 pattes, 12 diodes de signal, 16 résistances celles pour les LED comprises.
Le condensateur de 0,1 µF est à souder en parallèle sur le poussoir que l'on choisit pour déterminer quel feu sera automatiquement mis au vert à la mise sous tension.
Au niveau prix de revient, on doit être en dessous de la solution Arduino (les CD 4011 et les diodes de signal coûtent très peu cher), mais il y a plus de travail (circuit imprimé à faire, etc)
Problème "semi-automatisation" électronique de signaux - Page 3 Select10

Bonne continuation !
Revenir en haut Aller en bas
gfaoplus
Membre
Membre
gfaoplus


Masculin Age : 63
Localisation : Ile de France - Pontoise
Nombre de messages : 117
Date d'inscription : 01/03/2012

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 15 Oct 2013 - 6:08

Bonjour,
très élégant et très efficace l'utilisation d'un tableau.
Bravo à jlb et à sa fille

Il me semble qu'il faudrait ajouter le cas où tous les signaux sont au rouge.
Ce qui suppose une entrée supplémentaire et un tableau à 5 colonnes.
Revenir en haut Aller en bas
https://www.ligea-modelisme.fr
jlb
Membre
Membre
jlb


Masculin Age : 60
Localisation : Ici
Nombre de messages : 1544
Date d'inscription : 31/12/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 15 Oct 2013 - 6:16

C'est vrai que l'Arduino est plutôt sur-dimensionné pour cette application. La solution de Dominique est plus économique.

Mais, l'intérêt est aussi d'ouvrir une porte vers des choses plus élaborées qui ne sont pas vraiment possible à faire avec des composants non programmables : faire clignoter le feu vert sur pression d'un autre bouton par exemple. Il y a plein de choses à découvrir.

Le micro-contrôleur comparé aux composants non programmables (électronique classique) c'est comme le vélo comparé à la marche à pied. On va plus vite, plus loin en se fatiguant moins. Mais faut apprendre à en faire. L'Arduino c'est le vélo avec les roulettes, ça permet de monter dessus tout de suite et rien n'empêche de retirer les roulettes ensuite Wink
Revenir en haut Aller en bas
http://modelleisenbahn.triskell.org
jlb
Membre
Membre
jlb


Masculin Age : 60
Localisation : Ici
Nombre de messages : 1544
Date d'inscription : 31/12/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 15 Oct 2013 - 6:21

Et merci à alemonb et à gfaoplus pour les compliments que je transmettrai à ma fille Wink
Revenir en haut Aller en bas
http://modelleisenbahn.triskell.org
jlb
Membre
Membre
jlb


Masculin Age : 60
Localisation : Ici
Nombre de messages : 1544
Date d'inscription : 31/12/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeMar 15 Oct 2013 - 21:56

Concernant tes signaux :

D'après ce que je lis, ils sont prévus pour du 12V. Il y a donc une résistance en série pour limiter le courant à 20mA. L'Arduino Uno sort du 5V. Ses broches en sortie sont limitées à 40mA (ça passe donc) et la consommation totale ne doit pas dépasser 200mA (4 feux x 20mA : 80mA, ça passe aussi). Par conséquent il faut changer les résistances des feux pour les alimenter sous 5V.

Une LED rouge a une tension de seuil de 1,6 à 2V. Prenons 1,8V

Pour 20mA, il faut donc une résistance (R = U/I) de (5-1,8 )/0,02 = 160Ω

Une LED verte a une tension de seuil de 2,1 à 2,5V. Prenons 2,3V

Pour 20mA, il faut donc une résistance de (5-2,3)/0,02 = 135Ω (140)

Mais on peut augmenter la résistance pour avoir un éclairage à son goût et à la puissance d'éclairage de la LED. Par exemple sur la vidéo ce sont des 1kΩ. Les diodes sont très lumineuses.

Le schéma pour commander les 2 LEDs rouge et verte avec un seul fil est le suivant :

Problème "semi-automatisation" électronique de signaux - Page 3 Cablagefeu

Le 5V et la masse sont à prendre sur la carte Arduino Uno, La commande est l'une des sorties feux0, feux1, feux2 ou feux3.

Quand la commande est à 0V, la LED rouge est alimentée. Quand elle est à 5V, la LED verte est alimentée.

Pour le commutateur, il faut mettre des résistances de tirage à la masse et relier la broche commune au +5V (les deux étant aussi à prendre sur l'Arduino)

Problème "semi-automatisation" électronique de signaux - Page 3 Cablagecommutateur

Voilà, comme ça c'est complet Wink
Revenir en haut Aller en bas
http://modelleisenbahn.triskell.org
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeDim 10 Nov 2013 - 5:18

Bonjour à tous,

Ca y est, le projet est concrétisé et terminé ! Pour rappel, l'idée est de commander deux groupes de 4 signaux rouge/vert avec retour sur le TCO (donc deux LED alimentées par sorties). Lorsqu'on active un signal, les 3 autres du même groupe doivent passer au rouge. Si l'on appuie à nouveau sur le bouton correspondant à un signal qui est au vert, ce dernier repasse au rouge.

J'ai donc utilisé un Arduino Leonardo câblé comme ci-dessous.
Problème "semi-automatisation" électronique de signaux - Page 3 Schema10

Et voici le code que j'ai écris :
Code:
// VARIABLES
// Définition des PIN pour les 8 signaux rouge/vert (16 PIN)
int signal1A = A4;
int signal1B = A5;
int signal2A = 0;
int signal2B = 1;
int signal3A = 2;
int signal3B = 3;
int signal4A = 4;
int signal4B = 5;
int signal5A = 6;
int signal5B = 7;
int signal6A = 8;
int signal6B = 9;
int signal7A = 10;
int signal7B = 11;
int signal8A = 12;
int signal8B = 13;
// Définition des PIN pour les 8 bouttons matricés (2 PIN)
int buttonA = A0;
int buttonB = A1;
// Définition des tableaux des états pour les deux groupes de boutons
int arraySignaux0[4] = {0, 0, 0, 0};
int arraySignaux1[4] = {0, 0, 0, 0};
// Définition des variables antirebonds pour les deux groupes de boutons
int antiRebond0 = 0;
int antiRebond1 = 0;

// PARAMETRAGE
void setup() {
  // Paramétrage des PIN des signaux en sorties
  pinMode(signal1A, OUTPUT);
  pinMode(signal1B, OUTPUT);
  pinMode(signal2A, OUTPUT);
  pinMode(signal2B, OUTPUT);
  pinMode(signal3A, OUTPUT);
  pinMode(signal3B, OUTPUT);
  pinMode(signal4A, OUTPUT);
  pinMode(signal4B, OUTPUT);
  pinMode(signal5A, OUTPUT);
  pinMode(signal5B, OUTPUT);
  pinMode(signal6A, OUTPUT);
  pinMode(signal6B, OUTPUT);
  pinMode(signal7A, OUTPUT);
  pinMode(signal7B, OUTPUT);
  pinMode(signal8A, OUTPUT);
  pinMode(signal8B, OUTPUT);
  // Paramétrage des PIN des boutons en entrées
  pinMode(buttonA, INPUT);
  pinMode(buttonB, INPUT);
  // Activation de la résistance interne sur les PIN des boutons
  digitalWrite(buttonA, HIGH); // enable the 20k internal pullup
  digitalWrite(buttonB, HIGH); // enable the 20k internal pullup
  // Passage de tous les signaux au rouge
  signauxGroup0Red();
  signauxGroup1Red();
  // Debug : Initialisation du port série
  //Serial.begin(9600);
  
}

// SCENARIO
void loop() {
  // Lecture des valeurs des deux PIN des boutons
  int sensorValue0 = analogRead(A0);
  int sensorValue1 = analogRead(A1);
  // Détection de l'appui et du rappui sur un bouton du 1er groupe
  if (sensorValue0 > 773 and sensorValue0 < 777) {
    if (antiRebond0 == 0) {
      if (arraySignaux0[0] == 0) {
        arraySignaux0[0] = 1;
        arraySignaux0[1] = 0;
        arraySignaux0[2] = 0;
        arraySignaux0[3] = 0;
        signalGreen0();
        antiRebond0 = 1;
      }
      else if (arraySignaux0[0] == 1) {
        arraySignaux0[0] = 0;
        signauxGroup0Red();
        antiRebond0 = 1;
      }
    }
  }
  else if (sensorValue0 > 524 and sensorValue0 < 528) {
    if (antiRebond0 == 0) {
      if (arraySignaux0[1] == 0) {
        arraySignaux0[0] = 0;
        arraySignaux0[1] = 1;
        arraySignaux0[2] = 0;
        arraySignaux0[3] = 0;
        signalGreen0();
        antiRebond0 = 1;
      }
      else if (arraySignaux0[1] == 1) {
        arraySignaux0[1] = 0;
        signauxGroup0Red();
        antiRebond0 = 1;
      }
    }
  }
  else if (sensorValue0 > 272 and sensorValue0 < 276) {
    if (antiRebond0 == 0) {
      if (arraySignaux0[2] == 0) {
        arraySignaux0[0] = 0;
        arraySignaux0[1] = 0;
        arraySignaux0[2] = 1;
        arraySignaux0[3] = 0;
        signalGreen0();
        antiRebond0 = 1;
      }
      else if (arraySignaux0[2] == 1) {
        arraySignaux0[2] = 0;
        signauxGroup0Red();
        antiRebond0 = 1;
      }
    }
  }
  else if (sensorValue0 > 13 and sensorValue0 < 17) {
    if (antiRebond0 == 0) {
      if (arraySignaux0[3] == 0) {
        arraySignaux0[0] = 0;
        arraySignaux0[1] = 0;
        arraySignaux0[2] = 0;
        arraySignaux0[3] = 1;
        signalGreen0();
        antiRebond0 = 1;
      }
      else if (arraySignaux0[3] == 1) {
        arraySignaux0[3] = 0;
        signauxGroup0Red();
        antiRebond0 = 1;
      }
    }
  }
  else {
    antiRebond0 = 0;
  }
  // Détection de l'appui et du rappui sur un bouton du 2nd groupe
  if (sensorValue1 > 773 and sensorValue1 < 777) {
    if (antiRebond1 == 0) {
      if (arraySignaux1[0] == 0) {
        arraySignaux1[0] = 1;
        arraySignaux1[1] = 0;
        arraySignaux1[2] = 0;
        arraySignaux1[3] = 0;
        signalGreen1();
        antiRebond1 = 1;
      }
      else if (arraySignaux1[0] == 1) {
        arraySignaux1[0] = 0;
        signauxGroup1Red();
        antiRebond1 = 1;
      }
    }
  }
  else if (sensorValue1 > 524 and sensorValue1 < 528) {
    if (antiRebond1 == 0) {
      if (arraySignaux1[1] == 0) {
        arraySignaux1[0] = 0;
        arraySignaux1[1] = 1;
        arraySignaux1[2] = 0;
        arraySignaux1[3] = 0;
        signalGreen1();
        antiRebond1 = 1;
      }
      else if (arraySignaux1[1] == 1) {
        arraySignaux1[1] = 0;
        signauxGroup1Red();
        antiRebond1 = 1;
      }
    }
  }
  else if (sensorValue1 > 272 and sensorValue1 < 276) {
    if (antiRebond1 == 0) {
      if (arraySignaux1[2] == 0) {
        arraySignaux1[0] = 0;
        arraySignaux1[1] = 0;
        arraySignaux1[2] = 1;
        arraySignaux1[3] = 0;
        signalGreen1();
        antiRebond1 = 1;
      }
      else if (arraySignaux1[2] == 1) {
        arraySignaux1[2] = 0;
        signauxGroup1Red();
        antiRebond1 = 1;
      }
    }
  }
  else if (sensorValue1 > 13 and sensorValue1 < 17) {
    if (antiRebond1 == 0) {
      if (arraySignaux1[3] == 0) {
        arraySignaux1[0] = 0;
        arraySignaux1[1] = 0;
        arraySignaux1[2] = 0;
        arraySignaux1[3] = 1;
        signalGreen1();
        antiRebond1 = 1;
      }
      else if (arraySignaux1[3] == 1) {
        arraySignaux1[3] = 0;
        signauxGroup1Red();
        antiRebond1 = 1;
      }
    }
  }
  else {
    antiRebond1 = 0;
  }
  // Debug : Impression des valeurs lues sur les deux PIN
  /*Serial.println("-----------------");
  Serial.print("Valeur PIN 1 : ");
  Serial.println(sensorValue0);
  Serial.println("Tableau 1 :");
  int i;
  for (i = 0; i < 4; i = i + 1) {
    Serial.println(arraySignaux0[i]);
  }
  Serial.print("Valeur PIN 2 :");
  Serial.println(sensorValue1);
  Serial.println("Tableau 2 :");
  int j;
  for (j = 0; j < 4; j = j + 1) {
    Serial.println(arraySignaux1[j]);
  }
  Serial.println("-----------------");
  delay(1000);*/
  // Délais avant de recommencer la boucle
  delay(150);  
}

// FONCTIONS
// Passage de tous les signaux du 1er groupe au rouge
void signauxGroup0Red() {
  digitalWrite(signal1A, HIGH);
  digitalWrite(signal1B, LOW);
  digitalWrite(signal2A, HIGH);
  digitalWrite(signal2B, LOW);  
  digitalWrite(signal3A, HIGH);
  digitalWrite(signal3B, LOW);
  digitalWrite(signal4A, HIGH);
  digitalWrite(signal4B, LOW);
}
// Passage de tous les signaux du 2nd groupe au rouge
void signauxGroup1Red() {
  digitalWrite(signal5A, HIGH);
  digitalWrite(signal5B, LOW);
  digitalWrite(signal6A, HIGH);
  digitalWrite(signal6B, LOW);
  digitalWrite(signal7A, HIGH);
  digitalWrite(signal7B, LOW);
  digitalWrite(signal8A, HIGH);
  digitalWrite(signal8B, LOW);
}
// Passage d'un des signaux du 1er groupe au vert
void signalGreen0() {
  if (arraySignaux0[0] == 1) {
    signauxGroup0Red();
    digitalWrite(signal1A, LOW);
    digitalWrite(signal1B, HIGH);
  }
  else if (arraySignaux0[1] == 1) {
    signauxGroup0Red();
    digitalWrite(signal2A, LOW);
    digitalWrite(signal2B, HIGH);
  }
  else if (arraySignaux0[2] == 1) {
    signauxGroup0Red();
    digitalWrite(signal3A, LOW);
    digitalWrite(signal3B, HIGH);
  }
  else if (arraySignaux0[3] == 1) {
    signauxGroup0Red();
    digitalWrite(signal4A, LOW);
    digitalWrite(signal4B, HIGH);
  }
  else {
    signauxGroup0Red();
  }
}
// Passage d'un des signaux du 2nd groupe au vert
void signalGreen1() {
  if (arraySignaux1[0] == 1) {
    signauxGroup1Red();
    digitalWrite(signal5A, LOW);
    digitalWrite(signal5B, HIGH);
  }
  else if (arraySignaux1[1] == 1) {
    signauxGroup1Red();
    digitalWrite(signal6A, LOW);
    digitalWrite(signal6B, HIGH);
  }
  else if (arraySignaux1[2] == 1) {
    signauxGroup1Red();
    digitalWrite(signal7A, LOW);
    digitalWrite(signal7B, HIGH);
  }
  else if (arraySignaux1[3] == 1) {
    signauxGroup1Red();
    digitalWrite(signal8A, LOW);
    digitalWrite(signal8B, HIGH);
  }
  else {
    signauxGroup1Red();
  }
}



Merci à tous pour votre intérêt et votre aide précieuse dans ce projet !

  
Revenir en haut Aller en bas
https://forum.trains-160.be
jlb
Membre
Membre
jlb


Masculin Age : 60
Localisation : Ici
Nombre de messages : 1544
Date d'inscription : 31/12/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeDim 10 Nov 2013 - 5:25

Félicitations pour ta réalisation ! Problème "semi-automatisation" électronique de signaux - Page 3 901388 

Très très content de voir que ça a abouti. Je pense que tu as aussi pu te rendre compte des portes qu'ouvre ce type de système pour d'autres fonctions sur ton réseau.
Revenir en haut Aller en bas
http://modelleisenbahn.triskell.org
alemonb
Membre
Membre
alemonb


Masculin Age : 38
Localisation : Jodoigne (BE)
Nombre de messages : 126
Date d'inscription : 25/01/2011

Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitimeDim 10 Nov 2013 - 5:26

Merci mais c'est grâce en partie à vous Wink Je n'imaginais pas trouver un hardware si facile. Et effectivement, tu as raison, il y a plein de chose à faire avec What a Face 
Revenir en haut Aller en bas
https://forum.trains-160.be
Contenu sponsorisé





Problème "semi-automatisation" électronique de signaux - Page 3 Empty
MessageSujet: Re: Problème "semi-automatisation" électronique de signaux   Problème "semi-automatisation" électronique de signaux - Page 3 Icon_minitime

Revenir en haut Aller en bas
 
Problème "semi-automatisation" électronique de signaux
Revenir en haut 
Page 3 sur 3Aller à la page : Précédent  1, 2, 3
 Sujets similaires
-
» Je bute sur un simple problème d'électronique !!!
» PROBLEME SIGNAUX -VIESSMANN5213
» Automatisation de réseau
» Automatisation réseau...
» Automatisation d'aiguillage

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
1/160 - Echelle N :: Modèles réduits à l'echelle N :: Electricité / Electronique-
Sauter vers: