Je me considérais comme étant hors de ce genre de choses de niveau débutant il y a longtemps, mais je suppose que je ne suis pas aussi intelligent que je le pensais parce que je semble avoir un niveau exceptionnel de problèmes avec ça!
J'ai donc finalement terminé les examens et je peux jouer avec mon nouveau jouet, donc la première chose que j'ai faite a été de configurer un écran LCD avec UART. J'ai eu ce travail sans problème, donc j'ai vraiment du mal à comprendre pourquoi j'ai du mal avec ce bouton!
J'ai donc mis en place un bouton similaire à celui d'un arduino; avec une résistance 1k reliée à la terre. J'ai utilisé mon multimètre pour m'assurer que le bouton fonctionnait et éteindre la bonne quantité d'énergie, ce qui est le cas. Je SSH dans mon shell, branchez le bouton dans la broche GPIO 7 et je suis allé en python. Voici ce que j'ai essayé:
GPIO.pinout(GPIO.BOARD)
GPIO.setup(7,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
while 1==1:
inputval = GPIO.input(7)
print inputval
Cela me donne une boucle sans fin False
quelle que soit la façon dont j'appuie sur le bouton. Je l'ai également essayé avec GPIO.PUD_UP
et j'ai obtenu une boucle sans fin à la True
place. J'ai aussi essayé avec GPIO.PUD_OFF
et j'en ai eu plus False
.
Est-ce que j'ai râté quelque chose?
GPIO.PUD_UP
. Quelle tension voyez-vous avecGPIO.PUD_UP
allumé et le bouton enfoncé?Réponses:
Mon GPIO n'a pas
pinout
, je devais le changer poursetmode
Puisque vous utilisez la
GPIO.BOARD
broche 7, celle-ci est étiquetéeGPIO 4(GPCLK0)
. Si vous vouliez utiliserGPIO 7(CE1)
, vous devriez utiliser à laGPIO.setmode(GPIO.BCM)
placeJ'ai testé le code en touchant une résistance 1k de
3V3 Power
àGPIO 4(GPCLK0)
la source
GPIO.BOARD
c'était pour le brochage de la carte elle-même comme indiqué sur les photos, pas pour le schéma de numérotation des broches physiques. Quand je rentrerai du travail, je l'essayerai et je suis sûr que cela fonctionnera.Je n'utilise jamais "pull_up_down = GPIO.PUD_DOWN" dans la configuration de la broche. Essaye ça:
Comme l'a dit gnibbler, assurez-vous que PinNum est pour le BCM GPIO.
la source