Bonjour,
cette question revient souvent, en fait dans ton schéma le problème c'est que quand tu n'appuies pas sur le bouton (le circuit est ouvert) le GPIO n'est connecté a rien, il ne peut pas lire 0. Pour qu'il lise 0 tu dois le connecter a la masse, de préférence a travers une résistance. La tu fais du pull down! Donc 0 quand le circuit est ouvert, et 1 quand il est fermé (appui sur le bouton).
Si tu fais l'inverse le GPIO: relié en permanence au + a travers une résistance, et le bouton qui ferme le circuit sur le ground, alors la tu fais du pull down.
Il s'agit d'un principe général de montage électronique, tapes GPIO pull down dqns Google pour t'en convaincre.
Si tu fais pas ça, et ben l'état du GPIO c'est au petit bonheur la chance, effectivement avec un fil qui fait antenne c'est souvent à 1.
Heureusement pour nous les fabricant du SOIC (la puce) on tout prévu et il y a pour chaque GPIO une resistance pull down et une pull up que l'on met ou met pas en service. Donc la bonne nouvelle pour toi c'est que tu n'as rien a rajouter mais juste a taper la bonne commande qui en bon anglais "enable or disable pull-up resistor or pull-down"
La commande ça dépend de ta librairie logicielle. Comme ton code est en C dans ton post précédent (si j'ai paslu trop vite) tu devrais trouver ta vie ici
http://elinux.org/RPi_Low-level_peripherals
Sinon la distrib Raspbian embarque de base le package gpio qui a ces commandes
http://elinux.org/RPi_Low-level_peripherals Python (et ligne de commande? j'sais plus)
Ou celui ci Python et ligne de commande
http://pythonhosted.org/RPIO/rpio_cmd.html
Voir aussi
http://en.wikipedia.org/wiki/General_Pu ... put/Output
Bon la je pense que j'ai répondu a ta question, non?
Amicalement
--
Jmp0