Auteur Sujet: block auto 1 carte par canton et wifi  (Lu 2312 fois)

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #15 le: janvier 21, 2018, 04:27:22 am »
début du code, manque la communication wifi et entre carte
tout le reste est implenté
--------------------

// pin D2 led verte
const int led_verte=D2;
// pin D3 led jaune
const int led_jaune=D3;
// pin D4 led rouge
const int led_rouge=D4;
// extention pin 5 & 6 carre et ralent et 8 pour le rappel ralent
const String nom="esp1"; // definition du nom de la carte
      int etat=1; // 1 pour vert / 2 pour orange / 3 pour rouge / 4 pour occupé en cours, / 5 carré / 6  ralent / 7 rappel ralent / 9 initialisation
      int etat_precedent=0;
      int etat_amont; // ici on recoie les données canton + 1
      int etat_aval; // ici on envoie les données canton - 1
// ici on initialise le cfc (switch ) qui ets enfilé soius le crocodile :) ^^
const int pedale=D7;
      int ETAT_BP=0;
// declaration du transitor 1 sur pin 13
      const int sortieAnalogique1 = D13;
// declaration du transitor 2 sur pin 12
      const int sortieAnalogique2 = D12;
void setup()
{
// ici les code d initialisation
pinMode(led_rouge, OUTPUT);
pinMode(led_jaune, OUTPUT);
pinMode(led_verte, OUTPUT);
pinMode(D7,INPUT_PULLUP);
// extention pin 5 & 6 carre et ralent et 8 pour le rappel ralent
// ici on eteind les leds
digitalWrite(led_verte, HIGH);
digitalWrite(led_jaune, HIGH);
digitalWrite(led_rouge, HIGH);
// ici on prepare les transitors
 pinMode(sortieAnalogique1, OUTPUT);
 pinMode(sortieAnalogique2, OUTPUT);
}

void loop()
{
//ici le code répété :)
// test de la pedale


ETAT_BP=digitalRead(pedale);
 
if (ETAT_BP==false)
{
 etat=4;
}
// ici on a fini la pedale on passe à la suite
// chose 1 on verifie l'etat par rapport à etat precedent
//  != different
if (etat!=etat_precedent)
{
  switch (etat)
  {
    case 1:
    allume_vert();
    // ici on  place les 2 transitor a pleine puissance
    analogWrite(sortieAnalogique1, 0); // en cas d erreur passez l inverse a 254
    analogWrite(sortieAnalogique2, 0); // en cas d erreur passez l inverse a 254
    break;
    case 2:
    allume_orange();
    // ici on  place les 2 transitor a mi puissance
    analogWrite(sortieAnalogique1, 127); // ici on reglera la pwm en fonction de la machine la plus delicate en prise de courant ou la plus rapide par defaut a 127
    analogWrite(sortieAnalogique2, 127); // ici on reglera la pwm en fonction de la machine la plus delicate en prise de courant ou la plus rapide par defaut a 127
    case 3:
    allume_rouge();
    // ici on  place le 1 premier transitor a mi puissance et le 2e a zero
    analogWrite(sortieAnalogique1, 127); // ici on reglera la pwm en fonction de la machine la plus delicate en prise de courant ou la plus rapide par defaut a 127
    analogWrite(sortieAnalogique2, 254); // en cas d erreur passez l inverse a 0
    break;
    case 4:
    allume_rouge();
    // ici on touche pas au transitor on les laisse en l'etat precedent
    break;
    // ici les extentions pour carré et ralent et rappel ralent
  }
 }
 // fin du test d'etat
 

// ici on place etat dans etat_precedent
etat_precedent=etat;
// ici on transmet a la carte canton-1 l'etat de la carte en cours
 switch (etat)
  {
    case 1:
    etat_aval=1;
    break;
    case 2:
    etat_aval=1;
    break;
    case 3:
    etat_aval=2;
    break;
    case 4:
    etat_aval=3;
    break;
  }
// ici on transmet à la carte aval



// ici on reçoie de la carte amont
etat=etat_amont;
 
}
// procedure allumage feu
void allume_vert()
{
digitalWrite(led_verte, LOW);
digitalWrite(led_jaune, HIGH);
digitalWrite(led_rouge, HIGH);
}
void allume_orange()
{
digitalWrite(led_verte, HIGH);
digitalWrite(led_jaune, LOW);
digitalWrite(led_rouge, HIGH);
}
void allume_rouge()
{
digitalWrite(led_verte, HIGH);
digitalWrite(led_jaune, HIGH);
digitalWrite(led_rouge, LOW);
}

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #16 le: janvier 21, 2018, 05:00:49 am »
en gros la carte ne fait d elle même que de passer de
l'état subissant de la carte amont à
l'état 4 qui est forcé par l action de la pédale
et dans tous les cas, elle envoie son état à la carte avale

