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

Pages: [1] 2 3 ... 13
1
Aide / Re : "Failed uploading: no upload port provided" (COM8) !!!!
« le: novembre 11, 2024, 09:30:07 pm »
Bonsoir Philippe,

Quel type d' Arduino utilises tu ?
As tu déjà fait des téléchargements avec ?

Peut être un problème de driver USB CH340:

https://tropratik.fr/installer-un-convertisseur-usb-ttl-ch340


2
JMRI et Arduino / Re : Communication JMRI et Arduino
« le: novembre 02, 2024, 12:08:26 pm »
Bonjour Franck,
La commande du servo-moteur avec l'ATTiny se fait avec un niveau 0V ou +5V obtenu par une carte de sortie standard ou un bouton poussoir.
Il y a 3 potentiomètres de réglage :
2 pour régler les positions min et Max et 1 pour régler la vitesse du servo.

A ma connaissance, il n'existe pas de carte I/O WiFi ou 2.4GHz. Mais si tu utilises JMRI, tu dois disposer de prises USB sur le PC.

3
JMRI et Arduino / Re : Communication JMRI et Arduino
« le: octobre 30, 2024, 05:37:53 pm »
Bonjour,

Pour contrôler des servomoteurs d'aiguille, le plus simple c'est de le faire avec un ATTiny:

https://forum.espacetrain.com/index.php?topic=3637.0


Pour piloter à distance des aiguillages ou recevoir des infos de capteur avec JMRI,
le plus simple c'est d'utiliser C/MRI avec une carte I/O comme celle-ci:

https://forum.locoduino.org/index.php?topic=507.0

4
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 17, 2024, 07:20:46 pm »
Bonsoir,

Je suis content que tout fonctionne bien.  :)

Bonne soirée.

5
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 17, 2024, 02:01:43 pm »
Bonjour,

UNO_S88.cpp fait partie de la librairie.
Une fois la librairie installée, on ne s'en occupe pas.

Les librairies comportent généralement un fichier "en tête" xxx.h et un fichier xxx.cpp

Si la librairie est installée, la compilation du programme devrait s'effectuer normalement.

6
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: octobre 17, 2024, 01:25:43 pm »
J' ai rajouté un cinquième nœud à mon bus CAN.
Je voulais expérimenter une carte pilotant des servos-moteurs.

La librairie OpenLCB_Single_Thread comprend plusieurs exemples de programmes pour de telles cartes.

Il y a le programme AVR-8servo qui utilise un module PWM PCA9685 pour piloter 8 servos.

N'ayant pas un tel module sous la main, j'ai plutôt utilisé le programme exemple AVR2ServoNIO.
Celui-ci implémente :
- 2 servos à 3 positions configurables.
- N entrées / sorties configurables.
N = 8 dans le programme.

J' ai téléchargé ce programme dans un Arduino UNO auquel j'ai adjoint un module CAN MCP2515.

Le cablage a été fait conformément au tutoriel de Jean-Luc:
https://www.locoduino.org/spip.php?article268
sauf que la pin INT est reliée à la pin 3 du UNO (pas à la pin 2)

J'ai d'abord testé le module CAN avec le programme loopback de Jean-Luc: résultat erreur 0x20. Encore un module neuf Hors Service...
Heureusement, j' en avais plusieurs d'avance et le suivant, lui, était bon.
Ces modules CAN chinois ne sont pas chers mais pas de bonne qualité.

J' ai connecté un servo en pin A4, un bouton poussoir en pin4 (avec sa résistance de 10k ohm en pullup)
et une led en pin5 (avec sa résistance de 560 ohm) à l' Arduino UNO.
Et j'ai relié le module MCP2515 au bus CAN (H avec H et L avec L).

J' ai donc sur le bus:
- 1 ESP32 passerelle CAN-USB pour JMRI
- 1 ESP32 (8 entrées 8 sorties) CAN1
- 1 ESP32 (8 entrées 8 sorties) CAN2
- 1 UNO (2 entrées 2 sorties) CAN3
- 1 UNO (2 servos 8 entrées / sorties) CAN4

CAN-USB et CAN1 comportent la résistance terminaison de 120 ohm nécessaire au bon fonctionnement du bus CAN.

Tous ces nœuds apparaissent bien dans  la fenêtre Network tree de JMRI.

La configuration du nouveau CAN4 se fait aisément.

Il y a 3 events pour chacune des 3 positions réglables (en degrés ) des servos-moteurs.
Il suffit d'associer l'event position 2 à 90° (par exemple) à l'event appui d'un bouton poussoir d'un autre nœud pour faire bouger le servo-moteur.

Il est bien sûr possible d'associer les mouvements du servos-moteur à un aiguillage.
Et de contrôler cet aiguillage par un clic de souris depuis l'écran de panel-pro de JMRI.

Il y a un choix multiple pour l'option entrée ou sortie de CAN4.
Ce choix s'effectue par menu déroulant. 3 options pour une sortie: solid, pulse ou flashing.
C'est pratique en effet de choisir directement depuis JMRI si une broche est une entrée ou une sortie.
J'ai donc défini la pin4 comme entrée et la pin5 en sortie.

