Ajouter de l’herbe sur une maquette
30 janvier 2019La création du plateau qui accueillera les bâtiments.
2 février 2019Attardons nous un peu aujourd’hui au pupitre de contrôle, et découvrons ce qu’il est capable de faire.
Le pupitre de contrôle est assez imposant avec ses dimensions: 180 x 320 mm. Mais il n’est composé presque que de vide (à l’image de l’univers, ou du cerveau des fans des Anges de la TV réalité).
Pourquoi ?
Et bien parce que les fans des Anges de la TV réalit.. Non, revenons au pupitre. En fait, tous les éléments de contrôle du pupitre sont reliés à un boitier de contrôle externe. Ce boitier dispose d’une carte équipée de 8 relais, d’une carte PCB vierge, et d’un arduino MEGA.
Ces éléments étant déportés, le pupitre n’accueille que les boutons poussoirs, les leds, l’afficheur, et c’est tout !
Fin de l’article.
Bon, en fait on va aussi parler du boitier électronique 🙂
Reprenons les choses dans l’ordre.
- Le pupitre dispose de 15 boutons poussoirs, 25 leds, deux afficheurs de tensions / courant, un écran LCD et un commutateur :
1 bouton d’allumage / arrêt. - 1 bouton d’arrêt d’urgence de toute la maquette.
- 1 bouton d’allumage des éclairages publics et des bâtiments.
- 1 bouton d’allumage des véhicules.
- 1 bouton d’allumage du chassis de la maquette et des tunnels.
- 3 boutons permettant d’alimenter électriquement certaines sections de rail.
- 2 bouton permettant d’accélérer ou ralentir les trains.
- 1 bouton permettant d’inverser le sens de circulation des trains.
- 1 afficheurs de tension / courant global de la maquette.
- 1 afficheur de tension / courant dans les voies de chemin de fer.
- 1 écran LCD affichant un état global de la maquette et un retour pour toute action initiée.
- 1 commutateur pour changer le mode de fonctionnement de la maquette.
- 25 LED qui indiquent pour chaque bouton poussoir son état (actif / inactif) et le niveau de vitesse de déplacement des tains.
Certains de ces composants ont une action sur les fonctions de la maquette, d’autre ne sont que des indicateurs d’état à l’instant t.
Tous les boutons sont de type bouton poussoir, à l’exception du commutateur. Ils n’agissent pas directement sur la maquette, mais sont reliés à l’Arduino, qui interprète le retour de ces boutons (1 ou 0) pour agir sur la maquette.
Il rend compte de son action par le biais de l’écran LCD.
Les deux afficheurs de tension étant autonomes, ils n’ont aucune action sur l’Arduino et ne reçoivent aucun ordre de celui-ci.
Le commutateur est un bouton à 3 contacts. En réalité, à ce stade, un seul est utilisé: le mode de fonctionnement normal.
Toutefois, il sera utilisé plus tard pour activer un second mode: le mode autonome.
Mode Contrôlé
C’est le mode par défaut. Les boutons du pupitre donnent un contrôle total de la maquette. Le système ne prend aucune initiative, il attend les ordres de l’opérateur, qui sont exécutés au moment où ils sont reçus. C’est ce mode qui est en cours de développement.
Mode Autonome
Le mode autonome désactive les boutons du pupitre. Il n’affiche que les retours via des leds.
Ce mode prend le contrôle total de la maquette. Il gère lui seul le déplacement des trains, l’allumage des lampadaires, des véhicules, des bâtiments.
Comme il s’affranchit des ordres de l’opérateur, il doit avoir des informations de la part de divers capteurs pour fonctionner. Ainsi, un capteur photosensible sera placé sur la maquette. Selon la luminosité ambiante, le programme allumera ou éteindra les éclairages publiques et les bâtiments.
Divers petits hauts parleurs diffuseront également des ambiances à divers endroits de la maquette: sons de cloche du coté de l’église, bruit de locomotive vers la gare, bruits d’animaux au niveau des prés…
Le mode autonome ne sera pas immédiatement disponible, car son développement prendra du temps, patience, donc… 🙂
Interopérabilité des éléments du pupitre
Comme je le précisais plus haut, les éléments de commande et les éléments de puissance seront séparés.
Ainsi, les boutons poussoirs et les leds seront directement connectés à l’Arduino. Les lumières de la maquette seront connectées à des relais, sous le contrôle de l’Arduino.
Cette solution a un avantage non négligeable: les boutons poussoirs ne seront que des signaux ouvert/fermés envoyés à l’arduino. Ainsi, leur utilité peut changer à tout moment dans le fonctionnement du système. C’est l’interopérabilité des commandes.
Par exemple, le bouton poussoir qui permet d’allumer les lampadaires peut, selon le scénario, devenir celui qui commande le mouvement des locomotives. Tout n’est qu’une question de réglage logicielle.
Le pupitre peut donc « se transformer » au gré des scénarios et des besoins de la maquette. L’écran LCD indiquera ces changements.
Code
Le code est réalisé sous l’application Arduino. Après l’initialisation, où les variables et les objets sont déclarés, le code boucle dans le vide, affichant simplement un message, en l’attente de recevoir un ordre du pupitre.
Selon le bouton sur lequel on appuie, le code entre dans une boucle spécifique. Pour la majorité des cas, en réponse à un appui sur un bouton poussoir, l’Arduino ordonne à un relai de changer d’état (fermé ou ouvert) et se maintenir dans cet état jusqu’à un nouvel appui sur le bouton.
Pour gérer les locomotives, l’Arduino prend le contrôle d’une puce spécifique, qui agit un peu comme un transistor, très évolué. Un signal de commande permet de faire varier la valeur d’une tension envoyée dans la puce.
En retour de toutes les actions qu’il effectue, l’Arduino envoie un message sur un écran LCD.
N’étant pas un professionnel dans le domaine, il est assurément perfectible, et si vous avez des suggestions à proposer, c’est avec plaisir qu’on peut en discuter.
Le code peut être téléchargé depuis cette page.
Visuels
J’ai moi-même dessiné le pupitre par ordinateur, et l’imprimante 3D à la maison s’est chargée de le réaliser. Voici quelques visuels de ce pupitre terminé. Il manque encore les boutons poussoirs, et le schéma du tracé des rails sera placé sur la façade, mais ces photos vous donneront une petite idée de ce à quoi il va ressembler.
Sur la droite du pupitre y sera fixé le boitier contenant les éléments électroniques de contrôle (Arduino, relais, électronique).
1 Comment
bonjour Nous aimerions bien avoir les codes arduino ,cablage ,de cet ensemble trés bien construit merci