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 - DDEFF

Pages: 1 ... 41 42 [43] 44 45 ... 50
631
Vos projets / Re : arduino gare cachee
« le: février 22, 2016, 12:23:49 pm »
C'est sûr que le sujet des gares cachées peut occuper quelques articles.

Mon idée : le gare à gare (à ne pas confondre avec l'agar-agar  ;D)

On est dans une gare, sur une voie quelconque et on dit "je veux ranger le train dans telle gare cachée" et il se débrouille pour y aller, sur une voie libre.

Et, réciproquement, on est dans une gare cachée et on désigne la gare réseau vers laquelle on veut aller.
Mais là, on précise sur quelle voie, parce que le train de Reims, il va vers la voie du train de Reims et pas une autre.

En ce moment, je planche là dessus.
Le "il se débrouille" n'est pas aussi évident que ça parce que je ne veux pas expliquer au train tous les itinéraires possibles.

632
Vos projets / Re : Contrôle numérique des aiguillages
« le: février 21, 2016, 05:18:02 pm »
Salut Dominique,

Très intéressant comme démarche.   :D :D

J'aime plusieurs choses :
1°) au niveau programmation par des objets distincts, programmation propre et claire,
2°) que 2 aiguilles ne puissent pas être commandées en même temps => pas de surchauffe de l'alimentation,
3°) que l'impulsion soit calibrée => pas de surchauffe d'une bobine,
4°) le rattrapage toutes les 10s de la cohérence bouton <-> position aiguille (super idée  ;D),
5°) la gestion de la mise sous tension, avec double choix, en plus !

Ce qui me chagrine un peu (mais je dors la nuit, rassures-toi  ;)), c'est la centralisation qui amène des fils longs et, donc, les chances de perturbations puisque ce sont des intensités assez élevées.

Au niveau structure, j'aurais mis les relais à proximité des moteurs d'aiguille avec un bus 15V qui va de relai en relai (en regardant bien qu'il soit loin de tout).
Donc, des fils courts avec une forte intensité.
Et on ne balade plus que des courants très faibles pour alimenter les relais, alimentés souvent par des optos sur les cartes de relais. Donc des courants de commande faibles, diminuant les perturbations potentielles.

Par exemple, découper par barrette de 8 relais pour 4 aiguilles seulement. Et un bus CAN qui y va.

Mais, par contrairement à toi, je n'ai pas testé et je raisonne dans l'absolu. Quand j'aurais mon réseau, je centraliserai peut-être aussi, ça a aussi des avantages.

Et on exagère peut-être aussi lesdites perturbations ?...

633
Vos projets / Re : Arduino et Android via bluetooth
« le: février 19, 2016, 06:39:49 pm »
Salut Guillaume,

En ce moment, je suis un peu débordé (la préparation du déménagement, etc...).
Mais je pense que ce que tu proposes me titillera un jour prochain.
Je garde ça sous le coude pour te demander des précisions.  ;)

634
Vos projets / Re : TCO en processing
« le: février 13, 2016, 09:08:40 pm »
En ce moment, je suis un peu occupé à autre chose...
Je ne programme plus, mais j'ai des idées.  ;)

Programme à venir :
La vidéo précédente marche avec un onglet "_Train_01" qui fait partie du programme SGDD sur le DUE. Essai OK : on continue.

Étape suivante
: je prends un nano avec un potar et un inverseur.
Ce sera un "train". Le programme reprendra ce qui est actuellement dans _Train_01.

Il contient un programme qui fait un circuit :
byte    def_01[]  = { 105, 0, 109, 111, 113, 116, 118, 0, 127, 0, 130, 0, 105 };
ça, c'est que je rentre.

Il envoie les infos (occupation, position des aiguilles, ...) dans un bus CAN qui va vers le DUE.
En particulier il "appuie sur les boutons" pour demander les itinéraires.
ex : 105, 109.
Le DUE répond par la liste des aiguilles à bouger.

Le nano envoie l'info au DUE : les aiguilles sont en position.
Le DUE envoie au TCO la position des aiguilles.

Quand on bouge le potar, on fait varier le delai, ce qui simule la variation de vitesse.
Et donc, la rapidité avec laquelle les occupations de canton sont envoyées au DUE.
Puis affichées par le DUE au TCO (bus Série)

Comme l'horloge du Nano est différente de celle du DUE, on a une vraie simulation de train.

Au passage les couleurs des signaux sont gérées, avec l'orange cette fois.
En particulier, si on traverse une gare tout droit, on a le vert et si on est dévié, on doit avoir l'orange (ralenti 30 ou 60).
En changeant simplement la voie demandée pour traverser la gare, on va voir évoluer la signalisation.