C'est vraiment un plaisir de configurer un bus CAN et ses events associés aux entrées/sorties par simple clics et copier-coller.

J'ose pas penser à la programmation CAN bas niveau que représente 46 entrées/sorties et leur interactions sur 4 noeuds...
Il faut un certain courage (et une solide organisation) pour apréhender la programmation en dur d'un bus CAN non normé.

Par contre j'ai atteint les limites du "cablage fils volants" avec cables DuPont et breadBoard.
Sur mon bureau, c'est la jungle façon spaghetti... mais cela fonctionne   ;)

7
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 16, 2024, 11:26:02 am »
Bonjour,

Il faut installer la librairie, pas la copier colller.
Elle est fournie en bas de page sous forme de fichier zip à télécharger.
https://www.locoduino.org/spip.php?article138

Relisez si vous ne l'avez déjà fait l'article https://www.locoduino.org/spip.php?article71
Où vous verrez que c'est la Méthode facile 2 qui est recommandée pour l'installer.

le programme qui fait 7 lignes lui est copié collé dans l'éditeur
#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano

void setup() {
  S88_Setup(16);        // on donne le nombre capteur 8 ou 16
}

void loop() {
  S88_Loop();           // boucle sur les capteurs
}

il fait appel à la librairie par sa première ligne:
#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano
le compilateur lorsqu'il lit cette ligne, va automatiquement faire appel à la librairie
pour autant qu'elle ait été préalablement convenablement installée.

Pour insérer du code de façon lisible dans le forum, il faut se servir de l'icone  # et coller le code entre les 2 balises

8
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 12, 2024, 08:08:48 am »
Installer une bibliothèque
https://www.locoduino.org/spip.php?article71

9
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: octobre 04, 2024, 07:04:50 pm »
Histoire toujours d'expérimenter le bus CAN OpenLCB (LCC) j'ai ajouté un quatrième noeud au bus.

Cette fois j'ai utilisé un arduino UNO avec un module-driver MCP2515.

Le cablage a été fait conformément au tutoriel de Jean-Luc:
https://www.locoduino.org/spip.php?article268
sauf que la pin INT est reliée à la pin 3 du UNO (pas à la pin 2)

J'ai utilisé la librairie OpenLCB_Single_Thread
https://github.com/openlcb/OpenLCB_Single_Thread/tree/master

J'ai compilé l'exemple OlcbBasicNode qui configure 2 entrées et 2 sorties
J'ai connecté un bouton et une Led au UNO

Et j'ai relié l'ensemble au bus CAN (H avec H et L avec L)

J'ai lancé JMRI, mais le noeud UNO n'est pas apparu dans la fenêtre Network tree.  :(

Soupçonnant un problème sur le module MCP2515, j'ai téléversé le programme loopback de Jean-Luc dans le UNO.
Le programme m'affiche une erreur code 0x1 dans le moniteur.
Manifestement le module MCP2515 est HS.

J'ai donc repris un autre module MCP2515 que j'ai préalablement testé avec loopback.
test OK, messages reçus.

J'ai donc rechargé OlcbBasicNode  dans le UNO.
Et là bingo! le noeud apparait bien dans JMRI.  :)

J'ai pu tester l'effet du bouton et de la Led du UNO sur le bus CAN. tout est OK.  8)
Simplement si on change l'affectation d'une sortie à un autre event (bouton),
il faut faire un reset sur la carte pour que cela prenne effet.

Il est donc possible de mettre sur un même bus CAN des transceivers 3V3 (module WCMCU-230)
et des transceivers 5V (module MCP2515) sans problèmes.

L'inconvénient du module MCP2515 est qu'il consomme 5 pins de sortie sur le UNO,
ce qui laisse moins d'entrées/sorties disponibles.

Il semble aussi que le MCP2515 soit plutôt "outdated" et qu'on lui préfère le MCP2518.
https://groups.io/g/layoutcommandcontrol/message/9513

10
Vos projets / Identification de matériel roulant
« le: septembre 25, 2024, 07:25:33 pm »
Bonjour,

Geoff Bunza a réalisé un scanner de mini codes barres.  8)

https://forum.mrhmag.com/post/sma48-working-automatic-car-identification-aci-for-model-railroaders-13446525

C'est une alternative à l'identification par RFID.

Les codes barres sont collés sous les wagons et une mini caméra placée sous la voie les scanne. Un ESP32 fait l'acquisition et transmet par WIFI les listes identifiées à JMRI.  :)

11
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: septembre 20, 2024, 11:49:49 am »
Salut François,

C'est vrai, JMRI m'impressionne vraiment par sa puissance.
Il se révèle un gestionnaire hors pair pour configurer un réseau CAN.
Au début on est impressionné par toutes ces fenêtres de configuration, mais à l'usage c'est vraiment génial.
Chapeau bas à tous ses dévellopeurs.  :)

