531
« le: mai 01, 2016, 10:14:42 am »
Bonjour Marc,
Quand on fait de l'Arduino, on est obligé de réfléchir à la fois au côté électronique (d'où ma question d'hier) et au programme.
Je vais démarrer le programme.
Commençons par un cas simple : un seul train sur le réseau.
Comme la partie gérée par l'Arduino n'est qu'une partie de ton réseau, on supposera qu'au départ le train est ailleurs et que les 4 cantons sont vides.
Par ailleurs, les 3 inverseurs de sens (un par canton 2, 3, 4) sont au repos.
On va décider que quand le train va de gauche à droite, l'inverseur est au repos.
Le déclenchement du processus est l'occupation du canton à droite du canton 4 (ou l'aiguille qui y mène).
Comme il n'y a aucun train dans l'un des cantons de 1 à 4, c'est forcément qu'on vient par la droite.
Donc, il faut mettre l'inverseur du canton 4 à HIGH.
Le train peut alors circuler sur le canton 4.
Par défaut, l'aiguille 3 est tout droit.
Comme le canton 4 est occupé, on va mettre l'aiguille 3 à tout droit (ce qui ne sert rien ici) et mettre l'inverseur du canton 3 à HIGH.
Quand le canton 3 sera occupé, on met l'aiguille 2 à tout droit (ce qui ne servira sûrement à rien ici) et on met l'aiguille 1 à tout droit (c'est, j'imagine, vers le bas de ta boucle, dans le sens des aiguilles d'une montre).
On attend que le train soit uniquement sur le canton 1 pour qu'on puisse bouger l'aiguille 1.
On met alors l'aiguille 1 à déviée.
Dans ce premier exercice, on laisse l'aiguille 2 à tout droit.
On met l'inverseur du canton 3 à LOW pour aller de gauche à droite.
Le train avance sur le canton 3.
On met l'inverseur du canton 4 à LOW et le train peut sortir du circuit.
Pour ton schéma électrique, pour l'ULN2803, sur 2 on a la commande du Lemaco aiguille 2 et sur 3 la commande du Lemaco aiguille 3.
Dans le programme, j'ai supposé qu'on manipulait l'aiguille 1 via un 3ème Lemaco qui serait en 1 de l'ULN2803.
Mais on peut effectivement avoir une aiguille 1 talonnable laissée en position tout droit. Et pas de 3ème Lemaco.
Sur l'ULN2803, en 4, on a l'inverseur canton 2, en 5 l'inverseur canton 3 et en 6 l'inverseur canton 4.
Amicalement
Denis