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

Votez pour l'image du mois
  • Bonjour à tous,

    Ce sujet est concerne la programmation des cartes Arduino Leonardo ou Teensy afin d'interfacer des boutons/encodeurs/etc.

    A titre d'exemple, nous allons programmer une carte TBB_01+Teensy LC+NRF24L01.

    J'ai disposé sur la platine 6 boutons + 4 encodeurs rotatifs, il y a également 2 palettes connectées :

    DTM_RFR_Front.jpg

    La carte a été câblée de la façon suivante :

    DTM_RFR_Back.jpg

    Dans Node Blue, cela correspond à ceci :

    TBB_01_DTM_Wheel_v2.jpg

    Edit : pour l'instant Node Blue n'est plus accessible en mode libre. Les explications ci dessous ne fonctionnent plus.

    Les modules RotKnob décodent les signaux des encodeurs rotatifs, les modules Rotary génèrent des impulsions + et - à partir des modules RotKnob.

    Les autre modules d'entrée sont pour les boutons.

    Pour changer les broches utilisées en fonction de votre propre branchement, il faut double cliquer sur un module et changer la ou les broches dans la fenêtre de propriétés.

    Si vous voulez faire des essais sur cet exemple sans installer Node Blue, c'est ici : http://www.nodeblue.org/gui/index.php?…TM_Wheel_v2.txt

    Ça vous permettra de découvrir l'interface, mais pas de compiler le code, pour ça il faut installer l'environnement.

    Pour installer l'environnement de développement NodeBlue, rendez vous sur le wiki : http://www.nodeblue.org/wiki_fr/index.php/Installation

    1) Aller dans le répertoire node-blue/gui/examples/TBB_01, et glisser le fichier TBB_01_DTM_Wheel_v2.txt dans la fenêtre Node Blue.

    Les modules vont apparaître.

    Modifier les paramètres/connections des modules en fonction de vos besoins (n'hésitez pas à poser des questions, la doc n'est pas complète pour le moment).

    2) Une fois que vous être prêts à téléverser le programme, cliquer sur "Export" en haut à gauche, puis tapez Ctrl-C pour copier le code, et ensuite Ctrl-V pour le coller dans l'IDE Arduino.

    Et voilà ! il ne vous reste plus qu'à compiler puis téléverser le programme (CTRL-U).

    A chaque modif, il faudra répéter à partir de l'étape 2)

  • C'est une excellente nouvelle ça !!! Au top Etienne :+:

    Compatible avec Simhub ??

    Par contre j'ai commander hier un écran nextion 4.3" et du coup il risque d'être trop grand pour être embarqué sur ma roue actuelle

  • Oui, compatible avec Simhub. ça marche bien indépendamment (Leds ou Nextion), y compris par radio, par contre pour avoir LED+Nextion sur le même port série, je n'ai pas trouvé comment faire dans SimHub. Le seul moyen que je vois pour l'instant, c'est d'intercepter les commandes série envoyées au Nextion pour les RPM et de les renvoyer sur les LEDS.

    C'est clair que 4.3" c'est énorme pour un volant. J'ai un 3.2" et déjà c'est trop gros. Je pense que je vais commander un 2.4" ou un 2.8" pour tester, ça me semble plus raisonnable.

  • Au départ c'était pas prévu de l'embarquer sur la roue.... Je veux que du sans fil et hier je ne savais pas que l'écran serait compatible avec ton interface.

    C'est pas grave ça sera pour un autre projet de roue, j'ai quelques idées en tête. Et hier soir, j'ai craqué, je me suis offert une imprimante 3D pour mon anniversaire (une CR-10) ça ouvre le champ des possible :)

    Donc au final on peux s'attendre a une interface unique pour nextion + led + bouton / encodeur. Au pire on peux embarquer deux interfaces ??

  • Je n'en ai pas parlé avant parce que je ne préfère pas trop m'avancer tant que ce n'est pas fait et validé, mais l'idée est effectivement de pouvoir gérer écran+leds+boutons+encodeurs avec une seule carte. Si SimHub ne peux pas gérer un Nextion + Arduino sur le même port série, il va y avoir un peu de R&D pour fusionner les 2. En tout cas SimHub a l'air bien puissant et gère pas mal de choses, donc ça va être un outil bien utile !

    Je suis à 100 % sur la boutique en ce moment, donc il faudra attendre un peu pour que je puisse me mettre là dessus (et il faut aussi que je fasse la doc et des tutos pour NodeBlue).

    Embarquer 2 cartes radio sur le volant est théoriquement possible, mais il faudra vérifier que l'alimentation par bobine peut sortir assez de courant pour tout ça, et aussi qu'il y a la place !

    Bon investissement l'imprimante 3D !

  • J'ai découvert simhub il y a quelque jours, je ne l'utilise pas encore mais il a l'air vraiment très bien. Pour la gestion nextion + arduino sur le même port série, on peux peu-être demander au dev de simhub si c'est possible d'intégrer une gestion spécifique pour ton interface ?

    La boutique !! La boutique !! On en a gros...... :jesors:

  • j'ai découvert SimHub aussi il n'y a pas longtemps, et j'ai trouvé ça bien excellent.

    C'est effectivement une bonne idée, je contacterai le dev de SimHub dès que j'aurais un truc à lui montrer (en plus j'ai un bug à lui signaler :B)

    C'est clair qu'intégrer la gestion de mes cartes dedans ça serait le top.

  • D'la balle Étienne ! Si t'arrive à fusionner ton boulot sur la partie boutons sans fils avec la gestion écrans/leds SimHub de wotover ça va devenir la folie pour les roues. J'y pensais pas plus tard que ce matin, je me disais que c'est quand même dommage de ne pouvoir rajouter que 8 poussoirs pour SimHub. Le seul moyen éventuellement de gruger c'est de pomper les poussoir sur un TM1638 mais faut pas être manchot...

    164969.png

  • La fusion bouton/affichage marche, juste je ne peux pas avoir en même temps le Nextion et les Leds ou tout ce qui est piloté par arduino (afficheur 7 segments, etc..).

    En plus Paul Stoffregen (le créateur des Teensy) vient de sortir une lib optimisée pour contrôler les Neopixel. C'est pas forcément indispensable vu que pour rafraichir 8 Leds ça ne prend que 200 µs, mais pour 16 leds ça fait 400 µs ce qui commence à être trop.

    Avec mon système, j'envoie les infos boutons à 500 Hz, et le packet radio est reçu moins de 300 µs après l'envoi. J'arrive à passer dans l'autre sens un signal série à 115200 bits/s sans problèmes, ce qui est largement suffisant pour notre cas.

  • J'ai aussi hâte de virer le câble de mon volant Mige piloté par la Leonardo .Mais je garde la Leonardo c'est toujours possible Etienne ?

    Je parlais bien sur pour les boutons palettes !

    En plus maintenant que mon imprimante 3d tourne nickel je peux faire plein de pieces sympas ;)

    Message modifié 2 fois, dernière modification par vicpopo (21 novembre 2017 à 20:37).

  • Oui tu peux garder la Leonardo (pour le FFB en tout cas). Mais il te faudra quand même un récepteur radio à part, car il n'y a plus assez de place dans le code pour intégrer à la fois le FFB et la réception radio.

    Avec tous les RFRiens qui se sont choppé une imprimante 3D, j'ai l'impression qu'on va voir apparaitre des roues de fou dans pas longtemps :yes:

  • Super merci pour le retour Etienne !

    Ouais c'est quand meme génial ce truc !! Tu penses à un truc , tu dessines , tu imprimes et paf tu testes .... bon et puis apres tu améliores , tu dessines , tu modifies , tu imprimes ..... c'est sans fin et ça j'aime ;)

    Et puis comme t'es de plus en plus pressé de voir tes pièces tu trouves des solutions pour imprimer de plus en plus vite ;) petie video après !

    Message modifié 1 fois, dernière modification par vicpopo (21 novembre 2017 à 21:17).

  • External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Une petite video

  • C'est exactement ça, le nombre de protos que j'ai du imprimer pour mettre au point mes boîtiers pour les bobines, c'est une honte :hihihi:

    Je vois que tu es parti sur une HyperCube ! excellent choix, il faudra que tu nous en parles dans le topic dédié :+: