Ich habe mich vor langer Zeit nicht mehr für Anfänger gehalten, aber ich glaube, ich bin nicht so schlau wie ich dachte, weil ich anscheinend ein außergewöhnliches Maß an Schwierigkeiten damit habe!
Also habe ich endlich die Prüfungen abgeschlossen und kann mit meinem neuen Spielzeug spielen. Als erstes habe ich ein LCD-Zeichen-Display über UART aufgebaut. Ich habe das kein Problem damit, also fällt es mir wirklich schwer herauszufinden, warum es mir mit diesem Knopf so schwer fällt!
Also habe ich eine Taste ähnlich wie bei einem Arduino eingerichtet. mit einem 1k Widerstand an Masse. Ich habe mein Multimeter verwendet, um sicherzustellen, dass der Knopf funktioniert und die richtige Menge an Strom abgibt, die es ist. Ich stecke SSH in meine Shell, stecke den Button in GPIO Pin 7 und gehe in Python. Folgendes habe ich versucht:
GPIO.pinout(GPIO.BOARD)
GPIO.setup(7,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
while 1==1:
inputval = GPIO.input(7)
print inputval
Dies gibt mir eine Endlosschleife, False
unabhängig davon, wie ich den Knopf drücke. Ich habe es auch mit probiert GPIO.PUD_UP
und True
stattdessen eine Endlosschleife von bekommen . Ich habe es auch mit probiert GPIO.PUD_OFF
und mehr bekommen False
.
Vermisse ich hier etwas?
GPIO.PUD_UP
. Mit welcher Spannung siehst duGPIO.PUD_UP
an und die Taste gedrückt?Antworten:
Mein GPIO hat nicht
pinout
, ich musste es ändernsetmode
Da Sie
GPIO.BOARD
Pin 7 verwenden, ist dieser mit gekennzeichnetGPIO 4(GPCLK0)
. Wenn Sie verwenden möchtenGPIO 7(CE1)
, sollten SieGPIO.setmode(GPIO.BCM)
stattdessen verwendenIch habe den Code getestet, indem ich einen 1k-Widerstand von
3V3 Power
bis berührt habeGPIO 4(GPCLK0)
quelle
GPIO.BOARD
es handele sich um die Pinbelegung der Platine selbst, wie auf den Bildern gezeigt, nicht um das physikalische Pin-Nummerierungsschema. Wenn ich von der Arbeit nach Hause komme, werde ich es ausprobieren und ich bin mir sicher, dass es funktionieren wird.Ich verwende niemals "pull_up_down = GPIO.PUD_DOWN" im Setup des Pins. Versuche dies:
Stellen Sie sicher, dass PinNum für das BCM-GPIO geeignet ist.
quelle