Étape suivante :
Un autre nano (= un nouveau "train"), mais dans l'autre sens. On doit pouvoir tester les signaux et les ordres d'arrêt.

En gros, le programme du DUE sera prêt, sans scories de tests, etc.
Celui du TCO aussi.
Et, bien sûr, du bus CAN.

Étape suivante : ajouter la gestion de la position des aiguilles sur les nanos.

Étape suivante : gérer les gares cachées (choix d'une voie libre et dire, où qu'on soit "rentre le train en gare cachée 01, voie 02" en cliquant au TCO.

A suivre (quand je pourrais)  :(


635
Shields et Modules / Re : Carte Pont tournant
« le: février 13, 2016, 07:00:21 pm »
T'es en forme, en ce moment ... ;D

Fatalement, j'aurais un pont tournant, mais pas encore à l'instant. Je n'ai même pas le réseau  :'(
Je vais déménager et j'aurais une pièce spéciale pour le train, mais ne sera pas avant aout.

J'ai vu ta vidéo. Une idée du fonctionnement ?

636
Shields et Modules / Re : Carte Servomoteurs DCC + CAN
« le: février 13, 2016, 02:54:09 pm »
Formidable !! ;D ;D ;D ;D ;D ;D
Merci, j'ai mon connecteur, avec même l'alim, en plus !!

Si j'ai tout compris, comme tu as intégré avec T1, la zener, et 2 résistance, le seul fait de couper l'alim va envoyer une interruption qui va faire la sauvegarde des positions (et autres) dans l'EEPROM.

J'essaie de comprendre la page 6 :
1°) En haut, le DCC arrive à gauche, et via l'opto bizarre, tu envoie ce signal DCC sur IT_DCC. Tu récupères ainsi les créneaux du signal DCC.
Tu peux donc l'analyser. OK
2°) En bas, c'est l'inverse : le CFG, via l'opto et le pont (RC1, c'est un pont ?) pour envoyer des ordres (configuration ?) à la voie DCC.

637
Shields et Modules / Re : Carte Servomoteurs DCC + CAN
« le: février 13, 2016, 11:40:21 am »
Il ne faut rien sacrifier et surtout pas le DCC.
Je détecte l'occupation des aiguilles à part.
Soit tu arrives à mettre 2 picots (je ne "veux" rien de plus) sur le bus I2C, soit je mets un module CAN supplémentaire avec la détection et c'est totalement indépendant.
Bon courage !
Et merci d'avance. :D

638
Débuter / Re : IDE Arduino
« le: février 12, 2016, 06:40:15 pm »
Citer
Moi j'aime bien sur mes archives imprimer les N° de lignes.
Pourquoi ? Tu fais utilises des GOTO ?? ;D ;D ;D ;D ;D ;D

Moi, ça me sert juste à compter les lignes.

Plus sérieusement : soit on paie 70$, soit on a un logiciel pour Mac, soit on consomme 3,5 Go (mais c'est certainement mieux) ...

Finalement, il n'est pas mal, l'IDE. ;)

639
Débuter / Re : faire du comptage
« le: février 11, 2016, 07:57:30 pm »
Fâché avec les indentations ... ;)

Le problème de fond, c'est que tu penses compter les états en testant via un digitalRead().
La boucle loop() est très nettement plus rapide que toi (ou que le train) !

Pour tester trois impulsions, il faut tester si elle est à HIGH, puis qu'elle passe à LOW, puis qu'elle repasse à HIGH, puis qu'elle repasse à LOW, puis qu'elle repasse à HIGH, avec la bonne cadence. Et là, il y a bien eu 3 impulsions.

Sinon, tu mesures n'importe quoi.

Regarde comment je gère ça dans mon article (à la fin) : http://www.locoduino.org/spip.php?article151. C'est assez complexe, mais nécessaire.

640
Vos projets / Re : TCO en processing
« le: février 08, 2016, 02:44:48 pm »
Je voulais tester l'affiche en conditions "réelles".
Voilà ce que ça donne :


On a donc le TCO en processing qui reçoit par le câble série les infos d'occupation, de sens, de position, ... à partir du programme Arduino SGDD.
J'ai complètement réécrit la partie essais pour qu'on puisse programmer un circuit facilement. Voilà ce qu'il faut écrire pour avoir le résultat de la vidéo :
    //  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
              byte    def_01[]  = { 105, 0, 109, 111, 113, 116, 118, 0, 127, 0, 130, 0, 105 };         //  Always in clockwise direction
              boolean train_dir = CLOCKWISE;                                                           //  CLOCKWISE or CONTERCLOCKWISE
              int     t_delay   = 1000;                                                                //  "speed" of the train
    //  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1°) La liste des cantons sur les quels le train va circuler, un "0" pour remplacer les aiguilles.
SGDD se débrouille pour trouver l'itinéraire qui va bien.

