Publié le 23 décembre 2016 - par

RecalBox : Ajouter un bouton poussoir pour allumer/éteindre proprement

Vous connaissez très certainement Recalbox, l’OS disponible en open source dédié au retrograming et qui transforme notre framboise préférée en console de jeux.
Pour les plus téméraires qui souhaitent aller plus loin et profiter des ressources du Raspberry Pi, il est possible d’ajouter un bouton poussoir afin d’allumer et d’éteindre correctement votre console ! Mais comment y parvenir ?

Un bouton poussoir pour allumer/éteindre Recalbox

Le matériel nécessaire

  • un Raspberry Pi avec l’OS Recalbox installé sur votre micro SD
  • une carte de prototypage
  • 2 jumpers (fils équipés de connecteurs mâle/femelle)
  • un bouton poussoir

Quel bouton utiliser ?

Vous pouvez ajouter un bouton d’alimentation pour démarrer/arrêter votre RecalBox, depuis la version 4.0 beta 3. Le bouton peut être soit un bouton poussoir, soit un bouton Arrêt/Marche ou interrupteur à verrouillage.
Remarque concernant les boutons poussoirs : Certains GPIO possèdent des résistances pull-up intégrées (résistances reliées au +3.3V), il est donc préférable d’utiliser des interrupteurs normalement ouverts (abrégés NO) avec ces broches.

Pour brancher le commutateur au GPIO du Raspberry Pi, branchez une broche sur le GPIO3 (la broche GPIO N°5 en haut à gauche) et une autre sur la masse située juste à sa droite à droite (la broche GPIO N°6) :

Activation de l’interrupteur

Pour que votre interrupteur soit pris en compte par RecalBox, vous devez activer cette fonction dans recalbox.conf, en ajoutant/décommentant une des lignes :

  • System.power.switch = PIN56ONOFF pour un interrupteur A/M
  • System.power.switch = PIN56PUSH pour un bouton poussoir

Votre RecalBox peut maintenant être activé/désactivé avec un simple bouton !

Encore mieux

Depuis RecalBox 4.0 beta 4, il y a une autre option qui vous permet d’ajouter également un interrupteur et un voyant d’alimentation :

Dans recalbox.conf, ajoutez/décommentez la ligne suivante :

System.power.switch = PIN356ONOFFRESET

Le bouton d’alimentation fonctionne uniquement avec un interrupteur A/M à verrouillage. Dans cette configuration il est câblé comme ci-dessus entre le GPIO3 et la masse.

Le bouton de RESET ne fonctionne qu’avec un bouton poussoir et doit être connecté au GPIO2 (la broche N°3 en haut à gauche) et à la même masse que le commutateur A/M (broche N°6).

La LED d’alimentation est connectée avec l’anode (+, broche longue) au GPIO14 (broche N°8) et la cathode (-, broche courte) à la masse (broche N°6).

Le GPIO14 fournit du 3.3V donc si vous avez une LED qui nécessite moins de 3.3V (la plupart des LED rouge, orange, jaune et verte) vous devrez ajouter une résistance entre l’anode de la LED (+) et le GPIO14, pour éviter de détruire la LED. Si vous avez une LED qui nécessite plus de 3.3V, vous n’avez pas besoin d’une résistance, mais votre LED émettra moins de lumière que prévu.

Pour résumer

  • Un interrupteur A/M sur le GPIO 3 (PIN 5)
  • Un interrupteur RESET sur le GPIO 2 (PIN 3)
  • L’anode de la LED (+, broche longue) sur une broche de la résistance (ou directement sur le GPIO 14 (PIN 8) si vous n’avez pas besoin d’une résistance)
  • L’autre broche de la résistance sur GPIO 14 (PIN 8) (si vous avez besoin d’une résistance)
  • L’autre borne du commutateur A/M, l’autre borne du poussoir RESET et la cathode de la LED (-, broche courte) : relier ces 3 bornes à la masse (PIN 6)

Vidéo

Pour la connexion du bouton poussoir par exemple, regardez le tutoriel vidéo que j’ai réalisé sur la chaîne YouTube Fredi Digital Gaming où j’explique l’intérêt du bouton poussoir pour la distribution Recalbox. Vous verrez comment effectuer l’installation, les tests et ainsi que quelques informations pour éviter les bugs.