et c'est valable pour un reseau en boucle ou lineaire (en gare terminus)

dans le cas d'une gare terminus, on modifie le code, par la suppression de l etat 1, et 2
et la mise en etat 3 en permanence voir 4
et de ne pas raccordé le tx de la carte

et biensur on peux rajouté carré et ralent et meme rappel ralent, et le ralent 30 et rappel ralent 30 (mais les machines seront elles assez sensible aux faibles courants) ?

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1099
  • 100% Arduino et N
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #17 le: janvier 21, 2018, 09:19:30 am »
Avec l’application Fritzing, vous pourrez faire des schémas plus conventionnels et jolis. Mais le votre est très clair.

On voit que les transistors vont partir en fumée dès qu’ils deviendront passants car il n’y a pas de charge (les rails je suppose ne sont pas représentés).


binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #18 le: janvier 21, 2018, 01:38:10 pm »
c'est mieux comme ca ?
si y a quelque chose qui manque pouvez vous me le montrer sur le dessin et me dire quoi ?
« Modifié: janvier 21, 2018, 02:38:19 pm par binoclard »

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Re : block auto 1 carte par canton et wifi
« Réponse #19 le: janvier 21, 2018, 01:47:43 pm »

On voit que les transistors vont partir en fumée dès qu’ils deviendront passants car il n’y a pas de charge (les rails je suppose ne sont pas représentés).

La modif vous parait mieux, sinon si il manque des trucs mettez  le moi sur le dessin S'il vous  plait

Merci

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1099
  • 100% Arduino et N
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #20 le: janvier 21, 2018, 08:57:52 pm »
Bonjour,

