Eclairage d'une gare programmé par Doxy436

Répondre
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6653
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
avr. 2021 23 16:41

Eclairage d'une gare programmé par Doxy436

Message par likikiFrance

Pour ne pas se décourager en démarrant une nouvelle technique, rien ne vaut un petit projet archi-facile où vous êtes sûr d’aller jusqu’au bout.
Je préfère ouvrir un nouveau post ; si on ouvrait un post par projet, ce serait plus facile plus tard pour s’y retrouver ; tandis que le projet PN ou le projet triage vont être noyés dans des pages et des pages et c’est dommage car ils sont super intéressants.
En possession  d’une carte Arduino depuis quelques mois, j’avais l’intention de tester ses possibilités en réalisant l’éclairage programmé de ma gare type Neuvy de Jouef que j’ai monté il y a 40 ans. L’article sur Arduino dans LR a quelque  peu précipité les choses et c’est tant mieux.
Rien ne vaut une vidéo pour se rendre compte du résultat :



Avec  une série de messages, j’explique comment faire.
La gare se compose de plusieurs locaux :
- Des chambres au premier
- Un Buffet
- Un local Bagage
- Un local Consigne
- Un local Bâtiment Voyageurs ( à 3 fenêtres )
- Un WC
- Un quai en deux parties
Chaque local est équipé d’un point de lumière sauf le BV qui en comporte 3 indépendantes. Le quai comporte 2 rampes d’éclairage également indépendantes au néon. Sur l’une d’elles, les néons sont un peu fatigués.
Le WC a également un néon dont le tube est à changer.
La séquence d’allumage est déclenchée par l’approche d’un convoi de la zone gare et l’extinction par la sortie de tous les convois de la zone gare.

Page original
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6653
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
avr. 2021 23 16:41

Re: Eclairage d'une gare programmé par Doxy436

Message par likikiFrance

La première tâche est de bien détailler le déroulé des phases d’allumage et d’extinction. C’est même la partie la plus importante du projet ;  après, c’est juste de la bidouille.
Il y a 10 sorties mais on pourrait aller jusqu’à 12 avec une carte UNO :
Gare1, Gare2, Gare3, Consigne, Bagage, Buffet, Chambres, WC, Quai1 & Quai2.

Dans mon projet, il y a 2 capteurs d’entrée avec des photorésistances LDR03 car j’ai 2 voies en gare ; on peut aller jusqu’à 6. Il n’y a qu’une valeur de « seuil » pour les LDR ; l’écart entre les 2 reste assez faible ; il serait assez facile dans le cas contraire d’avoir « seuil1 » & « seuil2 ».

J’ai un état d’éclairage « Allumé » et un état « Eteint »

Au départ « chambres » est allumé

Dans la boucle, on a :
Mesure des 2 LDR
Impression des valeurs des LDR dans le Terminal Série

IF( (LDR1< seuil ou LDR2<seuil) &( éclairage =éteint))
// Début de la séquence d’allumage
« Chambres » éteint ; délai 1000 ;
« Buffet » allumé ; délai 2000 ;
« Consigne » allumé ; délai 200 ;
« Bagage » allumé ; délai 100 ;
« Gare1 » allumé ; délai 200 ;
« Gare2 » allumé ; délai 300 ;
« Gare3 » allumé ; délai 300 ;
« Quai1 » allumé ; délai 20 ;
« Quai1 » éteint ; délai 400 ;
« Quai1 » allumé ; délai 1000 ;
« Quai2 » allumé ; délai 20 ;
« Quai2 » éteint ; délai 200 ;
« Quai2 » allumé ; délai 20 ;
« Quai2 » éteint ; délai 100 ;
« Quai2 » allumé ; délai 20 ;
« Quai2 » éteint ; délai 200
« Quai2 » allumé ;
Eclairage = allumé ;// fin de IF


IF( (LDR1< seuil ou LDR2<seuil) &( éclairage =allumé))
// Début de la séquence du clignotement du néon malade  des WC
« WC » allumé ; délai 50;
« WC » éteint; délai 200;
« WC » allumé ; délai 50;
« WC » éteint; délai 400;
« WC » allumé ; délai 50;
« WC » éteint; délai 650;
« WC » allumé ; délai 50;
« WC » éteint; délai 300;// fin de IF

IF( (LDR1>seuil & LDR2>seuil) &( éclairage =allumé))
// Début de la séquence d’extinction
« Quai1 » éteint ; délai 300 ;
« Quai2 » éteint ; délai 500 ;
« Gare3 » éteint ; délai 500 ;
« Gare2 » éteint ; délai 200 ;
« Gare1 » éteint ; délai 600 ;
« Consigne » éteint ; délai 500 ;
« Bagage » éteint ; délai 2000 ;
« Buffet » éteint ; délai 500 ;
« Chambres » allumé ;
Eclairage = éteint ;// fin de IF
// fin de la boucle


A chacun de mettre les délais qui lui conviennent ; il faut faire plusieurs séries de tests pour avoir l’effet recherché.
Nul doute que c’est la partie la plus ardue d u travail.

Page original
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6653
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
avr. 2021 23 16:42

Re: Eclairage d'une gare programmé par Doxy436

Message par likikiFrance

La partie mise en place des LEDs dans la gare n’est pas difficile ; j’ai choisi des LEDs assez puissantes pour que même dans la lumière artificielle normale, on distingue bien « allumé » ou « éteint » ; ce sont des Super LED carrée 7,62mm  Blanc chaud  3,4V@70mA ; j’ai ajusté la résistance en série pour avoir 20mA : elle fait 82 Ohms.  Ainsi la consommation maxi est le 120mA sous 5volts.
Pour le néon des WC, c’est un modèle qui vient d’Italie acheté à Rail Expo Réf HO 5022 de  
http://www.msaccessoriferroviari.it/    

