Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - marc

Pages: 1 [2]
16
Vos projets / Re : arduino gare cachee
« le: février 20, 2016, 02:02:12 pm »
Bonjour

Dans les ferrovipathes arduinopathes, y a-t-il eu, à votre connaissance quelqu'un qui a été confronté au même problème?

Pensez-vous que l'Arduino soit le meilleur moyen pour réaliser ma gare cachée ?

Merci à vous
cordialement
Marc

17
Vos projets / Re : arduino gare cachee
« le: février 19, 2016, 11:17:47 am »
Merci à vous deux pour votre aide
Je vais essayer tout cela.

Je n'arrive pas à être très concis dans ce que je veux faire mais ce que je veux réaliser à déjà été fait de façon mécanique sur le site de BISCATRAIN; je ne sais pas si j'ai le droit de donner l'adresse de son site mais je vous la mets : http://www.biscatrain.fr/article-automatismes-en-gare-souterraine-37421540.html
j'avoue me passionner pour la programmation et je vais acheter sans tarder un livre sur l'Arduino. Etes-vous aussi des ferrovipathes?
Bonne journée à vous

cordialement
Marc

18
Vos projets / Re : arduino gare cachee
« le: février 19, 2016, 12:15:35 am »
Bonsoir Bricoleau

Comme je l'explique dans mon projet, j'ai 3 voies dans une gare cachée, chaque ils controle si il y a un train sur sa voie de façon à aiguiller l'arrivée d'un nouveau train sur une voie libre.
Si l'ILS 1 est à 1, et les 2 autres ILS à 0, le train se dirige sur la voie libre. Il déclenche l'ILS 2, s'arrête et l'aiguillage voulu se commute sur la voie libre.
Un troisième train arrive, se dirige vers la voie 3 qui est libre et s'arrête à son tour.
Mon but est que dans le cas des 3 voies occupées et si un nouveau train arrive, l'Arduino et le programme voulu, libère une voie, de préférence de façon aléatoire mais je n'en suis pas là, laissant la place au train arrivant.
Si tu veux plus de détail, je peux te détailler vraiment tout le processus.
La quatrième sortie est justement activée quand les 3 ILS sont activés, c'est à dire quand les 3 voies sont occupées et pour l'instant me sert à faire des essais...
Je te précise que c'est mon tout premier programme avec Arduino et que je patauge quand même un peu.
Merci à toi

Cordialement
Marc

19
Vos projets / Re : arduino gare cachee
« le: février 18, 2016, 08:23:24 pm »
bonjour bricoleau

Les ils sont une option, là où je veux les mettre, je peux mettre des détecteur IR puisque ce sera une gare cachée, mon problème vient surtout de la programmation, comme je l'ai expliqué.
Je fais les tests avec le logiciel Proteus, ce qui me permet de visualiser assez facilement ma programmation, ce qui dans mon cas n'est pas un luxe...
Arrivez-vous à lire mon code ?

Merci beaucoup
Marc

20
Vos projets / Re : arduino gare cachee
« le: février 18, 2016, 12:35:56 pm »
bonjour à tous

Je remets mon programme :

//VARIABLES CONSTANTES
const int ILS1 = 0;     // numéro pin branchement ILS1
const int ILS2 = 1;     // numéro pin branchement ILS2
const int ILS3 = 2;     // numéro pin branchement ILS3

const int V1=8;   //numéro pin branchement voie 1
const int V2=9;   //numéro pin branchement voie 2
const int V3=10;   //numéro pin branchement voie 3
const int ttes_voies_occupees=11; //numéro pin toutes voies occupées

//VARIABLES QUI CHANGENT
int etat_V1=0;    //sortie V1 0 libre 1 occupée
int etat_V2=0;    //sortie V2 0 libre 1 occupée
int etat_V3=0;    //sortie V3 0 libre 1 occupée
int etat_ttes_voies_occupees=0; //sortie ttes voies occupées 0 non 1 oui
int etat=0;
int unit=0;


void setup() {
  // INITIALISE LES SORTIES VERS LES VOIES
  pinMode(V1,OUTPUT);   //pin 8 en sortie
  pinMode(V2, OUTPUT);     //pin 9 en sortie
  pinMode(V3,OUTPUT);   //pin 10 en sortie
 
  //INITIALISE LES ENTREES ILS EN ENTREE
  pinMode(ILS1,INPUT);
  pinMode(ILS2,INPUT);
  pinMode(ILS3,INPUT);

  //INITIALISE SI TOUTES VOIES OCCUPEES
  pinMode(ttes_voies_occupees,OUTPUT);
}

void loop() {
  // lecture des entrées ILS
  unit=0;
etat_V1=digitalRead(ILS1);
etat_V2=digitalRead(ILS2);
etat_V3=digitalRead(ILS3);

//vérifier si ILS 1 est actionné
// si oui, la sortie 8 est haute
if (etat_V1==HIGH){
  //sortie V1 est on
  //incrément du compteur
  unit++;//on ajoute 1 à unit
  delay (200);
digitalWrite(V1,HIGH);  //sortie arret voie 2 activée
//digitalWrite(V3,LOW);  //sortie  voie 3 activée
}else{
 digitalWrite(V1,LOW);
}


 
//vérifier si ILS 2 est actionné
// si oui, la sortie 9 est haute
if (etat_V2==HIGH){
  //sortie V2 est on
  //incrément du compteur
  unit++;//on ajoute 1 à unit
  delay (200);
digitalWrite(V2,HIGH);  //sortie arret voie 2 activée
//digitalWrite(V3,LOW);  //sortie  voie 3 activée
}else{
 digitalWrite(V2,LOW);
}
//vérifier si ILS 3 est actionné
// si oui, la sortie 10 est haute
if (etat_V3==HIGH){
  //sortie V3 est on
  //incrément du compteur
  unit++;//on ajoute 1 à unit
  delay (200);
digitalWrite(V3,HIGH);  //sortie arret voie 2 activée
//digitalWrite(V3,LOW);  //sortie  voie 3 activée
}else{
  digitalWrite(V3,LOW);
}
if (unit==3)
{
  unit==0;
  digitalWrite(ttes_voies_occupees,HIGH);
//(etat_V1=LOW);
//digitalWrite(V1,LOW);
//delay(1000);
}else{
 digitalWrite(ttes_voies_occupees,LOW);

}
}