12
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: septembre 18, 2024, 07:22:04 pm »
Bonsoir Marcel,
Cela fait beaucoup de boulot pour allumer une led  :) mais cela offre des perspectives intéressantes.
Rien qu'avec la passerelle CAN-USB, on économise plus de 70€.
Si j' ai du courage je dessinerai un pcb pour un câblage propre.

14
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: septembre 18, 2024, 05:09:39 pm »
La suite du tuto : 2 sur 2

menu OpenLCB -> Configurer noeud



La fenètre Network Tree affiche les noeuds du réseau CAN avec leur identifiants en hexadécimal
Il y a bien 2 Arduino IO boards et 1 Arduino Serial Bridge de listés
Il y a aussi un noeud pour JMRI

05.01.01.01.18.2A - Arduino IO Board est le CAN1
05.01.01.01.18.2B - Arduino IO Board est le CAN2

cliquer sur le noeud CAN1
puis cliquer sur Open Configuration dialog

cela ouvre la fenêtre de dialogue du CAN1
cliquer sur Segment:Settings
on voit d'abord les 8 onglets des outputs du CAN1



descendre dans la fenêtre jusqu'au 8 inputs
le bouton est connecté (pin32) sur input1
l'appui correspond au niveau LOW cela produit l'event 05.01.01.01.18.2A.00.11
le relachement correspond au niveau HIGH cela produit l'event 05.01.01.01.18.2A.00.10



Il faut associer ces 2 events à la sortie 1 du CAN2
Pour cela on retourne dans la fenêtre Network Tree pour cliquer sur le noeud CAN2
cela ouvre la fenêtre de dialogue du CAN2
cliquer sur Segment:Settings
on va à l'onglet output1. C'est sur cette sortie qu'est connectée la led (pin15)
par copy / paste des events:
on associe  l'event 05.01.01.01.18.2A.00.10 du CAN1 à l'event output on du CAN2
et on associe l'event 05.01.01.01.18.2A.00.11 du CAN1 à l'event output off du CAN2

Les events passent en orange lorsqu'ils sont modifiés il faut appuyer sur write pour valider



L'appui (low) sur le bouton éteint bien la Led
Le relachement (HIGH) l'allume

Si on ouvre le moniteur de trafic on voit bien les events déclenchés par l'appui sur le bouton



15
Bus CAN / Re : Bus CAN DIY compatible JMRI
« le: septembre 18, 2024, 03:38:52 pm »
Ci-joint le tuto 1 sur 2 pour reproduire l'expérimentation.

D'abord les connections:

   * passerelle CAN-USB :

ESP32            FTDI232

pin RX 16        pin TX

pin TX 17        pin RX

3V3                VCC

GND              GND

jumper du FTDI232 sur 3V3


ESP32            WCMCU-230

pin 4               CRX

pin 5               CTX

3V3                 3V3

GND                 GND

                      CAN H

                      CAN L

installer la librairie OpenMRNLite

Compiler et téléverser le programme exemple ESP32SerialBridge.ino

-------------------------------------------------------------------

   * nœud CAN1 (WIFI-CAN) :

ESP32            WCMCU-230

pin 4                CRX

pin 5                CTX

3V3                  3V3

GND                  GND

                       CAN H

                       CAN L


ESP32            bouton poussoir

pin 32            avec résistance pullup 10k


Compiler et téléverser le programme ESP32IOBoard.ino

au préalable définir le réseau WIFI avec son mot de passe  ligne 117 et 120

-----------------------------------------------------------------

   * nœud CAN2 (CAN) :

ESP32            WCMCU-230

pin 4                CRX

pin 5                CTX

3V3                  3V3

GND                  GND

                    CAN H

                    CAN L

il faut virer (dessouder de préférence) la résistance CMS R2 de terminaison de bus de 120 ohm sur ce module WCMCU-230
il y a déja les 2 résistances nécessaires au CAN sur les 2 autres drivers CAN

ESP32            diode LED

pin 15            avec résistance environ 560 ohm reliée à GND


Compiler et téléverser le programme ESP32IOBoard.ino

au préalable commenter la ligne 57 en:   // #define USE_WIFI

ligne 100 il faut un identifiant de node qui soit différent de CAN1: remplacer à la fin la lettre a par b par exemple

-------------------------------------------------------------------------

relier ensemble les 3 CAN H

relier ensemble les 3 CAN L

vérifier bien les connections



Alimenter les 3 ESP32 et connecter la prise USB du FTDI232        si rien ne fume, on continue ; )

Il faudra noter le port COM du FTDI232, c'est lui qui est connecté au PC JMRI

aller dans le gestionnaire de périphériques pour l'identifier (dans Windows 10: touche WIN + x)

------------------------------------------------------------------------

Lancer JMRI,  aller dans menu Modifier -> Préférences

clic sur onglet + (ajouter nouvelle connexion)

Fabricant système -> choisir:  OpenLCB

Connexion système -> choisir:  CAN via GridConnect adapter

renseigner le port série COM du FTDI232

cocher  Réglages connexion supplémentaires

choisir débit en bauds :  115.200bps

enregistrer et relancer JMRI



Si tout va bien, il y a un nouvel onglet OpenLCB dans le menu JMRI




Pages: [1] 2 3 ... 13