Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Utilisation d'un relais 5v avec GPIO pour asservir une multiprise

    Recalbox Général
    dun relais gpio asservir multiprise
    6
    23
    8027
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cricri2001
      cricri2001 last edited by

      Bonjour à tous,

      Avant de rentrer dans le vif du sujet un gros merci au développeur qui m’ont permis de réaliser un vieux rêve la création de ma borne d’arcade avec une grande facilité grâce à cette distribution.
      Je vous explique m’a requête,
      J’ai rajouté sur mon RPI3 un bouton (momentary switch) grâce au tuto https://github.com/recalbox/recalbox-os/wiki/Ajouter-un-bouton-on-off-a-votre-recalbox-(FR) cela fonctionne très bien

      Maintenant je souhaiterais utiliser un relais 5v pour asservir au démarrage du RPI3 une multiprise. En effet je souhaite que lorsque l’on éteint proprement le raspberry cela coupe le courant à la multiprise ou est branché l’écran l’alimentation de l’ampli et des lumières. Pour cela je comptais utiliser ceci
      0_1485943306150_71LKcog98LL.SL1488.jpg
      https://www.amazon.fr/gp/product/B017DFWLXS/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
      Seulement il faudrait pour cela qu’une borne du gpio envoie un signal au IN (j’ai essayé de passer outre en couplant le vcc et le in mais cela ne fonctionne pas)
      J’ai vu qu’il était possible de le faire via script python mais comment l’intégrer à recalbox, J’ai bien ca https://github.com/recalbox/recalbox-os/wiki/Ajouter-votre-propre-script-au-demarrage-(FR)
      Mais je n’ai pas vu pour le script à l’extinction
      J’aimerais utiliser le gpio3 car je n’utilise pas de HK pour le deuxième joueur

      Une idée de comment faire les amis ?

      Substring 1 Reply Last reply Reply Quote 0
      • Substring
        Substring @cricri2001 last edited by

        @cricri2001 yo !
        Tu as regardé comment on gère une led sur le tuto que tu as cité ? C'est pareil je pense 🙂

        Former dev - Please reply with @substring so that i am notified when you answer me
        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

        1 Reply Last reply Reply Quote 0
        • cricri2001
          cricri2001 last edited by

          Le soucis c'est que le gpio14 est déjà utilisé par mon bouton 3 joueur 1, c'est vrai que je n'ai pas dit que j’utilisais le gpio pour mon kit joystick bouton

          1 Reply Last reply Reply Quote 0
          • ian57
            ian57 Staff last edited by ian57

            Il te faut alors utiliser la dernière version de mk_arcade_joystick qui te permet de spécifier les GPIO que tu veux utiliser. cf https://github.com/recalbox/mk_arcade_joystick_rpi/tree/hotkeybtn

            voici le module mk_arcade_joystick_rpi.ko compilé pour la 4.0 :

            https://mega.nz/#!ukEhzAIA!TRazITCb2fZnA6Qoc98jG5CLyOiNJpaX19n-M7Z4yyY

            il te faut remplacer le module existant par celui donné en lien en le renommant (faire une sauvegarde du précédent)

            mount / -o remount,rw
            cd lib/modules/4.1.19-v7/extra/
            mv mk_arcade_joystick_rpi.ko mk_arcade_joystick_rpi.ko-old
            cp mk_arcade_joystick_rpi.ko-hotkeybtn-rb4.0 mk_arcade_joystick_rpi.ko
            

            ensuite il faut créer le fichier /etc/modprobe.d/mk_arcade_joystick.conf

            nano /etc/modprobe.d/mk_arcade_joystick.conf
            

            et y mettre la config de tes 2 joueurs (ici exemple du wiki):

            options mk_arcade_joystick_rpi map=4,5 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3
            

            "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

            Substring 1 Reply Last reply Reply Quote 0
            • cricri2001
              cricri2001 last edited by

              Cool merci @ian57 , ça avance donc avec ta manipulation je devrais arriver à " libérer" le hotkey du deuxième joueur pour une l'utiliser pour mon relais. Du coup j'en profite tu sais comment mettre un script d'arrêt?

              1 Reply Last reply Reply Quote 0
              • Substring
                Substring @ian57 last edited by

                @ian57 l'init du module est géré dans le recalbox.conf normalement, tu n'as pas testé ?

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                1 Reply Last reply Reply Quote 0
                • ian57
                  ian57 Staff last edited by

                  @Substring oops nop, je l'ai toujours fait à la mano... oki je regarde...mais sur la 4.0 ce n'est pas la dernière version de mk_arcade de toute manière non ? La gestion des GPIO custom marche sur 4.0... si c'est le cas j'ai loupé un truc...

                  "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                  Substring 1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring @ian57 last edited by

                    @ian57 tu as raison pour le gpio custom en 4.0, mais les arguments du module peuvent etre spécifiés dans le recalbox.conf. vérifie à l'occaz 😉

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    1 Reply Last reply Reply Quote 0
                    • ian57
                      ian57 Staff last edited by ian57

                      @substring oki d'acc... du coup pour passer les paramètres depuis le recalbox.conf tu fais :

                      # ------------ D3 - GPIO Controllers ------------ #
                      ## GPIO Controllers
                      ## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
                      controllers.gpio.enabled=1
                      ## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
                      controllers.gpio.args="map=4,5 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3"
                      

                      je vais tester... mais pas avec le rgb-pi connecté 😉

                      [edit] Le passage des paramètres gpio ne marche pas du tout sur la 4.1! juste le map fonctionne, donc soit je passe mal les paramètres, soit le script de gestion ne les gère pas.
                      ça marche avec map=1,2 mais pas avec map=4,5
                      [/edit]

                      donc ma manip ci dessus est valable

                      "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                      Substring 1 Reply Last reply Reply Quote 0
                      • Substring
                        Substring @ian57 last edited by

                        @ian57 y'en a qui ont essayé, ... Tu connais la suite 😉

                        Former dev - Please reply with @substring so that i am notified when you answer me
                        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                        ian57 1 Reply Last reply Reply Quote 0
                        • ian57
                          ian57 Staff @Substring last edited by

                          @Substring avec le rgb-pi tu veux dire ? Ah qui ?

                          "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                          1 Reply Last reply Reply Quote 0
                          • ian57
                            ian57 Staff last edited by

                            Finalement voici la marche à suivre qui devrait fonctionner :

                            Dans le recalbox.conf tu mets à 1 controllers.gpio.enabled et tu commentes la config des arguments

                            # ------------ D3 - GPIO Controllers ------------ #
                            ## GPIO Controllers
                            ## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
                            controllers.gpio.enabled=1
                            ## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
                            #controllers.gpio.args=map=1,2
                            

                            ensuite la manip de changement de module :

                            mount / -o remount,rw
                            cd lib/modules/4.1.19-v7/extra/
                            mv mk_arcade_joystick_rpi.ko mk_arcade_joystick_rpi.ko-old
                            cp mk_arcade_joystick_rpi.ko-hotkeybtn-rb4.0 mk_arcade_joystick_rpi.ko
                            

                            ensuite il faut créer le fichier `/etc/modprobe.d/mk_arcade_joystick.conf ̀

                            nano /etc/modprobe.d/mk_arcade_joystick.conf
                            

                            et y mettre la config de tes 2 joueurs (ici exemple du wiki):

                            options mk_arcade_joystick_rpi map=4,5 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,,19,26,21,20,16,12,7,8,3
                            

                            normalement lorsque tu lances evtest après un reboot tu devrais voir apparaitre tes GPIO Controller (ici en plus d'un clavier et une manette) :

                            # evtest 
                            No device specified, trying to scan all of /dev/input/event*
                            Available devices:
                            /dev/input/event0:	Dell Dell USB Keyboard
                            /dev/input/event1:	DragonRise Inc.   Generic   USB  Joystick  
                            /dev/input/event2:	GPIO Controller 1
                            /dev/input/event3:	GPIO Controller 2
                            Select the device event number [0-3]: 
                            

                            "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                            1 Reply Last reply Reply Quote 0
                            • cricri2001
                              cricri2001 last edited by

                              Je trouve cela hyper interessant, vas me falloir un peu de temps pour tester cela mais je vais m'en occuper.
                              Mais 2 petites questions me viennent :

                              • Je suis le seul a vouloir faire cela? tout le monde gère avec le bouton de la multiprise, c'est dommage de ne pas aller jusqu'au bout de la démarche d'ajout du bouton on off
                              • Si je suis pas le seul comment faire remonté une requête au dév pour une intégration propre, en sachant que je suis prêt à offrir des relais 5v au dév pour leur tests.
                                En tout cas merci encore @ian57
                              1 Reply Last reply Reply Quote 0
                              • ian57
                                ian57 Staff last edited by

                                @cricri2001 moi j'ai un inter à l'arrière du bartop/borne... j'éteins logiciellement recalbox... et un fois stoppée... je coupe le jus 😉

                                "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                                voljega 1 Reply Last reply Reply Quote 0
                                • voljega
                                  voljega Banned @ian57 last edited by

                                  @ian57 pareil... De toute façon le script du bouton on/off est qd même pas mal buggué avec des extinctions/allumages intempestifs que raccorder en plus la multiprise je préfère éviter.

                                  1 Reply Last reply Reply Quote 0
                                  • ian57
                                    ian57 Staff last edited by

                                    @cricri2001 de toute manière, il faudrait quand même mettre une tempo avant l'activation à l'extinction de ton relais non ? sinon tu risques de couper le jus avant l'arrêt effectif du Pi

                                    "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                                    cricri2001 1 Reply Last reply Reply Quote 0
                                    • cricri2001
                                      cricri2001 @ian57 last edited by

                                      @ian57 ca couperai la multiprise ou n'est pas branché le raspberry mais tout le reste (écran, lumière, ampli)

                                      1 Reply Last reply Reply Quote 0
                                      • tong-man
                                        tong-man last edited by tong-man

                                        Bonjour,

                                        petite info, les pins du gpio, en mode "out", fournissent du 3.3V et non pas du 5V...

                                        Tips RecalBox > https://lc.cx/xAcs

                                        cricri2001 1 Reply Last reply Reply Quote 0
                                        • cricri2001
                                          cricri2001 @tong-man last edited by

                                          @tong-man Merci pour l'info, plus ca avance plus j'ai l'impression que cela vas etre très compliqué pour finalement pas grand choses...

                                          1 Reply Last reply Reply Quote 0
                                          • ian57
                                            ian57 Staff last edited by

                                            @cricri2001 oui je pense aussi car il te faudra tout de même couper l'alimentation du Pi à la mano 😉

                                            "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            74
                                            Online

                                            98.7k
                                            Users

                                            28.1k
                                            Topics

                                            187.0k
                                            Posts

                                            Copyright © 2021 recalbox.com