Oui c'est bien, je comprends mieux le but du projet :
- Chaque canton sera donc équipé d'une carte ESP 8266 qui fonctionne en fait comme un Arduino avec en plus, une liaison Wifi.
- Cette carte ESP8266 s'occupe d'un feu trocolore (d'où les 3 leds verte, jaune, rouge) et de l'alimentation des rails du canton en PWM.
- Comme il y a 2 alimentations, je suppose que l'ESP alimente une zone de ralentissement (ou vitesse constante) et une zone d'arrêt
- Les cantons sont raccordés en cascade via les lignes Tx et Rx : là je ne comprends pas bien combien de fils sont nécessaires entre 2 cantons adjacents. J'ai l'impression qu'il n'est pas possible d'utiliser plus de UN fil : par exemple le Tx du canton N-1 est relié au Rx du canton N, puis le Tx de ce canton N est relié au Rx du canton N+1. La causette ne peut se faire que dans un sens, pas dans l'autre. Quels sont les messages qui sont échangés ?
- Dites-moi si je me trompe ! (me trompe-je ?)
- Dans le cas d'un canton avec une aiguille, il y aura 3 cotés et là je ne vois plus du tout comment Rx et Tx seront reliés. Il faudra probablement envisager un autre moyen de communiquer entre les cantons (ou via le Wifi ?)
- Après je ne vois pas bien ce que fait le WiFi car, je ne vois pas de rétrosignalisation qui serait remontée vers le gestionnaire en html pour afficher l'état du réseau et il faut bien détecter les trains dans les cantons pour faire marcher le BAL.
- Je ne vois pas non plus de mesure de courant.
- A moins qu'il y ait d'autres capteurs qui ne sont pas encore représentés sur le schéma (il reste encore des pattes disponibles sur l'ESP)
- enfin, il n'y a pas d'alimentation de l'ESP (en 5V ?, pas en 18V quand même !) mais c'est un détail.

Donc c'est un peu plus clair, c'est toujours intéressant de partager ce projet et j'espère que vous arriverez à le mener à bien et on attend d'en savoir plus encore car ce projet me semble quand même ambitieux. Mais n'étant pas expert dans le Wifi, je peux me tromper.

Bon courage

maxou9914

  • Newbie
  • *
  • Messages: 25
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #21 le: janvier 21, 2018, 09:50:15 pm »
Sans s'avancer sur son projet  8)
Je pense ou propose pour le dialogue entre les cantons(chaque wemos) d'utiliser le Mqtt, qui est très simple d'utilisation  ;D il demande juste un serveur (qui peux aussi servir de routeur wifi).
Et de la aucun fils  8) et dialogue entre canton "illimité".

Pour l'alimentation il parlait de batterie lipo donc 7v ou 11,5v de mémoire avec sûrement un régulateur pour obtenir 5v.


Pour le détection il utilise la "pédale" l'équivalent d'un Reed en Ho ou la rail pédale de marklin.
Sur son schéma pin D7

Bonne soirée

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Re : block auto 1 carte par canton et wifi
« Réponse #22 le: janvier 21, 2018, 10:54:25 pm »
Bonjour,

Oui c'est bien, je comprends mieux le but du projet :
- Chaque canton sera donc équipé d'une carte ESP 8266 qui fonctionne en fait comme un Arduino avec en plus, une liaison Wifi.
- Cette carte ESP8266 s'occupe d'un feu trocolore (d'où les 3 leds verte, jaune, rouge) et de l'alimentation des rails du canton en PWM.
- Comme il y a 2 alimentations, je suppose que l'ESP alimente une zone de ralentissement (ou vitesse constante) et une zone d'arrêt
- Les cantons sont raccordés en cascade via les lignes Tx et Rx : là je ne comprends pas bien combien de fils sont nécessaires entre 2 cantons adjacents. J'ai l'impression qu'il n'est pas possible d'utiliser plus de UN fil : par exemple le Tx du canton N-1 est relié au Rx du canton N, puis le Tx de ce canton N est relié au Rx du canton N+1. La causette ne peut se faire que dans un sens, pas dans l'autre. Quels sont les messages qui sont échangés ?
- Dites-moi si je me trompe ! (me trompe-je ?)
- Dans le cas d'un canton avec une aiguille, il y aura 3 cotés et là je ne vois plus du tout comment Rx et Tx seront reliés. Il faudra probablement envisager un autre moyen de communiquer entre les cantons (ou via le Wifi ?)
- Après je ne vois pas bien ce que fait le WiFi car, je ne vois pas de rétrosignalisation qui serait remontée vers le gestionnaire en html pour afficher l'état du réseau et il faut bien détecter les trains dans les cantons pour faire marcher le BAL.
- Je ne vois pas non plus de mesure de courant.
- A moins qu'il y ait d'autres capteurs qui ne sont pas encore représentés sur le schéma (il reste encore des pattes disponibles sur l'ESP)
- enfin, il n'y a pas d'alimentation de l'ESP (en 5V ?, pas en 18V quand même !) mais c'est un détail.

Donc c'est un peu plus clair, c'est toujours intéressant de partager ce projet et j'espère que vous arriverez à le mener à bien et on attend d'en savoir plus encore car ce projet me semble quand même ambitieux. Mais n'étant pas expert dans le Wifi, je peux me tromper.

Bon courage
oui c est ca, en gros j enchaine les cartes D1 (c'est important car les esp8266 des arduino sont differents)
je te fais un dessin , pour comprendre comment on enchaine  les cartes
--------
Pour ce qui est de la détéction sur le dessin tu as un switch 10t85 cette bestiole sera planquée dans le crocodile et donne aux passages des trains,l'impusion qui declenchera le rouge
+++++
le wifi, est la juste pour afficher à l'écran l'état du canton  ;) / il ne sert à rien d autre (pour l'instant) restons simple
+++++
voila pour le carré je t'ai fait le schéma, je ne différencie que ce qui est pour le carré le reste est le même que le carte originale (je me suis
 trompé, je te le refait)
« Modifié: janvier 22, 2018, 07:09:01 am par binoclard »

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Re : block auto 1 carte par canton et wifi
« Réponse #23 le: janvier 21, 2018, 11:21:20 pm »
Sans s'avancer sur son projet  8)
Je pense ou propose pour le dialogue entre les cantons(chaque wemos) d'utiliser le Mqtt, qui est très simple d'utilisation  ;D il demande juste un serveur (qui peux aussi servir de routeur wifi).
Et de la aucun fils  8) et dialogue entre canton "illimité".

Pour l'alimentation il parlait de batterie lipo donc 7v ou 11,5v de mémoire avec sûrement un régulateur pour obtenir 5v.


Pour le détection il utilise la "pédale" l'équivalent d'un Reed en Ho ou la rail pédale de marklin.
Sur son schéma pin D7

Bonne soirée

non, on utilise le wifi que pour la gestion de l'affichage, le reste est trop 'dangereux' pour le remettre au mains du reseau wifi !!
++++++++++++
l alim en passant par le jack on peux mettre jusqu a 12V (y a un truc dedant, qui repasse tout en 3V) et donc, je compte passé par des batterie de 3.6 V ou un truc solaire
du style a placer dans le decor :p
+++++
et oui la pedale est en D7

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #24 le: janvier 21, 2018, 11:31:59 pm »
voila a quoi va servir le wifi

réalisé par le gamin, (la page php, mais il ne connait pas MYSQL) donc je ferai les interactions entre la base ou sont stockée les données et la page qu il a créé

http://starenda.info/plan_reso.php

on fera plus beau apres


la y a pas de train

on a placé le train sous sa photo

et le train rentre dans la courbe


En gros quand le train passe le crocodile il déclenche le rouge sans qu on touche à sa vitesse, et on transmet au canton n-1 de passé avec le zone de pleine voie a la moitié
et de coupé la zone d arret, et de garder le rouge allumé
« Modifié: janvier 22, 2018, 06:46:16 pm par Dominique »

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #25 le: janvier 22, 2018, 07:19:51 am »
en gros pour les aiguilles ca sera comme sur les dessins plus haut

mais pour le moment,
le gamin et moi, n'en sommes pas encore la
nous en sommes a un block de pleine voie les extensions sont possibles, et viendrons si nous en avons besoin

etant débutant, je préfère resté dans le simple et finir cela :)

Merci

Ps : si y a un train sur 1 des 2 voies de la gare , et bas, on applique le meme regime pour le block 1 (pour l instant sans différencier la voie occupée)


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1099
  • 100% Arduino et N
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #26 le: janvier 22, 2018, 10:07:27 am »
Juste 4 remarques constructives :

1) C’est écrit dans quelle langue ? : je ne comprends pas, bien que ça évoque un cantonnement classique, rien de plus, en voie unique, sans aiguille, etc.. Merci de corriger le français et la présentation pour le respect des lecteurs (vous le pouvez).

