Induktion am GPIO?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Zusammen,

    habe das ein kleines Problem mit dem RPi:

    Und zwar soll über den GPIO18 ein Trigger für ein Python Programm laufen, mit einem einfachen Schalter!


    Jetzt habe ich das eigenartige Problem:
    Sobald ich ein Kabel an den Pin18 anstöpsle (eine Seite steckt im Pi, die andere baumelt frei herum), erkennt mein Pi anscheinend was und springt im Programm manchmal in die If bedingung, manchmal in die Else Bedingung (wie er lustig ist!)

    Sobald ich das Kabel abziehe, wird nur noch die Else ausgeführt (das soll auch so sein)

    Code
    [...]
    if GPIO.input(messPin) == GPIO.HIGH :
                            subprocess.Popen(["mpg321", "Schwein.mp3"])
                            sys.stdout.write("GRUNZ")
                    else:
                            subprocess.Popen(["mpg321", "Erich.mp3"])
                            sys.stdout.write("ERICH")
    [...]

    Hab ich jetzt ein elektrotechnisches Problem? oder ein Python Problem? bin mir da jetzt nicht ganz sicher!

    Als Kabel verwende ich derzeit so etwas:
    FreeShipping-100-pcs-Hot-Selling-PC-font-b-ATX-b-font-font-b-Power-b-font.jpg
    (bei mir ist kein Taster drauf, bis der "schalter" da ist, hätte ich die Tests händisch gemacht, mit kabel verbinden, russische Methode ;))


    Kann mir jemand erklären was ich falsch mache? Suche spuckt bei mir leider nichts in der Richtung aus! Bzw. was kann ich anders machen?!

    Schaltung wäre so geplant gewesen:

    Einmal editiert, zuletzt von doriangray (19. November 2013 um 03:37)

  • Was erwartest Du denn, wenn Du ein "Antenne" an einen GPIO Port anschließt? Damit Du ein sauberes Signal einlesen kannst, mußt Du den entsprechenden Port, mit einem Widerstand zuvor auf einen definierten Pegel schalten.

    Schau mal diese Seite an, vielleicht hilft es Dir, daß Problem zu verstehen. Die Stichworte sind Pulldown od. Pullup Widerstand, aber bitte daran denken, daß der RPi nur max. 3,3V an den Ports verträgt.

    http://www.mikrocontroller.net/articles/AVR-T…:_IO-Grundlagen

    Einmal editiert, zuletzt von Fliegenhals (19. November 2013 um 04:16)


  • Hallo,

    danke für die Antworten:
    habs jetzt so gefixt:

    auch wenn es jetzt geht,
    wirklich besser ist das nicht, wenn der Schalter nicht gedrückt ist hängt der GPIO (18) immer noch an Kabeln in der "Luft".

    Besser könnte ich mir vorstellen, den Widerstand 10k zu 1k tauschen, der 10k am GPIO (18) nach GND, dann kann das Kabel nie mehr stören und der GPIO hat immer definierte Pegel und ist nie "offen"

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!