2°) Dans quel sens on va sur ce circuit.
Sans rien changer d'autre, il suffit de mettre CONTERCLOCKWISE pour que le circuit soit fait dans l'autre sens

3°) La "vitesse" du train (en fait, la durée des délais entre chaque canton). Là, il y a 1 seconde.

Apparaissent les cantons occupés :

- en vert si le feu est vert
- en rouge si le feu est rouge. On voit bien ainsi le moment où le train est sur 2 cantons
- en noir quand le train est passé.

Je n'ai pas voulu gérer ici les feux amenant un ralentissement, en orange, mais c'est dans le tuyau.

Évidemment, on ne remet pas les aiguilles en position tout droit après le passage du train. Ici, c'est juste pour le fun et voir bouger les aiguilles.

Ce programme, utilisé pour les essais, pourra, après adaptation, servir à programmer des trains automatiques, des navettes, etc
On rentrera les infos en cliquant sur les cases du TCO pour enregistrer le circuit.

Dernière adaptation : faire choisir au train une voie libre quand il y aura du choix.  ;D

641
Je n'ai pas beaucoup le temps, en ce moment, mais il me vient une idée :  :P

Au lieu d'utiliser un 7812, on devrait utiliser un LM317.
http://www.ti.com/lit/ds/symlink/lm117.pdf

En fait, par son principe de fonctionnement, il contient une tension de référence à 1,25 V, tension qu'il maintient contre les fluctuations de la tension d'entrée.
Donc, si on met un ampli op (µA741, p.ex) qui a sa broche (-) à la tension de référence à 1,25 V et, pour le (+), une tension issue d'un pont diviseur sur l'entrée (7 k en haut et 1k en bas).

Donc (+)>(-) donc la sortie est à HIGH.

Quand la tension chute, la référence ne bouge pas. Par contre, il arrive un moment où (-)>(+) et l'ampli-op bascule à LOW.

Et bascule proprement, par un flanc bien raide. :D


642
Présentez vous ! / Re : bonjour àtous
« le: février 07, 2016, 07:46:47 pm »
ça démarrait bien "donner un plus au forum" et ça finit moins bien "idées pompées" ...  ;D ;D ;D ;D

Bienvenue parmi nous !
On a hâte de voir ce que tu nous propose !

643
Vos projets / Re : Contrôle numérique des aiguillages
« le: février 07, 2016, 03:34:28 pm »
Sympa.
Avant d'acheter des trucs, penses au site TME.
C'est livré par UPS le lendemain (ce qui n'est pas les cas des chinois, loin de là !!), à des prix vraiment sympa.
Exemples :
http://www.tme.eu/fr/details/uln2803a/drivers-circuits-integres/st-microelectronics/
http://www.tme.eu/fr/details/dg128-5.0-02p14/barres-de-serrages-pour-pcb/degson-electronics/dg128-50-02p-14-00ah/

644
Débuter / Re : faire du comptage
« le: février 07, 2016, 03:21:51 pm »
Disons que, même si Arduino ignore les blancs, il faut quand même un minimum de règles :
Exemple :
1°) quand tu écris last locostate, et bien, là, il cherche last et ne le trouve pas.
Il faut impérativement mettre lastlocoState, tout collé, puisque c'est cette variable que tu as définie.
2°)   ! =    n'a aucun sens. Par contre !=, lui, a un sens. Il ne faut pas de blanc.

Voilà ce que j'ai modifié. Je suis adepte d'une notation claire, aérée, à base d'accolades bien visibles. ça prend plus de place, c'est sûr.
Dis-moi si ça marche. Au moins, ça compile.
const int loco = 2;
# define led 4
int locoState = 0;
int lastlocoState = 0;
int locoPushCounter = 0;

void setup()
{
    // affectation des pins , entrée/sortie
    pinMode (loco, INPUT);
    pinMode (led, OUTPUT);
}

void loop()
{
    locoState = digitalRead(loco);
    if ( locoState != lastlocoState)
    {
        if (locoState == HIGH)
        {
            locoPushCounter ++;
        }
        delay(30);
        lastlocoState = locoState;
        if (locoPushCounter % 2 == 0)
        {
            digitalWrite (led, HIGH);
        }
        else
        {
            digitalWrite (led, LOW);
        }
    }
}

645
Débuter / Re : faire du comptage
« le: février 07, 2016, 09:10:11 am »
Bonjour dudule,
Je te propose de voir ce lien :
https://www.arduino.cc/en/Tutorial/StateChangeDetection.
Après, tu fais un test pour voir si le compteur a atteint le seuil que tu as choisi. ;)

Ceci dit, je suis curieux : tu comptes quoi ? Des wagons ? ???

Pages: 1 ... 41 42 [43] 44 45 ... 50