J'espère que cela va fonctionner.

Quant aux ILS, j"en ai mis un  sur chaque voie, parallèlement aux voies, dans l'axe de la voie. Sur les locos, c'est en fonction de la place disponible. Généralement sur le boogie avant quand c'est possible. Je vais essayer de trouver des aimants Néodyne pour qu'ils soient plus puissants.

Voilà, j'espère avoir répondu à vos question;
cordialement
Marc

21
Vos projets / Re : arduino gare cachee
« le: février 17, 2016, 06:39:17 pm »
bonjour et merci pour le coup de main.
J'ai refait mon programme que je vous transmets,qui ne fonctionne toujours pas car quand les trois voies sont occupées, j'essaie de libérer la voie 1 mais celle-ci ne se libère qu'un certain temps en fonction du Delay, mais si quelqu'un pouvait me donner une astuce pour arriver à faire ce que je veux.
C'est-à-dire : Gérer 3 voies dans une gare cachée. Si les 3 voies sont occupées, un des trains présents démarre, fait le tour du circuit, revient en gare cachée, comme dans la gare cachée de Biscatrain qui elle est gérée par des relais.
Merci d'avance
Marc

22
Vos projets / arduino gare cachee
« le: février 15, 2016, 10:53:05 am »
bonjour à tous
J'ai une gare cachée avec 6 voies (3 dans un sens, 3 dans l'autre).
Mon projet consiste à faire entrer 3 trains sur chacune des 3 voies, détecter par ILS quelle voie est occupée, si une voie est libre le train arrivant se positionne dessus et si les trois voies sont occupées, l'une d'entre elles se libère pour permettre au nouveau train d'entrer. J'ai commencé à écrire le programme mais je bute sur le fait de libérer une des voies.
Comme c'est mon premier programme, c'est sans doute normal.
Je vous copie mon programme et soyez indulgents sur l'écriture peut-être pas très rationnelle.


/*
Le but du jeu est que lorsque les 3 entrées en 0, 1 et 2 sont validées, la sortie 11 soit activée. de façon à permettre à un des trains de démarrer, libérer une pl
 */

// constants won't change. They're used here to
// set pin numbers:
 int compteur = 0;// initialisation du compteur

const int buttonPin0 = 0;     // the number of the pushbutton pin
const int buttonPin1 = 1;     // the number of the pushbutton pin
const int buttonPin2 = 2;     // the number of the pushbutton pin

const int ledPin0 =  8;      // the number of the LED pin
const int ledPin1 =  9;      // the number of the LED pin
const int ledPin2 =  10;      // the number of the LED pin
const int ledPin3 = 11;     //sortie activée si les 3 boutons sont à 1

// variables will change:
int buttonState0 = 0;         // variable for reading the pushbutton status
int buttonState1 = 0;         // variable for reading the pushbutton status
int buttonState2 = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin0, OUTPUT);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2,OUTPUT);// initialize the pushbutton pin as an input:
  pinMode(ledPin3,OUTPUT);
  pinMode(buttonPin0, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState0 = digitalRead(buttonPin0);
  buttonState1 = digitalRead(buttonPin1);
    buttonState2 = digitalRead(buttonPin2);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState0 == HIGH) {
    // turn LED on:
    compteur = compteur + 1;
    digitalWrite(ledPin0, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin0, LOW);
  }

    if (buttonState1 == HIGH) {
    // turn LED on:
  compteur = compteur + 1;
 digitalWrite(ledPin1, HIGH);
  } else {
    // turn LED off:
     digitalWrite(ledPin1, LOW);
  }
 
    if (buttonState2 == HIGH) {
    // turn LED on:
compteur = compteur + 1;
digitalWrite(ledPin2, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin2, LOW);
  }
 if (compteur == 3) {
digitalWrite(ledPin3,HIGH);
}
else{
  digitalWrite(ledPin3,LOW);
  }
}

23
Présentez vous ! / Nouveau venu
« le: février 04, 2016, 06:15:21 pm »
Bonjour à tous

Je me présente : mon prénom est marc et je suis un jeune retraité de 60 ans.
J'ai débuté mon réseau il y a 1 an à peu près, un réseau en U, dans mon grenier, en analogique 2 rails.
J'ai un peu de tout en matériel : du Jouef pour les locos, du Roco et du Pico pour les rails et les moteurs d'aiguillage sont des moteurs lents Lemaco car mouvement plus lent, donc plus réaliste.
J'ai de grosses lacunes en électronique et informatique. J'ai essayé de me mettre aux PIC mais le langage assembleur m'a rebuté un peu. J'ai le logiciel Proteus pour faire des tests, ce qui m'aide bien quoiqu'il n'y ait pas tous les composants.
C'est pourquoi je vais essayer l'Arduino, voire si je m'en sors mieux avec...
Longue et fructueuse vie à ce forum
Marc

Pages: 1 [2]