Grosse évolution : on passe à la V3
Mode d'emploi :1°) télécharger processing :
https://processing.org/download/?processingC'est du Java, mais ça ressemble énormément au langage Arduino.
C'est normal, Arduino dérive de processing.
2°) télécharger le .zip joint qui contient :
- Les fichiers .pde qui sont ceux de Processing
- Une directory qui contient un programme de démo en Arduino
- une directory "data" qui contient les sauvegardes :
- Cubes.tsv, c'est l'image du réseau
- RailID.tsv qui contient les identifiants du réseau (numéros de cantons, des aiguilles, identifications des compositions des cantons, …)
- Une gare exemple qui est une copie de Cubes.tsv
- Des étiquettes exemples qui sont les étiquettes de la gare.
3°) Il faut brancher un Arduino UNO (p. ex), c'est indispensable au fonctionnement.
Et il faut le laisser branché puisque c'est par le câble USB que transitent les échanges Arduino -> Processing.
4°) On lance d'abord le programme Arduino.
Il faut le faire avant car sinon, on ne peut pas téléverser car le port est déjà utilisé par Processing.
5°) On lance le programme Processing "Essai de cube…", ce qui ouvre tous les autres dans des onglets.
6°) Dans le setup de processing, entouré par des étoiles, les 2 variables à initialiser une fois pour toutes :
- size : ici, c'est size(1920, 1080), mais vous prenez ce que vous voulez.
- edge (arête d'un cube), ici à 40.
En changeant l'arête d'un cube, toutes les autres dimensions se recalculent toutes seules.
7°) Vous lancez le programme ("play", en haut à gauche)
Apparaissent les cubes exemple de la légende sur la gauche.
Par "glisser-déposer", on peut prendre un cube à gauche et le poser où on veut.
Puis on peut l'orienter (coin en bas à gauche pour le sens horaire, coin en bas à droite pour le sens trigo).
Petit à petit, vous construisez votre réseau.
Je vous propose ma gare déja dessinée et étiquetée.
Faire simplement L.
8°) Si vous voulez recopier une partie ou déplacer une zone, c'est presque comme d'habitude.
- appuyez sur CTRL. Vous pouvez relâcher la touche
- vous sélectionnez la zone (qui passe en grisé). Si vous resélectionnez un cube, il se déselectionne.
- si vous appuyez sur C, les rails (et seulement les rails !) adhèrent au curseur.
- si vous appuyez sur X, pareil
- en appuyant sur V, vous collez. CTRL C+V = copier-coller, CTRL X+V = couper-coller.
Petite subtilité :
Si vous appuyez sur c minuscule, vous ne copiez qu'une fois et tout est perdu.
Mais c'est plus simple.
Si vous appuyez sur C majuscule, la copie est gardée et vous pouvez vous en resservir tout de suite.
C'est particulièrement utile pour des droites.
Pour arrêter, faire M et cliquer sur "annull" dans la boîte qui s'ouvre.
9°) Pour numéroter les cantons et les aiguilles, il faut mémoriser des étiquettes.
- appuyez sur CTRL, comme avant
- Il faut sélectionner cette fois uniquement des rails, un par un ou en groupe.
Attention : il faut les sélectionner uniquement dans le sens horaire (ça servira par la suite)
- puis appuyer sur M (mémory) une fenêtre pop-up apparait et vous donnez le numéro du canton ou de l'aiguille.
- Puis OK et c'est fini.
Mais vous allez vouloir vérifier. C'est normal.
- appuyez sur D (display) et toutes les étiquettes apparaissent.
En grand la première et en petit les filles. Vous pouvez voir ainsi si des zones sont non étiquetées, ou à l'envers.
La touche M (memory)sert aussi à déselectionner :
Vous avez appuyé par erreur sur CTRL. Vous appuyez sur M puis sur "annul".
Les étiquettes suivent le déplacement en couper-coller, mais pas en copier-coller. C'est voulu.
10°) Le mode démo :
En appuyant sur E (Exemple), une bascule débloque le port série, et ce qui est programmé dans l'Arduino se déroule.
Vous trouvez que ça va trop vite ? : modifiez le delay(1) dans le programme Arduino. Par exemple 500.
11°) Enfin, mais c'est important, vous pouvez sauver en faisant S (Save) : les fichiers Cubes.tsv et RailID.tsv sont alors écrasés et remplacés par vos fichiers.
Mes fichiers exemple sont dont recopiés sous un autre nom pour ne pas les perdre. Vous pouvez faire de même avec les vôtres.
Il reste des choses à faire :
- ajouter des cubes aiguille triple, aiguille symétrique, des ponts et des tunnels, …
- j'aimerais bien faire rouler des trains avec une loco et des wagons sur le TCO.
- finaliser le lien entre SGDD et le TCO.
Pour l'instant, le TCO est "universel". Vous le branchez à un port série sur ce que vous voulez.
Et après, dites-moi ce que vous voudriez en plus !
Merci à Thierry pour sa simplification drastique de la class RailID.
Si quelqu'un connait personnellement Monsieur PCDuino, j'aimerais bien lui parler.
Juste pour le fun : en faisant S, vous sauvez bien sûr les positions des aiguilles. Cela évite la fameuse EEPROM.
Mais, bon, un écran 27" plus un PCDuino pour gagner une EEPROM ...