HIGH und LOW anzeige

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

    ich hab folgendes Problem,

    beim ausführen kommt alle 5 Sekunden einfach ein HIGH und ein LOW.

    Ich hab auch schon die Kontakte abgezogen, damit auf jedenfall kein HIGH ausgegeben werden sollte, aber er gibt trotzdem immer beides aus.

    sieht irgendjemand mein Fehler?:wallbash:


  • Vergleich mal Zeile 18 und Zeile 24. Fehlt da nicht die Bedingung in Zeile 24?:

    if GPIO.input(16) == GPIO.HIGH:

    Moin und danke für deine Antwort,

    ich muss wohl dazu sagen, dass ich mehrere sachen schon probiert habe :D

    wenn ich folgendes mache:

    dann gibt er nur ein LOW aus.

    stimmt was mit meiner schleife vielleicht nicht?

  • Mal Pin 16, mal Pin 18...

    Was heißt, ergibt nur ein Low aus? Wenn du den Eingang mit GND verbindest (bzw. auch, wenn du ihn offen lässt, denn er hat ja den Soft_PD), muss er low ausgeben, wenn du den Eingang mit 3,3V verbindest, muss er high ausgeben. Wie sieht denn deine Eingangsbeschaltung aus?

    Das Skript in der letzten Form müsste eigentlich funktionieren. Was passiert denn, wenn du 3,3 V an den Eingang legst?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Einmal editiert, zuletzt von Gnom (11. Oktober 2018 um 10:18)

  • Zudem sollte man auch bedenken, dass ein Kabel wie eine Antenne wirkt und durch Störsignale der Status des GPIOs gern mal hin- und herhopst.

    Naja.... für den Fall ist es eher irrelevant, da müssen schon fett Störsignale vorhanden sein...

    Gibt es einen 10kOhm-Entstörwiderstand nach Masse ?

    Was soll ein "Entstörwidestand nach Masse" bitte sein? Das, was Du meinst, ist ein PullDown und ist dazu da um den definierten Pegel zu haben.

    Rodinator: Was machst Du eigentlich? Du liest einen digitalen Eingang ein, richtig? Was hängt dran? Wie sieht Deine Schaltung aus? Was Du probieren kannst, den "software PullDown" aus dem Python Skript zu entfernen und gegen einen Widerstand nach Masse zu ersetzen (10k oder 4k7). Du brauchst einen definierten Pegel (HIGH oder LOW) und von dem ausgehend schaltest Du dann. Wenn Du ein LOW nimmst (also mit einem PullDown), schaltest Du gegen 3.3V und bei HIGH (PullUp) gegen GND.

  • Danke erstmal an alle für die Antworten,

    ich schick euch mal meine skizze von meiner ungefähren Schaltung.

    Und zu dem nochmal was ich machen will:

    Ich will, dass wenn auf mein Taster gedrückt wird, ein HIGH aus gegeben wird ansonst soll ein LOW ausgegeben werden. bzw dann später in meine CSV eine 1 oder 0 rein geschrieben werden.

    ....

    was passiert jetzt gerade: er gibt jede Sekunde wie gewollt ein LOW (ist ja Logisch), aber wenn ich auf mein Taster drücke passiert nichts...also es wird weiterhin nur ein LOW ausgegeben.

    Einmal editiert, zuletzt von Rodinator (11. Oktober 2018 um 10:58)

  • 1.) Das ist kein vernünftiger Schaltplan.

    2.) Die Schaltung ist gefährlich für deinen Pi, weil wenn der Schleifer des Potis durch ist, kommen 5 Volt auf den GPIO.

    3.) Die Massen gehören zusammengeschaltet.

    1, ich habs jetzt nur schnell hin gezeichnet

    2. es ist ein Spannungswandler zwischen, der auf 2,8V regelt

  • Deine externe Stromversorgung des Tasters ist unnötig. Und wenn, dann müsstest du GND von der externen Versorgung und Pi verbinden.

    Um deiner Lösung einen Schrtt näher zu kommen, verbinde mal einen 3,3V-Pin (Pin 1 oder 17) des Pi mit dem Eingang (Pin 18). Zur Sicherheit solltest du einen 1K-Widerstand dazwischen schalten! Dann sollte er high anzeigen.

    Wenn du dann noch einen Taster dazwischen baust, hast du, was du willst - nur ohne externe Versorgung und ohne das unselige Poti.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

Jetzt mitmachen!

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