Notez quelques ajouts ou modifs pour cette vidéo :

  • Une chose à ajouter : vous devez ajouter la ligne « system.power.switch=PIN56PUSH » dans le fichier « recalbox.conf« 
  • Une chose à corriger : ce n’est pas le fichier « recalbox.conf » mais « /boot/config.txt » dans lequel il faut ajouter disablesafemode.

 

Conclusion

L’utilisation de RecalBox permet de retrouver les jeux des anciennes consoles. L’absence d’interrupteur arrêt/marche sur le Raspberry Pi peut en partie être compensée par l’ajout de ce interrupteurs.

N’hésitez pas à faire vos remarques et suggestions dans les commentaires ci-dessous.

Sources

Share Button

26 réflexions au sujet de « RecalBox : Ajouter un bouton poussoir pour allumer/éteindre proprement »

    1. Fredi DigitalGamig Auteur de l’article

      Hello Dodutils,

      Oui tu as raison, le RasPi restera allumé (led rouge en mode veille). Par contre, l’intérêt réside surtout au niveau du rallumage : plus besoin de débrancher et de rebrancher le RasPi de l’alim pour relancer Recalbox.

      Répondre
      1. msg

        Après une commande Shutdown , quoi de mieux qu’une bonne RAZ via les plots RUN pour réveiller le RPi !?
        Je ne vois rien de Hard sur ce système , au contraire c’est plutôt simple et économique en ressource GPIO .

        Répondre
  1. Jerrybutcher

    Une petite question de débutant: peut-on utilisé une autre masse (GROUND) que celle en PIN 6 ?
    Car j’utilise déjà ce PIN pour un ventilateur qui utilise en anode le PIN 2 (5V) ou le PIN 1 (3V).

    D’ailleurs d’une manière générale, est-ce que les PIN Ground sont « liés » à d’autre PIN ou est-ce qu’ils sont indépendant et que tous les PIN Ground peuvent se substituer les uns les autres?

    Merci d’avance!

    Répondre
    1. François MOCQ

      Bonjour
      Pas de souci toutes les masses (GND) sont reliées ensemble et on peut utiliser celle qu’on veut comme masse
      c’est la masse de la carte et elles ne sont reliées à rien d’autre (sinon ça s’appelle un court-circuit 😀 )
      (enfin… les parties métalliques des prises sont aussi à la masse mais c’est normal c’est un blindage)
      cordialement
      François

      Répondre
      1. Jerrybutcher

        Merci pour ces précieuses informations!

        Comme à sur chaque tuto, on pousse à utiliser la masse en PIN 6, je me disais bien aussi que les autres masses pouvait servir à autre chose ;P

        Joyeux Noël à tout le notre Pi’Monde!

        Répondre
        1. Geo

          en tant qu’électronicien de formation, je tien à rappeler que même si, pour des raison de simplification de conception ou de coût, la plupart des « masse » et « blindage » sont reliés (rassemblé) sur un seul et même conducteur… pour des montages de qualité, ce rassemblement peux poser problème car il rassemble aussi les parasites qui s’additionnent alors les uns aux autres. C’est particulièrement important dès lors qu’il est question de signaux analogiques (chaîne hi-fi…), ou de matériels fragiles.

          …de mémoire, sur toutes les version du Pi, la « masse » est directement lié au « 0V » (pôle négatif) ET aux « blindage » des connectiques >> la masse du Pi se retrouve donc relié à la masse des périphériques à travers le blindage du RJ45, USB, RCA, jack 3.5, etc. >> boucle de masse, multi-terre, etc.
          Attention donc aux « made in china » que vous lui accolez ^^’

          pour une explication un peu plus « électrique » je t’invite à voir la vidéo 45 et 46 de jipihorn (un prof d’électro) : https://youtu.be/uAEFBRrZ_9c?t=1065

          Répondre
          1. Geo

            PS: pour l’usage d’un bouton ou/et d’une diode en plus d’un ventilo déjà présent, cela ne posera aucun problème, c’est du chipotage… en revanche si dans le futur tes projets t’amènent dans l’un des cas évoqué plus haut, alors tu auras gagné de longues heures de diagnostiques et une parti de tes cheveux =P

          2. François MOCQ

            Bonjour Geo
            c est tout à fait vrai, merci de ce complément d’information.
            Dans de nombreux montages on utilise une masse unique qui est souvent le borne négative (si elle est à la masse) de l’alimentation. Ça évite bien des soucis de boucles de masse et autres joyeuses ronflettes 🙂
            Dans le cas des cartes comme le Pi, il y a une couche de masse dans le circuit imprimé, en général avec une faible impédance. Pour connecter une manette et un ventilo ça ne devrait pas poser de problème
            Bonne année
            Cordialement
            François

  2. Dédé

    Hello,

    Pour ce qui est d’avoir une alim pour le raspberry pi, avec le RaspTouch (http://www.framboise314.fr/rasptouch-un-systeme-musical-a-base-de-raspberry-pi/) il y a un module d’alimentation (http://www.audiophonics.fr/fr/accessoires-pour-raspberry-pi-et-autres-sbc/audiophonics-pi-module-de-controlealimentation-pour-raspberry-pi-p-11504.html) qui fonctionne assez bien, comme une alim ATX. Les scripts à installer : https://github.com/audiophonics/Raspberry-pwr-management

    Avantage : ça coupe réellement l’alimentation
    Inconvénient : il faut changer d’alimentation.

    Question : est-il possible de configurer la carte son pour utiliser celles des RaspTouch ? (dtoverlay=hifiberry-dac dans le config.txt…)

    Répondre
  3. Dim

    Hello, petite question…
    L’alimentation de mon raspberry est directement branché sur ma TV. Du coup quand ma TV est allumée la raspberry s’allume et quand je coupe la TV le raspberry se coupe (alim directement coupée). C’est mauvais ou.. ??

    Merci 😉

    Répondre
    1. François MOCQ

      bonjour
      bin à vrai dire sans être mauvais pour le Raspberry Pi c’est pas bon pour la carte SD 🙂
      on est sur du Linux et il y a des échanges entre la mémoire RAM et les fichiers sur la SD
      si vous coupez brutalement le courant certains fichiers peuvent ne pas avoir été fermés correctement
      des fois ça se traduit par… un raspberry pi qui ne démarre plus
      Si vous arrêtez d’abord le système proprement avant d’éteindre pas de souci
      si vous faites ça a la sauvage… c’est le risque.
      cordialement
      François

      Répondre
    1. François MOCQ

      Bonjour
      eh non ! c’est un bouton de reset
      il fait redémarrer « hardement » le système si vous fermez le contact lorsque Linux est en fonctionnement
      si vous mettez le système en halt par la ligne de commande ce contact le fait redémarrer proprement
      mais jamais ça ne coupe l’alim
      cordialement
      François

      Répondre
  4. vail

    Merci pour votre réponse et rapide en plus.

    Mon projet complet serait ma Raspberry Pi 3 avec des dissipateurs de chaleur, un module RTC horloge de temps réelle (type RTC Pi PLUS) sur le port GPIO, un bouton On/Off, un HDD de chez WD PiDrive 1To, un ventilateur, le tous dans le boitier WD Square.
    Que pensez-vous de ce projet?

    Est-il possible de mettre des dissipateur de chaleur et un horloge (assez de place entre les deux)?
    Et quelle horloge mes conseillez-vous?

    Et encore merci

    Répondre
  5. Ben

    Salut,

    J’ai suivi le tuto pour mon projet de recalbox dans une playstation 1. J’ai installer le bouton power et reset, ça fonctionne par contre si je branche ou débranche un usb sur le raspberry, il déclenche un reset de la recalbox. J’ai testé juste le bouton reset et juste le bouton power et les 2 ensembles mais le souci persiste… Vous avez une idée ?

    Répondre
  6. p0ulak

    Salut puis faire avec un poussoir un on/off et un reset (poussoir aussi)
    du genre:
    System.power.switch = PIN36RESET
    System.power.switch = PIN56PUSH

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.