Python An/Aus schalter

  • Ich habe einen An/Aus schalter. Ich will dass er in einer Endlosschleife läuft und dass immer Angezeigt wird, ob der schalter grad An oder Aus ist.


    Ihr seht ja wie schlecht der code ist. Ich habe nur versucht mit so wenig Hilfe wie möglich im Internet etwas hinzubekommen... Habt ihr Ideen? Ich bin ratlos.

  • Wenn du Probleme mit etwas hast, dann schreibe bitte eine entsprechende Fehlermeldung dazu oder beschreib's mit eigenen Worten. Ebenfalls wichtig wäre eine bessere Frage als "Habt ihr Ideen"

    Wieso möchtest du denn unbedingt eine Endlosschleife nutzen? Meiner Meinung nach wäre ein Interrupt besser, denn der reagiert nur bei einem Flankenwechsel. Siehe dazu FAQ => Nützliche Links / Linksammlung => Interrupt

    Um aber trotzdem auf deine Anforderungen einzugehen:

    Du verwendest 2 verschiedene "print" Aufrufe:
    print('Button Pressed')
    print"nichts"
    Mag sein das beides mit Python2 zu funktionieren scheint, ist aber falsch. Das erste stammt aus Python3 denn da ist print eine Funktion, das zweite stammt aus Python2 wo python3 aber eine Fehlermeldung auswerfen würde. Da du leider nicht dazu geschrieben hast mit welcher Python Version du arbeitest (und auch kein Shebang vorhanden ist), sowie eine Fehlermeldung usw fehlt, gehe ich jetzt mal davon aus dass dort dein Problem begraben ist.
    Ansonsten würde ich das ganze so schreiben:
    [code=php]
    #!/usr/bin/python2
    import time
    from RPi import GPIO

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

    while True:
    print 'Button Pressed: %s' % GPIO.input(23)
    time.sleep(0.2)
    [/php]
    Wieso du aber wirklich ständig eine Ausgabe möchtest bleibt ein Rätsel. Wie gesagt wäre es besser nur dann eine Ausgabe zu machen wenn sich etwas verändert hat.

Jetzt mitmachen!

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