gpiozero Button "RuntimeError: Failed to add edge detection"

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hi,


    ich habe ein sehr umfangreiches Hardware Projekt.

    Da laufen mehrere Servos parallel und sind mehrere Schrittmotoren im Einsatz. Eine Kamera macht Bilder und Dinge werden gewogen...

    Alles habe ich in den Griff bekommen.


    Jetzt würde ich gerne mit einem der Schrittmotoren auf einen Endschalter fahren. Um immer eine gleiche Position zu erreichen.


    Hab mir in meine "Maschine" einen Endschalter gebastelt und bemerkt, dass gpiozero wohl ein Problem mit Buttons hat.


    Zu Testzwecken habe ich ein Demoskript verwendet, in dem ausschließlich mein Button vorkommt:


    Python
    from gpiozero import Button
    
    button = Button(4)
    button.wait_for_press()
    print("The button was pressed!")

    Wenn ich das laufen lasse kommt folgender output:



    Ist das ein Bug vom gpiozero?


    Habe wo anders gelesen, dass das wechseln vom Pin oder das wechseln von VCC auf GND nichts bringt.


    Kann mir da jemand weiterhelfen?


    Gibt es zum Button eine Alternative für einen Endschalter?

  • Welches OS nutzt du da?

    Zeig auch die Ausgabe von:

    Code
    pip list


    Die Ausgabe von pip list wäre:

    das verwendete OS wäre:

    Code
    onne@raspberrypi:~ $ cat /etc/os-release
    PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
    NAME="Debian GNU/Linux"
    VERSION_ID="11"
    VERSION="11 (bullseye)"
    VERSION_CODENAME=bullseye
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"

    Das ganze auf einem Pi 3B+

  • Wie bekomme ich heraus, ob 1-Wire aktiviert ist?

    Mit raspi-config oder im grafischen System unter Einstellungen -> Raspberry Pi-Konfiguration unter Schnittstellen.

    Zum Vergleich der Nummerierung:

    https://pinout.xyz

    gpiozero:

    https://gpiozero.readthedocs.i…ecipes.html#pin-numbering

  • Super! Danke!


    Es war das 1-Wire gesetzt.

    Habe es deaktiviert.



    Jetzt mag er auch den Button.


    Es kommt kein Fehler mehr.


    Und der Rest funktioniert trotzdem :)


    Danke für die Hilfe!