Raspberry Python Anfängerfrage - Unterschied GPIO 2 zu 21?

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
MajorKoenig
User
Beiträge: 2
Registriert: Samstag 5. Oktober 2019, 20:44

Hallo in die Runde,
ich bin stolzer neuer Besitzer eines Raspberry und habe mir auch ein Breadboard mit Zubehör gekauft und im Urlaub fleissig verschiedene Anfänger-Tutorials durchlaufen.

Ich hoffe, ihr verzeiht mir diese Newbie-Frage, aber nach längerer Google-Suche und Suche hier im Forum, bin ich nicht schlauer geworden.

Wenn ich über den GPIO 2 eine LED (mit Widerstand) bzw. einen Button ansteuere, funktioniert beides tadellos. Wenn ich dasselbe mit z.B. GPIO 21 versuche, klappt zwar die Programmierung der LED, aber bei untenstehendem total einfachen Programm will der Button einfach nicht. Selbst wenn ich den GPIO 21 mit nichts verbinde, erhalte ich bei Programmausführung den Text "You pushed me". Bei GPIO 2 (und 3) kommt der Text wie erwartet nur nach dem Drücken des Buttons. Ich habe auch gesehen, dass die GPIO 2 und 3 in manchen Belegungsgrafiken farblich anders markiert sind. Ich hoffe, mir kann jemand den Unterschied erklären. Kann ich Buttons als Eingang nur mit GPIO 2 und 3 steuern?

Danke vorab für eure Hinweise.

Gruß
MajorKönig

HIer das Programm:

from gpiozero import Button
button = Button(21)

button.wait_for_press()
print('You pushed me')
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du in diesem Datenblatt https://www.raspberrypi.org/documentati ... pdf#page17 die Sektion über “alternate functions” aufrufst, erklärt sich der Unterschied: als default haben die Pins einen Zustand LOW oder HIGH. Und der unterscheidet sich bei den von dir genutzten Pins. Du kannst das beeinflussen, indem du den Pullup/Pulldown der Pins explizit festlegst. https://gpiozero.readthedocs.io/en/stab ... tml#button Kennt dafür ein Argument.
MajorKoenig
User
Beiträge: 2
Registriert: Samstag 5. Oktober 2019, 20:44

Hallo, _deets_,
vielen Dank für die hilfreiche Info.
Hiermit hat es funktioniert.
Leider wurde es in dem Tutorial "einfach" mit GPIO 21 und dem Button erklärt, von Pullup bzw. Pulldown wird dort nichts erwähnt :(.

Grüße, MajorKönig
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Vielleicht war das Verhalten von gpiozero mal anders. Oder das ist Tutorial schlecht. Kommt oft vor.
Antworten