DIY - [tuto] Boîte à 32 boutons MMos pour discovery

Votez pour l'image du mois
  • Voici un post complémentaire sur le branchement des boutons sur la discovery avec le firm de MMos :


    SMT Discovery : MMos a activé 2 interfaces SPI pour cela.


    Citation
    Une liaison SPI (pour Serial Peripheral Interface) est un bus de données série synchrone baptisé ainsi par Motorola, qui opère en mode Full-duplex.Les circuits communiquent selon un schéma maître-esclaves, où le maître s'occupe totalement de la communication.


    Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave appelée chip select.


    MCP23S17


    Cette puce est un registre extenseur d'entrées/sorties en SPI

    837706MCP23S17.jpg


    http://www.adafruit.com/datasheets/mcp23017.pdf


    Citation
    16-Bit I/O Expander with Serial Interface
    The MCP23S17 consists of multiple 8-bit configuration registers for input, output and polarity selection.
    The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB).


    En l'occurrence, les 2 MCP ne seront pas chaînés sur un même SPI mais il est prévu un MCP pour un SPI.


    Liste de course



    *** boutons poussoirs


    pour mémoire,


    OFF-(ON) c'est un bouton temporaire (sans enclenchement)


    OFF-ON c'est un bouton-poussoir avec enclenchement (permanent)


    ori-bp-rond-r1825b-4262.jpg


    les boutons poussoirs recommandés par TortueG dans les 149 pages du topic de Djboss

    http://www.gotronic.fr/cat-boutons-poussoi...-r1825-1059.htm


    Citation (Ponch' @ 5-11-2014, 09:48) *
    Stef, il me semble que ce sont les même ici : Waterproof-Momentary-Push

    Avec quelques couleurs en plus (rouge, vert, bleu, noir, blanc, jaune, orange).


    Citation (Stef Bord @ 5-11-2014, 09:51) *
    En effet çà semble être les même... Je les ai trouvé en pack de 6 encore moins cher directement chez le producteur...

    12mm-Domed-Push-Button-Pack


    Citation (Stef Bord @ 5-11-2014, 11:41) *
    Pour les rotatifs ils y en a aussi chez Simproject. Je te mets le lien sur la liste de ce qu'ils vendent, il y a peut être d'autres choses qui t'intéressent...
    http://www.symprojects.com/shop/


    Citation (RacingMat @ 5-11-2014, 12:40) *
    Toggle Rocket Switch :

    http://www.streettuned.com.au/Interior/Swi...h/prod_135.html


    HDi%20-%20Rocket%20Switch.JPG


    Toggle Switch and Cover : 3$

    https://www.sparkfun.com/products/11310


    11310-01b.jpg


    http://www.aliexpress.com/item/10-Toggle-S.../632669390.html


    _____________________


    bluetooth


    by mrbean_phillip : http://www.racingfr.com/forum/index.php?s=...t&p=1563033


    by Akis : http://www.racingfr.com/forum/index.php?s=...t&p=1541819


    à partir de 4€80


    http://fr.aliexpress.com/premium/NRF51822....=&minPrice=

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

    Message modifié 2 fois, dernière modification par RacingMat (17 juin 2020 à 15:24).

  • Schéma

    808191stm32f4MCP23S17v4.png

    816651Anschluss.jpg


    pour les boutons 1-16, ce sera le SPI2 qui est utilisé


    et le SPI1 pour les 17-32


    si on ne met qu'un MCP, il faudra le câbler sur les pins SPI2.


    avrspi_00.jpg


    protoboard ou PCB ?


    il existe des plaques pour s'adapter à des puces aux pattes du format SOP28 (au lieu des pins DIP28)


    364433sku2174322.jpg


    2€20 les 2 http://www.dx.com/fr/p/v115-dual-side-ssop...32#.VFc9KxY4J8E


    ou 2€28 les 5 sur http://www.aliexpress.com/item/SOP28-SSOP2...1253250266.html


    747821dporto1.jpg

    1342041MCP.png



    *** ici un excellent tuto détaillé pour réaliser soi-même les connecteurs dupont

    http://www.basicxandrobotics.com/tutorials/end%20pins/

    Câblage des boutons


    2 possibilités :


    351668SPIalternative.png

    Mise en route et Tests


    Pour que cela fonctionne il faut impérativement utiliser au préalable le soft de MMos pour charger dans la carte, l'activation des ports SPI.

    Sinon ça ne fonctionne pas !

    A noter que le bouton "Tasten" est un faux bouton, ne vous attendez pas à pouvoir cliquer dessus...
    Attention, le "Contrôleur de jeu" windows ne fonctionne que lorsque la fenêtre est au premier plan !

    on pourrait croire que les boutons ne fonctionnent pas si la fenêtre n'est pas sélectionnée.

    Liens tutos


    le post de djboss001 [tuto] boîte à boutons par DJBoss


    un chouette tuto : http://www.isrtv.com/forums/topic/12039-cu...ox-for-iracing/



    *********************


    à suivre...


    Citation (loopingz @ 7-03-2016, 17:38) *
    Pour info les numéros des boutons en fonction de la pin :


    1 pe0


    2 pe1


    3 pe2


    4 pe3


    5 pe4


    6 pe5


    7 pc6


    8 pc7


    9 pc8


    10 pc9


    11 pc10


    12 pc11


    13 pc12


    14 pc13


    15 pc14


    16 pc15


    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

    Message modifié 1 fois, dernière modification par RacingMat (17 juin 2020 à 15:32).

  • Salut Mat',

    Je voulais ajouter une précision car j'ai perdu quelques cheveux sur ce coup. Ça se passe dans mise en route et test. Les boutons ne fonctionnent qu'après init du volant. J'avais déplugué le volant et posé le boitier de gestion sur le bureau pour bosser peinard sur l'ajout de boutons (Modif shifter fanatec). Impossible de faire fonctionner. Et sur un malentendu, après avoir reconnecté le volant qui est allé chercher son zéro, les boutons se sont miraculeusement mis à fonctionner.

  • merci pour le tuyau ! (il te reste des cheveux ?)

    je vois que les images ont sautées, je vais tâcher de les retrouver et de les recharger

    tu nous partages des photos de ton boîtier ? :)

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • Je me suis mal exprimé. C'est le boitier qui contient la disco, la vsd et tout le tintoin que j'avais posé sur le bureau pour bosser dessus. C'est un vieux barebone que mon voisin allait jeter. Y a pas mal de place perdu mais au moins tout est à l'abris. J'ai rajouté un RJ45 passe cloison sur la tour pour sortir quelques connectiques de boutons. Je pars donc en RJ45 vers le shifter Fanatec modifié (J'en parle sur le post de Pascal71). Mon intégration est moche comme tout, je passe mon tour pour les photos, j'ai trop honte :B

    D'ailleurs je galère un peu pour la suite du projet. Peut être que quelqu'un aurait la solution. 8 fils sur un RJ45 font 7 boutons + la masse. Ça ne fait pas le compte pour le shifter Fanatec (7 vitesses + Marche arrière + séquentiel). J'ai un arduino nano que j'aimerais intégré dans le shifter et me faire passer pour un MCP23S17 pour pouvoir dialoguer avec le firmware MMOS. Un arduino nano me permettrait, en prenant en compte l'état du capteur de mode H/séquentiel, d'avoir tous les boutons fonctionnels via 6 fils (alim + liaison SPI). Si je ne dis pas de bêtise, la librairie MCP23S17 ne fonctionne qu'en Master. J'essaie d'utiliser la librairie SPI mais pour l'instant, soit tous les boutons sont éteints, soit ils sont tous allumés. :help:

    Message modifié 1 fois, dernière modification par MikeTheBike71 (17 juin 2020 à 22:02).

  • Il faut que tu configure le port SPI en Slave sur l'Arduino, que tu récupère l'adresse demandée par MMos, et que tu renvoie la donnée correspondant à cette adresse.

    Je n'ai pas fait d'analyse des signaux envoyés par MMos dans ce cas là (pour déterminer quels registres du MCP23S17 sont demandés), il faut implémenter le SPI en slave et regarder ce qui est envoyé (à priori il doit lire 2 registres pour les 16 bits lu sur le MCP).

    Tu as des infos pour configurer un Arduino en slave ici :

    https://forum.arduino.cc/index.php?topic=52111.0

    Je l'ai implémenté dans NodeBlue pour émuler les roues Fanatec et Thrusmater sur les bases des ces marques, mais je n'ai pas encore sorti la partie slave dans un module. C'est prévu mais c'est un peu de taf d’interfaçage.

  • Mais d'ailleurs, pourquoi ne pas utiliser directement un MCP23S17 ? ça coûte 1.18 € !

    Je peux même t'en filer un que Tortue G m'avais donné mais que je ne vais jamais utiliser pour sur (bon il n'avais pas réussi à le faire marcher d'après mes souvenirs)

  • Je t'ai filé un truc moi :) ? C'était les petits chips pour rajouter des boutons sur la Disco/MMOS j'imagine... Effectivement je n'avais pas réussi à le faire fonctionner correctement, j'avais pas des boutons stables, mais c'est p'tête juste moi qui ait mal fait un truc :B , je l'avais refait deux ou trois fois quand-même mais sans succès.

  • j'ai remis les images dans le premier post avec les MCP23S17 :)

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • Le nano me permet en mettant une condition sur le capteur du mode shifter (H/Séquentiel) d'affecter un bouton pour la 3eme et un autre pour downshift. Idem pour la 4eme et upshift. Le MCP23S17 ne me permettrait pas ça.

    Merci en tout cas pour la proposition.