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

  • Salut Etienne ,

    Je n'ai pas capté un truc .Tu mets une carte sur le volant et tu utilises le module qui emet en 2,4 GHz Wifi / Bluetooth et le recepteur c'est aussi une meme carte connectée à l'ordi ?

    J'ai lu que si la bande etait bien wifi / bluetooth , le protocole n'etait pas le meme que celui wifi / bluetooth de l'ordi.Sur mon ordi je n.ai pas de carte wifi ( bluetooth je ne sais meme pas ) , il,faudra de toute façon que je trouve une solution.

  • Salut Vicpopo,

    Effectivement c'est du 2.4 GHz mais le protocole n'a rien à voir avec le wifi ou bluetooth.

    De l'autre coté il faut un carte qui a le même module radio (nRF24L01):

    soit la même carte TBB_01 (boitier pas encore fait) :

    TBB_01_Tiny_LC_sd.jpg

    soit un LeoRFDongle (Atmega32U4 + nRF24L01) :

    LeoDongle_sd.jpg  LeoDongle_nu_sd.jpg

    Soit une carte TBB_02 (boitier pas encore fait, cette carte étant destinée à être installée dans les roues Fanatec):

    TBB_02_sd.jpg

    J'ai fait aussi une petite carte similaire à la TBB_02, la TBB_NRF_01 qui est plus petite, et qui sert juste à connecter un module radio à un Teensy (photo à venir)...

    Ces modules sont reconnus comme des périphériques de jeux HID standards Windows, avec éventuellement un port série pour renvoyer la télémétrie au volant par SimHub ou Fanaled ou autre, et pour programmer les cartes à base d'Atmega32U4.

    Je ferais un tuto pour programmer ces cartes.

  • J'envoie les infos boutons à 500 Hz, donc 2 ms de lag en plus par rapport à une solution par câble, + j'arrive à passer dans l'autre sens les données série à 115200 bits/s ou des paquets provenant de la couche USB HID (commandes de Leds/afficheurs, etc).

    Ci dessous les timings, envoi des boutons dans un sens, envoi de donnée série provenant de simhub dans l'autre sens (renvoyé à un Nextion) :

    nNRF24_Timings.jpg

    Explication par étapes (les timings sont donnés à titre indicatifs, ils varient autour des valeurs données) :

    • T=0 -> 6 - Transmitting : La carte TBB_01 envoie des données (boutons, etc) au module nRF2401 qui les envoie par radio au LeoDongle branché au PC.
    • 300 µs -> 12 - LD Interrupt : Le module nRF2401 du LeoDongle reçoit le paquet radio émis au 6, et renvoie une réponse au TBB_01 contenant éventuellement des données provenant du port série émulé par le LeoDongle ou des paquets provenant de la couche USB HID474
    • 600 µs -> 4 - Interrupt : Le module nRF2401 de la carte TBB_01 reçoit des données renvoyées par le LeoDongle
    • 1 ms -> 8 - Receiving : Le Teensy de la carte TBB_01 récupère le paquet reçu
    • 1.1 ms -> 1 - SerialTx : Le paquet reçu est renvoyé sur le port série sur lequel est branché sur le Nextion
    • 1.4 ms -> 11 - LD Receiving : Le LeoDongle récupère le paquet envoyé à la première étape contenant les infos de boutons, encodeurs, etc, et envoie tout ça à couche USB HID (périphérique de jeu sous Windows).
  • Salut

    Bon je dois être le seul à pas avoir pigé le truc , mais avec la modification de mon volant dtm je suis obligé de parametrer mes boutons .

    Malgré tous les tutos qu’ Etienne a fait , j’ai passé plus de 6h à fouiner , chercher , tester , comment faire mais que dalle , je suis vraiment une bille , et je dois bien avouer que tous ça me dépasse .

    En gros ce que j’ai fais :

    J’ai installé Arduino , ensuite je me suis rendu sur le site de node-blue via l’application Arduino .

    Après j’ai essayé du suivre ce qu’Etienne a mis sur son premier post , mais ça bloque au niveau de glisser TBB_01_DTM_Wheel _v2 .txt dans la fenêtre node-blue vers Drop file here , ça le renvoi vers un lien une ligne de code .

    Ensuite j’ai essayé plusieurs fois le tuto (premier pas) pour faire clignoter la led , mais pareil rien y fait .

    Si quelqu’un a une astuce un pourrait le dire ce qu’il faut faire ça serait cool , car la j’avoue que je suis un perdu .

    Merci d’avance ?


  • mais je pense que j’ai fais une connerie , car en début d’après midi j’avais des boutons qui fonctionnaient , mais là j ai plus rien .

    Il y a rien pour la mettre en configuration d’usine que je reparte de zéro ?

    Et le fait de rester appuyé sur le petit boutons blanc change rien ?

    Car du côté gauche de la carte j’avais que deux boutons dispo , plus des encodeurs mais j’en ai pas besoin .

  • Le site github c'est celui que tu montres sur ta capture d'écran !.

    Je ne comprends pas du tout comment tu arrives la dessus si tu fait ce que je dis.

    Je pense qu'il vaut mieux que tu m'appelles demain pour qu'on voit ça en live, ça sera plus simple...

  • Ce sujet m'intéresse vivement pour mon projet de HUB.

    Je veux mettre :

    - 8 boutons

    - 2 shifters

    - 2 encodeur rotatif

    - 2 boutons directionnels 4 voies + cliquable

    Je part sur une solution câblée avec un câble USB torsadé qui passe par un PE.

    La Teensy LC fera t'elle l'affaire ?

    Il y aurai moyen de faire allumer des leds pour un petit afficheur régime moteur avec ?

  • Le Teensy LC pourrait suffire, à condition de faire des matrices de boutons ou des Bodacs, sinon il faut passer au Teensy 3.2 (pour moi les Teensy sont masculins :hihihi:).

    Pour les Leds oui c'est possible, en particulier avec le Teensy LC qui a une sortie spéciale (et un connecteur dédié sur la TBB_01), sinon sur le Teensy 3.2 c'est possible aussi mais il faut rajouter des composants.

    Les Leds dont je parle sont des barres de WS2812B : https://www.electroseed.fr/shop/product_i…products_id=145

  • Très intéressant tout ça. Désolé pour la confusion du sexe de la carte :timide: . Je pense que vu le nombre de boutons je partirai sur le Teensy 3.2 . Après pour les leds, j'ai pas vraiment de grosse connaissant en électronique, ni même en programmation. Il faut passer par un logiciel tierce pour les Leds ? Fanaled ? SimHub ?

    Je souhaite faire partir 1 seul câble USB, et je n'aurai pas énormément de place derrière mon HUB ...

    Je vais peu être attendre que des solutions soient postées, trop perdu pour l'instant.