DIY - Node Blue : Programmation cartes Arduino pour les boutons/encodeurs/etc

Votez pour l'image du mois
  • Non en filaire tu n'aura pas besoin de câble d'alim supplémentaire, l'USB fournit du 5V (500 mA sur un port USB de PC, largement suffisant).

    Pour une solution sans fil, tu peux soit alimenter avec de l'induction (avec un QR ThomConcept ou alors avec un autre QR il faut bricoler), ou bien par batterie, avec un module charger/booster qui élève la tension à 5V pour avoir une bonne luminosité sur l'écran. Je n'ai pas encore fait de tests d'autonomie, mais je vais bientôt m'y coller.

    Effectivement la latence en radio est minime (4 ms dans le pire des cas).

  • Je suis sur un T500 RS totalement basique. Donc je ne pense pas avoir tout ça. Je vais me renseigner sur ces QR. :++:

    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. La théorie mise en pratique : Rien ne fonctionne... et personne ne sait pourquoi !

  • Sur un T500 tu ne pourra pas monter un QR ThomConcept (et je ne crois pas qu'il existe de QR pour les T500 RS).

    Par contre quand tu démonte la roue tu as un connecteur qui comprend une alim.

    Tu as les infos de branchement du connecteur ici :

    arduino_nano_thrustmaster_t500_gt_wheel_emulation.jpg

  • Oui j'ai ces infos et effectivement tu as raison sur ce point, mais je ne souhaite pas exploiter la base du T500. Si je viens à changer de base j'aimerais éviter trop de RE config du matos. Ou alors juste repiquer le 5V pour le Nextion ... ce qui éviterait la batterie Externe.

    J'étais parti sur une batterie externe en 5V ca passe bien, il y en a des suffisamment compacte. Reste à choisir une autonomie suffisamment grande pour ne pas avoir à recharger tous les 4 matins. L'intérêt c'est qu'on peut changer la batterie si besoin.

    Quant au QR de Thom concept, ca ne rentre pas dans mon budget Oo

    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. La théorie mise en pratique : Rien ne fonctionne... et personne ne sait pourquoi !

  • J'ai quelques heures de test sur mon volant monté sans fil avec du matos a Etienne. C'est juste le top, efficace fluide et sans soucis a l'usage. Le systeme de codage est très abouti je suis fan.

    Y a quelques trucs qui pourraient être un poil bonifié mais pas grand chose, c'est stable tel quel.

  • J'avais pensé à un système de pairage pour pas qu'on s'emmêle les boutons avec le voisin (pas testé et pas de soucis). Mais je me dis que si je me rajoute une boîte à bouton ça pourrait être compliqué.

    Le format physique de la carte côté roue (et/ou du support plastique) est pas idéal à mon avis. J'ai eu du mal à tout bien maintenir en place pour l' emboitage final.

    Le format physique de la bobine côté moteur est pas idéal pour mon support. C'est un peu branlant chez moi mais en repoussant bien le QR on ne s'en rend pas compte.

    C'est des détails je peux vivre avec et c'est pas de la critique négative. Globalement c'est une tuerie sans latence ni rebond ni pairage chiant.

    Idée de trucs que tu saurais faire et dont je serais fan: faire un adaptateur sans fil pour pédales fanatec. Repiquer les entrées sans fil du simu cube aussi why not.

  • Oui le système d'appairage j'y ai pensé, mais pour l'instant c'est pas un besoin qui est apparu comme indispensable (ça se fait au niveau des designs). C'est plus pour les salles de simus, mais pour l'instant je n'ai pas eu de demandes pour ça.

    Je suis d'accord pour le format physique de la carte, j'ai prévu de le faire évoluer pour une version dédiée au volants.

    Pour le format physique de la bobine côté moteur, il faut voir ce que t'as fait, je ne vois pas trop (et je ne me souviens plus, je suppose qu'il est autocollant).

    Pour le sans fil sur les pédales Fanatec, il faut juste voir comment mettre en forme les signaux des capteurs hall et surtout de la LoadCell. Mais c'est faisable (j'ai rajouté le module Hx711 dans NodeBlue récemment).

    Repiquer les entrées sans fil de la simucube : que veux tu dire précisément par là ?

  • Pour l'appairage je comprends qu'il y a pas d'urgence. Après si je me fais une boîte à boutons je peux câbler un mmjoy filaire.

    Les pédales fanatec peuvent sortir en usb mais pas que... Y a une sortie PS2 qui doit sortir de l'analogique je pense. Faudrait que je creuse. 4 axes (frein à main powaaa).

    Pour la forme physique de l'émetteur, perso j'étais limite en finesse, ensuite chiant à monter sur l'entretoise et sortie des fils en face des vis.

    Quand je disais repiquer les entrées simicube je pensais que au lieu d'avoir émetteur et récepteur nodeblue avoir juste un émetteur qui envoie sur les entrées simicube qui servent un peu à rien tel quel.

  • Pour ta boite à bouton, tu peux mettre une TBB_01 qui servira de "récepteur" radio (je mets entre guillemets car si tu envoies des infos de télémétrie au volant depuis SimHub ou Fanaleds, ça sert aussi d'émetteur). Tortue G devait faire un truc comme ça mais je crois qu'il est en train de chercher une limace pour s'hybrider :hihihi:

    Tu peux aussi faire le même principe utiliser une TBB_01 avec un module radio. Pour les niveaux qui sortent en PS2, il faut voir ce que ça sort.

    Pour la forme de la TBB_01, je suis d'accord que ce n'est pas très commode avec les vis en face de certaines vis.

    Pour les entrées simucube, la puce radio qu'ils utilisent n'est pas compatible avec les miennes, c'est pas open source et ça ne le sera probablement jamais. Mais il y a moyen de rentrer sur les connecteurs filaires pour les entrées numériques, et analogique car il y a 1 ou 2 DAC sur les Teensys (selon les versions).

  • Bonjour,

    Je relance ce topic car j'aurais besoin de l'aide précieuse de Etienne ou de toute personne susceptible de m'aider avec NodeBlue.

    Bien que j'ai pris mon temps, mon projet a bien avancé et il me reste la touche finale : la prog avec NodeBlue.

    Tout est imprimé, monté et câblé. Mon volant est inspiré de celui du 911RSR 2017. Il dispose donc d'un écran Nextion4.3, d'un bandeau à LED ws2812 (24 Leds) et 10 poussoirs en facade, deux shifters et 5 encoder rotatifs 18 pulses.

    Suivant les conseils que tu m'avais prodigué, j'ai fait les branchements suivants sur le teensy LC et sur sa carte d'extension TBB-01.

    - Nextion 4.3 : TX > D0

    RX > D1

    - Bandeau LED WS2812 x24 : A3

    - Shifters : A5 et A6

    - Rotary : D2 à D9 (pour 4) et A1/A2 pour le 5e

    - Rotary Switch : A8 à A12

    - 2x Bodacs 5 boutons : A6 et A7

    J'ai essayé d'appréhender Node blue en lisant les tutos réalisés et en regardant attentivement les exemples nombreux qui sont proposés. Bien que certaines choses m'échappent notamment dans la configuration des propriétés des modules. Je pense que je dois pas être loin, mais je reste bloqué.

    Lorsque je configure le Teensy sur Com8 avec port "Serial" de communication j'obtiens l'erreur suivante :


    200220113211415858.png

    Je me suis donc dit qu'il fallait probablement changer la méthode de communication et prendre en compte l'option HID. J'ai donc choisi "Serial + Custom HID" et là j'obtiens une autre erreur :

    200220113211802035.png

    J'ai donc retenté la première ("Serial") et j'ai fait l'upload. Dans Simhub , il voit bien le teensy sur le com8 mais il n'arrive pas à rester dessus, il se "reconnecting" en permanence.

    Quelque chose m'échappe dans cette dernière étape. et je sollicite de l'aide afin de pouvoir ENFIN terminer et vous présenter le travail terminé.

    NB : Excepté les Bodacs que j'ai testé uniquement au multimètre, j'ai testé et vérifié le fonctionne de chaque bouton, led et rotatif sur simhub de façon individuel avec une arduino et tout fonctionne... Il y a donc vraiment qq chose que je sais pas faire.

    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. La théorie mise en pratique : Rien ne fonctionne... et personne ne sait pourquoi !

    Message modifié 2 fois, dernière modification par Liongivre (20 février 2020 à 11:45).

  • Il te manque le package NodeBlue pour gérer les Nextions, je vais te le rajouter. Je vais regarder ton projet et corriger les erreurs.

    Pour le moment j'ai identifié ces problèmes :

    1) Toutes les synchros sont sur "MainLoop". A part le module NextionInterface, il faut qu'il utilisent tous "Sync1".

    2) Tu as des modules "HostInterfaceIn" mais pas de "HostInterface", ce qui pose problème. Et si tu en rajoute un il va rentrer en conflit avec le module NextionInterface. Le calibrage des bodacs n'étant nécessaire qu'une fois, il suffit de connecter le module "HostInterface" au port série USB, déconnecter "NextionInterface", effectuer les calibrages, et ensuite déconnecter "HostInterface" et reconnecter "NextionInterface". C'est un peu lourd mais c'est la solution la plus simple (mais d'abord tester si c'est nécessaire de calibrer les bodacs).

    3) Tu as mis "None" pour les "Pull Mode" des boutons et encodeurs, il faut mettre "Pull Up" et pour les boutons sélectionner "Invert".

    Je t'ais crée un projet V2 que je suis en train de corriger.

  • Merci de m'avoir répondu.

    1 - Pour le sync ok je comprends, mais comme je ne savais pas quoi faire j'ai pas tenté.

    2 - Pour l'histoire avec les host interface... Je vais continuer de relire parce que j'arrive pas à comprendre ce que tu me dis mm si je lis lentement :hihihi:. J'ai mis les modules Host interface sans vraiment savoir à quoi ça sert. J'ai vu que dans les autres exemples ils y sont ... Ca devait bien servir à qq chose. J'ignorais qu'il y avait un calibrage des Bodac.Il se pratique comment ? Dans les propriétés des Bodacs, j'ai mis les valeurs des résistances que j'ai mésuré au multimètre mais je sais pas si c'est ça qu'il faut mettre.

    3 - Pour les rotatifs ils ont leur propre platine donc je n'ai pas besoin d'utiliser le pullup de la carte. Ils ont leur propres résistances. En revanche pour les deux shifters il y a une entrée et un com que j'ai mis à en GND. J'en déduis donc que je devrais plutôt les config en PullDown ? Pour l'option Invert... c'est pour inverser le signal je suppose ?

    Quant au pb de ram... Je suis surpris que cela prenne tant de place en ram. Il dispose de quelle quantité de Ram le Teensy ?

    Je te remercie vraiment BCP de ton aide tu me sort une épine du pied car je voyais plus comment avancer. Encore merci :shy3:

    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. La théorie mise en pratique : Rien ne fonctionne... et personne ne sait pourquoi !

    Message modifié 1 fois, dernière modification par Liongivre (20 février 2020 à 16:38).

  • Liongivre

    1) Oui, c'est normal, désolé il n'y a pas encore de tutos concernant les synchros.

    2) Les host interface servent à envoyer des commandes par le port série. Les commandes commencent par un caractère "Header" qu'on configure dans le module "HostInterface", ensuite on rajoute des modules "HostInterfaceIn" qui prennent un autre caractère et éventuellement un certain nombre d'octets de données.

    Cela peut servir par exemple pour s'interfacer avec SimTools, ou pour déclencher une séquence de calibration pour les axes analogiques, les Bodacs et autres systèmes à base de résistances.

    Le calibrage des Bodacs se fait de la manière suivante : On branche un bouton physique ou Nextion, ou un système de "Host interface" branché sur l'entré "Cal" du bodac, et la sortie "msg" du bodac sur le port série USB.

    Quand on déclenche la calibration, le Bodac envoie des messages d'instruction : "Press button 1", puis quand il détecte l'appui on a "Ok", puis "Press button 2", etc. A la fin de la calibration, les valeurs des coefficients sont stockés dans la mémoire flash afin de ne pas être perdus.

    Ce sont ces coefficients qui sont accessibles dans les paramètres du modules, pas les valeurs des résistances.

    Mais si tu as mis n'importe quoi comme résistances ça ne pourra pas marcher, et il faut des résistances de précision max 1% (c'est pour ça que je vends des packs de résistances pour les Bodacs, et que je vérifie moi même que la tolérance est respectée).

    3) Pour les encodeurs rotatifs, ok s'ils ont déjà des pullup il ne faut pas en mettre au niveau de NB. Reste à déterminer combien de pulses par détente ils produisent. Pourquoi tu n'as pas utilisé ceux que tu m'as acheté ?

    Pour les boutons, il faut mettre pullup car quand tu vas appuyer sur le bouton, cela va mettre la pin au GND. Ainsi quand le bouton est relâché, l'entrée est à 3.3V et quand tu appuie ça passe à 0V (GND). C'est pour cette raison qu'il faut sélectionner "Invert", afin que la valeur qui sort du module soit à 1 quand tu appuie et à 0 quand tu relâche.

    Le Teensy LC dispose de 8 Ko de RAM (contre 64K pour le 3.2), c'est pas énorme car les bodacs et surtout les modules HID et NextionInterface en utilisent pas mal. S'il fallait programmer "à la main" ce que tu as fait, cela prendrait un peu moins de RAM car tu saurais exactement ce dont tu as besoin. Mais pour être souple et pouvoir gérer plein de cas différents, je suis obligé d'être moins efficace en allouant des choses dont on a pas besoin dans certains cas. J'ai réussi à faire marcher ton design, mais en enlevant les "HostInterface". Pour calibrer les Bodacs, il suffira de relier (temporairement) des boutons physiques sur l'entrée cal.

    Je fais des tests avec un Nextion et des Leds et dès que c'est ok je t'envoie un MP (j'ai l'impression qu'il y a un truc qui a changé dans SimHub, il faut que je débogue).

    Notes :

    - les Leds RGB doivent être connectées au connecteur prévu sur la TBB_01 (3 broches à gauche du connecteur série pour le Nextion), qui expose une alim 5V et un signal amplifié (pin 17 at Vin voltage)

    - pour programmer le Nextion :

    1) il faut selectionner "Prog" dans le mode du module Nextion et programmer le Teensy

    2) uploader depuis le Nextion Editor ton design

    3) selectionner "Normal" dans le mode du module Nextion et programmer le Teensy

    temjin, les tutos ont toujours été en accès libre dans le wiki. Qu'est ce que tu entends par "vérouillé" ?

  • Etienne

    Je vais tenter de regarder plus en détails pour le calibrage des Bodacs. Les résistances j'avais tout simplement oublié de les mettre de la panier lors de la commande uqe j'ai fait chez toi. Du coup je suis allé à la boutique électronique près de chez moi et qui m'a vendu des 1% aussi. Je les ai bien testé et toutes me paraissent correctes en valeur sauf la 800 dont je trouve l'écart un peu important mais au pire une résistance ça se change facilement.

    Le calibrage des bodacs et les messages apparaissent via la console de ton interface graphique NodeBlue ?

    Les encodeurs que j'ai mis ce sont les tiens ce sont des 18 pulses par rotation et 1 pulse par détente. Mais comme avec Simhub je n'ai JAMAIS réussi à faire marcher le poussoir en pullup on non, j'ai utilisé des platines existantes des Ky040 que j'ai désoudé et que j'ai remplacé par les rotatif pris chez toi (suite d'un accident malheureux impliquant mon pied marchant sur un Ky040 le désolidarisant de sa platine).

    Si je comprends ce que tu me dis sur le calibrage des bodac il faut donc que dans le ton interface je mette un bouton poussoir sur l'entrée cal. pour chaque bodac ? Mais physiquement dois-je faire qq chose ? (désolé si je suis lourd mais j'avoue mon incapacité à tout bien comprendre du système).

    Pour le Nextion j'ai rentré le template graphique et les datas à interpréter en dur dans la mémoire du Nextion via le programme annexe de simhub Nextioneditor.

    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. La théorie mise en pratique : Rien ne fonctionne... et personne ne sait pourquoi !