« Ce qui se conçoit bien s'énonce clairement » - « Et les mots pour le dire arrivent aisément » (Boileau 1674, c’est toujours vrai aujourd’hui).

2) 2 des 3 figures sont trop grandes, à ramener à la taille de la 1ère

3) a quoi sert le wifi ? Juste à afficher sur un TCO avec du php et du sql ? D’accord si c’est du gros, dans un jardin, pour éviter les kilomètres de fils. Mais le TCO sert aussi à commander des aiguilles et là le ne vois pas.

4) je ne vois toujours pas comment ça marche avec des aiguilles et plusieurs trains.

Un petit conseil. Dans un projet complexe on définit le projet dans sa totalité d’abord puis le découpage en sous-projets plus simples ensuite, on n’avance pas au pif.
Ce serait intéressant de présenter votre projet dans son ensemble d’abord, ce qui nous permettrait de vous aider plus sûrement.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1099
  • 100% Arduino et N
    • Voir le profil
Re : Re : block auto 1 carte par canton et wifi
« Réponse #27 le: janvier 22, 2018, 11:06:06 am »
en gros pour les aiguilles ca sera comme sur les dessins plus haut

Je vois un Rx relié à deux Tx et un Tx relié à deux Rx : ça ne marche pas !

binoclard

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #28 le: janvier 22, 2018, 01:49:04 pm »
bonjour,

comme je l'ai dit au début c'est pour de la pleine voie !!!
les options seront possible après, mais je n en suis pas encore la ...

pour l instant mon train de jardin se résume à  l'ovale car les aiguillages ont pas apprécié les intempéries de cet automne ....

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1099
  • 100% Arduino et N
    • Voir le profil
Re : block auto 1 carte par canton et wifi
« Réponse #29 le: janvier 22, 2018, 06:37:01 pm »
Bon d'accord,
Si c'est pour un simple ovale, c'est plus facile !

Ce sera de toute façon une expérience intéressante.