Une résistance série de 270 Ohms lui convient.

Pour les quais, il s’agit de 2 réglettes de 12 Volts ce qui nécessite une annexe (shield) qu’on verra plus loin.

Aux fenêtres de la gare, j’ai collé du papier translucide assez épais ; il est bon de faire un essai avant.

Dans le fond de la gare, j’ai fait une bonne découpe dans laquelle s’encastre une plaque de carton qui supporte les LEDs . Une photo vaut mieux qu’un long discours.

Image

Page original
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 6653
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 56
Pays :
France (fr)
France
avr. 2021 23 16:42

Re: Eclairage d'une gare programmé par Doxy436

Message par likikiFrance

Voilà le programme complet.
Il n'est absolument pas optimisé pour bien comprendre.
Il ne comporte que des IF
// allumage et extinction de 10 Leds en fct des entrées A0 et A1
//Version 30/11/2013
const int photoLDR0 = 0;// Entrée A0
const int photoLDR1 = 1;// Entrée A1
const int Bagage = 13;
const int Consigne = 12;
const int Gare1 = 11;
const int Gare2 = 10;
const int Chambres = 9;
const int Gare3 = 8;
const int Buffet = 7;
const int WC = 6;
const int Quai1 = 5;
const int Quai2 = 4;
byte state = 0;  // Etat de l'éclairage "allumé" ou "éteint"
int mes1 = 0;   //Approche d'un convoi Voie 1
int mes2 = 0;   //Approche d'un convoi Voie 2
int seuil = 930;   // Seuil de détection des LDR avec les LEDs JAO avec 270K
// Mettre la valeur lue de A0 & A1 sans convoi moins 50 environ
void setup(){
 Serial.begin(115200);
  pinMode(Buffet, OUTPUT);
  pinMode(Bagage, OUTPUT);
  pinMode(Consigne, OUTPUT);
  pinMode(Gare1, OUTPUT);
  pinMode(Gare2, OUTPUT);
  pinMode(Gare3, OUTPUT);
  pinMode(Quai1, OUTPUT);
  pinMode(Quai2, OUTPUT);
  pinMode(Chambres, OUTPUT);
  pinMode(WC, OUTPUT);
  digitalWrite(Chambres,HIGH);//Hors convoi en gare, les Chambres sont allumées
   // state = 1 >éclairage mis & state = 0 > éclairage éteint
  }
void loop(){
mes1 = analogRead(photoLDR0);
mes2 = analogRead(photoLDR1);
Serial.print("A0: ");Serial.println(mes1);
Serial.print("A1: ");Serial.println(mes2);
 if (((mes1 < seuil) || (mes2 < seuil)) && (state == LOW)){  //state ==> HIGH= Pas de convoi en vue;LOW= convoi en approche & Eteint
  digitalWrite(Chambres,LOW);delay(1000);
  digitalWrite(Buffet,HIGH);delay(2000);// 3s
  digitalWrite(Bagage,HIGH);delay(200);
  digitalWrite(Consigne,HIGH);delay(100);
  digitalWrite(Gare1,HIGH);delay(200);
  digitalWrite(Gare2,HIGH);delay(300);
  digitalWrite(Gare3,HIGH);delay(300);// 4,6s
  digitalWrite(Quai1,HIGH);delay(20);//Bref éclair de 20 ms
  digitalWrite(Quai1,LOW);delay(400);
  digitalWrite(Quai1,HIGH);delay(1000);// on peut allumer Quai2, 6s
  digitalWrite(Quai2,HIGH);delay(20);//Bref éclair de 20 ms
  digitalWrite(Quai2,LOW);delay(200);
  digitalWrite(Quai2,HIGH);delay(20);//Bref éclair de 20 ms
  digitalWrite(Quai2,LOW);delay(100);
  digitalWrite(Quai2,HIGH);delay(20);//Bref éclair de 20 ms
  digitalWrite(Quai2,LOW);delay(200);
  digitalWrite(Quai2,HIGH); //Allumage en 6,5s
  state = 1; // Allumé
  }
if (((mes1 < seuil) || (mes2 < seuil)) && ( state == HIGH)) // Train en approche et Allumé
{
  digitalWrite(WC,HIGH); delay(50);
  digitalWrite(WC,LOW); delay(200);
  digitalWrite(WC,HIGH); delay(50);
  digitalWrite(WC,LOW); delay(400);
  digitalWrite(WC,HIGH); delay(50);
  digitalWrite(WC,LOW); delay(650);
  digitalWrite(WC,HIGH); delay(50);
  digitalWrite(WC,LOW); delay(300);// 1750ms
}
if (((mes1 > seuil) && (mes2 > seuil)) && (state == HIGH))  // Aucun train et Allumé
{
  digitalWrite(Quai1,LOW);delay(300);
  digitalWrite(Quai2,LOW);delay(500);
  digitalWrite(Gare3,LOW);delay(500);
  digitalWrite(Gare2,LOW); delay(200);
  digitalWrite(Gare1,LOW); delay(600);
  digitalWrite(Consigne,LOW);delay(500);
  digitalWrite(Bagage,LOW); delay(2000);
  digitalWrite(Buffet,LOW);delay(500);
  digitalWrite(Chambres,HIGH);//extinction en 5100ms
  state = 0; // Eteint
}
}

Page d'origine
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Répondre