Recalbox Forum

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

    NES power switch on GPIO

    Manettes/GPIO/Encodeurs
    nes switch gpio
    6
    34
    13713
    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.
    • aldo_ferrari
      aldo_ferrari last edited by

      Salut, est ce que tu peux envoie des images du GPIO avec le bon couleur? STP j'arrive a faire marche le reset mais le power ca fair rien 😞 Merci

      Head of digital & front-end at TATA Consultancy Services Nyon Switzerland.Passioned #Webstrategy #frontend #UI #html5 #JS #conference #talk #Devops #interfaces

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

        Hi @aldo_ferrari, Tu peux trouver une image des GPIO ici: Wiki Pour les branchements: -Power+ –> GPIO3 (pin 5) -Reset+ –> GPIO2 (pin 3) -LED+ –> GPIO14 (pin 😎 -Power- , Reset- , LED- –> GND (pin 6) Pour info, il y a depuis une version améliorée du script. Elle sera intégré à la prochaine version de Recalbox.

        Pi powered NES | Gameboy HD | RecalStation | RecalDrive
        Upvote messages if it has been useful ;)

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

          did the code change with the new beta 4 released?

          Head of digital & front-end at TATA Consultancy Services Nyon Switzerland.Passioned #Webstrategy #frontend #UI #html5 #JS #conference #talk #Devops #interfaces

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

            Hi @aldo_ferrari, Yes the code changed since it has been included in the latest release. Unfotunately I can't edit the first post of this topic.

            Pi powered NES | Gameboy HD | RecalStation | RecalDrive
            Upvote messages if it has been useful ;)

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

              could you re-post it? 🙂

              Head of digital & front-end at TATA Consultancy Services Nyon Switzerland.Passioned #Webstrategy #frontend #UI #html5 #JS #conference #talk #Devops #interfaces

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

                you can find it here: github

                Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                Upvote messages if it has been useful ;)

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

                  Bonjour, Peut on transposer ce montage sur le GPIO du Raspberry Pi 2 ? Merci

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

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

                    Bonjour @tong-man, Oui le rpi2 a les mêmes GPIO que le rpi3. Et comme le script utilise les pin 3 5 6 et 8, ça devrait même fonctionner sur un rpi1.

                    Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                    Upvote messages if it has been useful ;)

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

                      Salut @supernature2k, Quand tu dis pin 3 5 6 et 8, tu parles des GPIO ou des pinoches. Je viens de lister les pin du gpio du rpi2, les pin 3 5 6 et 8 correspondent respectivement au SDA.1, SCL.1, 0V et ALT0. Pour l'obtenir en ssh, j'ai tapé la commande : gpio readall l'interface GPIO du rpi2 et 3 sont sans doutes les mêmes mais pas celle du rpi1 (moins de pin) maintenant, si le script nomme bien les gpio, la correspondance avec les pins se fera automatiquement pour le gpio du rpi2 et 3 et sera la suivante: -Power+ –> GPIO3 (pin 15) -Reset+ –> GPIO2 (pin 13) -LED+ –> GPIO14 n'existe pas (pin ???) à moins que ce soit le GPIO4 = pin 16. -Power- , Reset- , LED- –> GND (pin 9, 25, 39, 14, 20, 30 ou 34) En tout cas merci pour ta réponse.   autre info qui peut avoir son importance, les GPIO en mode sortie sur le rpi2 fournissent du 3.3V et en mode entrée attendent du 3.3V et non du 5V. Dans le script, le power+ attend du 3.3V ou du 0V ?

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

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

                        Bonjour @tong-man, Quand je dis pin 3 5 6 8 je parles... des pins 🙂 Donc: Power+ pin 5 GPIO 3 Reset+ pin 3 GPIO 2 LED+ pin 8 GPIO 14 tous les -, n'importe quel GND (pin 6 le plus facile) Dans le script, j'utilise: GPIO.setmode(GPIO.BCM) # set up BCM GPIO numbering Ce qui veut dire que j'utilise la numérotation GPIO et non PIN. Cela implique que ça ne doit pas fonctionner avec Raspberry Pi B rev 1 P1 comme montré ici: GPIO On y voit en effet que sur ce modèle, les pin 3 et 5 correspondent aux GPIO 0 et 1. Pour tous les autres pi, aucun problème. Plus d'infos ici: wiki Enfin pour l'histoire du voltage, ça n'a aucune influence sur le bouton. Le script détecte une montée de voltage sur le GPIO lorsque le circuit est fermé, c'est tout.

                        Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                        Upvote messages if it has been useful ;)

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

                          Salut @Supernature2k<b></b><i></i><u></u> Ok si tu as utilisé le nommage des GPIO, cela devrait effectivement fonctionner sur le gpio du rpi2 A ceci prêt qu'il faut que j'utilise les pins : Power+ –> GPIO3 (pin 15) -Reset+ –> GPIO2 (pin 13) -LED+ –> GPIO14 n’existe pas (pin ???) -Power- , Reset- , LED- –> GND (pin 9, 25, 39, 14, 20, 30 ou 34 Voici le tableau de correspondance du gpio 40 broches du rpi2 : (désolé pour le copier coller un peu foireux) Il faut regarder les physical (pin) et les gpio. pi@raspberrypi:~ $ gpio readall +-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+ | BCM| wPi | Name   |Mode| V | Physical  | V | Mode | Name    | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ |         |         |    3.3v    |          |      |  1   | | 2    |      |          | 5v           |         |         | |   2    |   8   |   SDA.1 |   IN   | 1   |  3   | | 4   |       |          | 5V          |         |         | |   3    |   9   |   SCL.1  |   IN   | 1   |  5   | | 6    |      |          | 0v           |         |        | |   4    |   7   | GPIO. 7 |   IN  | 1   |  7    | | 8   | 1   | ALT0 | TxD     | 15     | 14   | |         |        |      0v      |          |      |  9   | | 10  | 1   | ALT0 | RxD     | 16  | 15  | |  17   |   0  | GPIO. 0 |  OUT | 1  | 11   || 12  | 0 | IN        | GPIO. 1 | 1   | 18  | |  27  |   2  | GPIO. 2 |  OUT  | 1  | 13  || 14   |    |              | 0v           |      |     | |  22  |   3  | GPIO. 3 |  OUT | 1   | 15  || 16   | 0 | IN        | GPIO. 4 | 4   | 23  | |         |       |    3.3v      |           |      | 17 || 18   | 1  | OUT    | GPIO. 5 | 5   | 24  | |  10  |  12  |    MOSI   |   IN   | 0  | 19 || 20   |    |              | 0v            |     |     | |   9   |  13 |    MISO      |   IN | 0 | 21 || 22     | 0 | IN       | GPIO. 6 | 6   | 25  | |  11  |  14  |    SCLK      |   IN | 0 | 23 || 24     | 1 | IN       | CE0        | 10  | 8   | |        |       |      0v           |        |    |  25 || 26     | 1  | IN       | CE1         | 11   | 7   | |   0  |  30 |   SDA.0      |   IN | 1 | 27 || 28      | 1  | IN      |  SCL.0    |  31  | 1   | |   5 |  21   | GPIO.21    |   IN | 1 | 29 || 30 |   |      | 0v      |     |     | |   6 |  22 | GPIO.22 |   IN    | 1   | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  | |  13 |  23 | GPIO.23 |   IN | 0  | 33 || 34 |   |        | 0v               |        |       | |  19 |  24 | GPIO.24 |   IN | 0  |  35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  | |  26 |  25 | GPIO.25 |   IN | 0  | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  | |        |       |      0v           |      |    | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  | Comme tu peux le constater le gpio 14 n'existe pas sur le rpi2, bref pour le moment je n'ai pas besoin de bouton reset et au pire je modifierai le script en conséquence pour en utiliser un autre. N'hesites pas à me corriger si je dis une bétise, mais il me semble que celui que tu présentes est bien celui du Raspberry Pi B rev 1 P1 et il n'a pas 40 broches. de plus, j'utilise aussi un autre rpi2 sur un tout autre domaine (alarme domicile) et j'utilise aussi l'interface de son gpio, notamment, les gpio 0, 2, 3,4, 5 et 6, le 5V et les 2 3.3V, qui aliments une carte 4 relais .... <b></b><i></i><u></u> Ceci dit, je pense que je vais tester pour avoir la réponse définitive et te tient au courant, Bonne soirée.

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

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

                            @tong-man, Je ne sais pas d'où sort ce tableau mais regarde le lien que j'ai fourni précédemment, à 26 ou 40 broches, on a bien le GPIO14 qui est sur le Pin 8. On a aussi toujours le pin 6 qui est un GND. Enfin, en 26 broches rev2 et en 40 broches, on a bien GPIO2 et GPIO3 en pin 5 et 6 donc aucun problème. Regarde bien ton tableau illisible:

                            | BCM    | wPi   | Name    |Mode    | V   | Physical     | V | Mode | Name    | wPi | BCM |
                            
                            |   2    |   8   |   SDA.1 |   IN   | 1   |  3   | | 4   |   |      | 5V      |     |     |
                            |   3    |   9   |   SCL.1 |   IN   | 1   |  5   | | 6   |   |      | 0v      |     |     |
                            |   4    |   7   | GPIO. 7 |   IN   | 1   |  7   | | 8   | 1 | ALT0 | TxD     | 15  | 14  |
                            

                            Il dit la même chose que moi... Dernière ligne, physical 8, BCM 14...

                            Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                            Upvote messages if it has been useful ;)

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

                              Salut, Mon tableau est obtenu en tapant la commande ssh gpio readall directement sur mon raspberry pi2 : Il correspond au tableau dessiné sur ce site: http://pi4j.com/pins/model-2b-rev1.html je possède le "Raspberry Pi 2 Model B" D'ou mes interrogations. donc pour ce pi2, power+ sur gpio 2 = pin 13 reset+ sur gpio 3 = pin 15 led+ sur gpio 14 = pin 23 gnd = au choix pin 9 soir 2 pin au dessus de power+ pin 13 Ainsi cela devrait fonctionner 🙂 Etant parti en vacances , je confirmerai ça dés mon retour début Aout. Merci encore pour tes différentes explications et réponses.

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

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

                                Non @tong-man, Encore une fois, relis ton 1er tableau et tu verras que la numérotation est la même: | BCM | wPi | Name |Mode | V | Physical | V | Mode | Name | wPi | BCM | | 2 | 8 | SDA.1 | IN | 1 | 3 | | 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 | | 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 | | 8 | 1 | ALT0 | TxD | 15 | 14 | Regarde en bas du tableau que tu as mis en lien: Attention! The GPIO pin numbering used in this diagram is intended for use with WiringPi / Pi4J. This pin numbering is not the rw Broadcom GPIO pin numbers.

                                Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                                Upvote messages if it has been useful ;)

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

                                  Bonjour @supernature2k !

                                  Je suis rentré de vacance et me donc atelé à intégrer un pi2 dans une NES.

                                  Pour commencer, oui j'avais tord et tu avais raison. j'avais pas percuté que tu utilisais le nommage BCM et non GPIO, ce qui ne donne pas du tout les mêmes numéros de pin.

                                  Alors, le PCB de la NES comprenant le POWER, le RESET et la LED fonctionne très bien à un détail prés : Le boutons POWER fonctionne à l'envers : lorsqu'il est appuyé, recalbox s'éteint
                                  et lorsqu'il est relaché, recalbox s'allume... Je me demande si ce n'est pas un bouton qui ouvre le circuit lorsqu'il est appuyé, je vérifierai cela lorsque j'aurai récupérer mon multimètre.

                                  power+ (pin 5)
                                  reset+ (pin 3)
                                  Led+ (pin 😎
                                  GND pour tous (pin 6)
                                  un sucre 4 ports entre les fils du PCB de la NES et le GPIO du rpi2 et le tour est joué.

                                  A moins que j'ai fait une erreur quelques part ?

                                  Autrement le tuto est très clair et dans recalbox.conf, j'ai ajouté la ligne :
                                  system.power.switch=PIN356ONOFFRESET
                                  comme indiqué ici :
                                  https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)
                                  la commande system.power.switch=NES est inopérente.

                                  @+ et merci
                                  Seb

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

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

                                    Effectivement, le script est désormais intégré a recalbox sous le nom pin356onoffreset.

                                    Pour le bouton power, essaie de le transformer en momentary.

                                    Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                                    Upvote messages if it has been useful ;)

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

                                      Merci pour la soluce 😉

                                      Je confirme que le bouton Power de la NES ferme le circuit lorsqu'il est retiré et l'ouvre lorsqu'il est appuyé, d'où l'inversion de la fonction ON OFF sur la recalbox.

                                      Je le transformerai en momentary , pour le moment c'est pas trop génant comme on dit ça fait le job 😉

                                      Seb

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

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

                                        bon à savoir.

                                        Donc soit tu transforme en momentary, c'est facile et c'est beaucoup plus classe, sinon tu peux modifier le script:

                                        \recalbox\scripts\rpi-pin356-power.py

                                        et ligne 63 tu change:

                                        GPIO.add_event_detect(POWERPLUS, GPIO.RISING, callback=button_pressed)

                                        en

                                        GPIO.add_event_detect(POWERPLUS, GPIO.FALLING, callback=button_pressed)

                                        Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                                        Upvote messages if it has been useful ;)

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

                                          Ok je vais essayer je te tiens au courant 😉

                                          Merci encore.

                                          Autre petit bug que je rencontre,, c'est qu'en changeant de manette à chaud, et bien recalbox s'éteint.

                                          Seb

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

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

                                            C'est un bug que d'autres personnes ont expérimenté.

                                            Je pensais que ça pouvais provoquer des micro-contacts des boutons lorsqu'on bouge les ports mais il semble que ça vienne plutôt d'un problème d'alim.

                                            Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                                            Upvote messages if it has been useful ;)

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

                                            Want to support us ?

                                            88
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com