Allumage des feux par Arduino

Toutes les discussions sur l'Arduino !

Modérateur : MOD

Répondre
Avatar du membre
groumfit
Papotier
Messages : 143
Enregistré le : sam. 25 oct. 2014, 10:25
Prénom : Denis
Âge : 62

Allumage des feux par Arduino

Message par groumfit » mer. 14 janv. 2015, 16:05

Ce fil est complémentaire d'un autre sur "la conduite des trains par Arduino",mais peut être traité individuellement.
La problématique est la suivante :
1°) On a un réseau de 128 cantons, dans lequel les aiguilles comptent aussi en canton.
Comme il faut allumer les feux et que le bus I2C est "limité" (!) à 128 sorties, je vais me limiter à 64 vrais cantons, soit "seulement" (!) 128 feux à allumer.
A la limite, s'il faut vraiment allumer plus de feux, on fait le circuit deux fois.
2°) Un feu complexe peut avoir 9 LED (type"H"). J'oublie l’œilleton.
On se retrouve donc avec une masse de fils à gérer.
En DCC, on a un bus 2 fils et un module pour les feux. Par exemple un module Ulenbrock 63410 qui permet 20 sorties. Donc un module pour 2 feux type "H".
Au niveau branchement, on ne peut pas plus simple. Mais il vaut cher.
Dans le monde Arduino-DCC, on peut utiliser la librairie de Trusty (UAD) et construire autour d'elle le module qui fait la même fonction, moyennant l'ajout de quelques composants (quelques euros).
Par contre, si on veut se passer du DCC, il n'y a pas trop de solutions.
Ma solution utilise aussi un bus 2 fils, plus un fil par feu.
Chaque feu a un module (4€) et son pendant au niveau du TCO (5€).
J'utilise aussi le bus I2C et donc j'arrive à gérer les 128 feux.
Le schéma qui suit est un schéma de principe. Il me faut faire le développement. J'ai quasiment fini.
En (très) gros : un CD4017 de chaque côté, synchronisés par le bus.
Le CD4017 esclave "recopie" ce qui sort de l'Arduino, via le CD4017 maître.
La subtilité est que le feu est alimenté par le bus lui-même, sans fil supplémentaire. Et comme j'utilise un condo pour l'alimentation du feu, je devrais retrouver l'effet d'allumage/extinction progressive des LED.
Mais il faut tester. Je croise les doigts.

Image
Fichiers joints
Plan01.jpg
J'y arriverai ... demain !

Avatar du membre
Pierre59
Papotier
Messages : 147
Enregistré le : dim. 07 mars 2010, 09:17
Echelle pratiquée : HO
Club : Lille Modélisme
Localisation : Villeneuve d'Ascq (59650)
Âge : 75

Re: Allumage des feux par Arduino

Message par Pierre59 » mer. 14 janv. 2015, 17:25

groumfit a écrit : Comme il faut allumer les feux et que le bus I2C est "limité" (!) à 128 sorties, je vais me limiter à 64 vrais cantons, soit "seulement" (!) 128 feux à allumer.
Bonjour

Le bus I2C est limite à 128 adresses (un peu moins car il y a des adresses réservées), pour chaque adresse on peut mettre un circuit (ou module) gérant des leds (8, 16, 40, ...), par exemple le PCA9685. On peut mettre aussi un ATtiny par signal. Cela donne de la marge.
Mais attention le bus I2C est limité en longueur de fils !

Pierre

Avatar du membre
groumfit
Papotier
Messages : 143
Enregistré le : sam. 25 oct. 2014, 10:25
Prénom : Denis
Âge : 62

Re: Allumage des feux par Arduino

Message par groumfit » mer. 14 janv. 2015, 18:03

Merci Pierre,
C'est ahurissant, ton truc !
Si je lis bien la datasheet, on peut mettre 62 PCA9685 sur un bus I2C ?
Et il y a même la librairie adafruit (Adafruit_PWMServoDriver.h) qui va bien pour les gérer ?
Résolution d'éclairage des LED avec 4096 niveaux ?
16 LED par PCA9685 ?
1,20$ l'unité ?
Mais c'est dingue !! :coeur1:
J'arrête tout de suite : c'est ce qu'il faut.
J'ai quand même trouvé 2 "défauts" (en cherchant bien) :
1°) Uniquement en boîtier CMS. Plus dur à souder (mais pas impossible).
Existe aussi en plaquette, mais à 14,95$.
2°) la fréquence mini (parce qu'en plus, on peut gérer le clignotement ! :D ), démarre à 40 Hz et il me faudra du 1,1 Hz. Mais le programme Arduino gèrera
J'y arriverai ... demain !

Avatar du membre
jlb
Fécond
Messages : 686
Enregistré le : jeu. 04 oct. 2012, 15:38
Echelle pratiquée : N
Prénom : Jean-Luc
Contact :

Re: Allumage des feux par Arduino

Message par jlb » mer. 14 janv. 2015, 19:31

il existe des adaptateurs DIP 28 pour les CMS en TSSOP28 : http://www.ebay.fr/itm/5pcs-TSSOP28-SSO ... 1c40a1eda9

Avatar du membre
jlb
Fécond
Messages : 686
Enregistré le : jeu. 04 oct. 2012, 15:38
Echelle pratiquée : N
Prénom : Jean-Luc
Contact :

Re: Allumage des feux par Arduino

Message par jlb » mer. 14 janv. 2015, 19:32

groumfit a écrit :Et il y a même la librairie adafruit (Adafruit_PWMServoDriver.h) qui va bien pour les gérer ?
Tout à fait. D'ailleurs j'ai un article pour Locoduino en préparation :)

Avatar du membre
groumfit
Papotier
Messages : 143
Enregistré le : sam. 25 oct. 2014, 10:25
Prénom : Denis
Âge : 62

Re: Allumage des feux par Arduino

Message par groumfit » mer. 14 janv. 2015, 20:50

Tant qu'on y est, ai-je bien compris la datasheet du TCA9548A ?
On multiplie les sorties I2C d'un Arduino ?
Parce que, là, je garde ma table dans mon Arduino UNO et je fais un bus I2C pour récupérer les infos d'occupation du réseau et un autre bus I2C sur le même Arduino pour les éclairages de feux ?
PS à jlb : t'as vu, j'ai dégainé la librairie avant de la prendre dans les dents :ange3:
J'y arriverai ... demain !

Répondre