Programierung Beenden

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo und Sorry Problem mit taptaste gehabt
    so also ich bin neu und habe mir auch vor kurzem ein respi er gekauft
    um damit etwas zu basteln eigene Projekte iwann momentan möchte ich das programmieren lernen
    ich habe eine Ampel Schaltung gebaut und programmiert diese funktioniert auch super

    ich möchte jedoch das sobald eine tasten Eingabe der TASTATUR folgt (reicht Enter oder ein Buchstabe ) iwas halt
    das dann das Programm stoppt und die gpio´s ausgehen eventuell auch das Programm beendet wir oder bei einem weiteren Tastendruck wieder weiter geht egal

    ich habe einiges ausprobiert es kommen aber immer wieder Fehler

    ich danke vorab um hilfe

    hier erstmal der Grund Code der auch funktioniert

    import time
    import RPi.GPIO as GPIO
    GPIO.cleanup ()
    GPIO.setmode (GPIO.BOARD)
    GPIO.setup (7,GPIO.OUT)
    GPIO.setup (5,GPIO.OUT)
    GPIO.setup (3,GPIO.OUT)
    while True:
    GPIO.output(7,1)
    time.sleep(2)
    GPIO.output(5,1)
    time.sleep(2)
    GPIO.output(7,0)
    GPIO.output(5,0)
    GPIO.output(3,1)
    time.sleep(2)
    GPIO.output(3,0)
    GPIO.output(5,1)
    time.sleep(2)
    GPIO.output(5,0)

    Einmal editiert, zuletzt von Schorchi (20. September 2015 um 13:52)

  • Hallo,

    ein geiles Ratespiel - da mache ich mit:

    Mein Vorschlag:


    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (20. September 2015 um 13:49)

  • Hallo Astorek,

    eine Frage wurde nicht gestellt. Also ist jede Antwort erlaubt. ;)

    Das mit Beenden durch Strg-C ist in meinem Vorschlag enthalten.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • das ich das programm mit strg +c anhalten kann weiss ich
    dann bleiben die gpio´s aber auch an

    meine frage ist wie kann ich das einprogrammieren das das Programm selbst auf tasten Eingabe mit abbrechen oder oder programm beenden und die gpio´s ausschalten reagiert

  • Hallo Schorchi,

    so?

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • FAQ --> Nützliche Links / Linksammlung --> Script sauber/sanft beenden


    Ein GPIO.cleanup() am Anfang ist unnötig wenn es am Ende ausgeführt wurde. Und ein GPIO.cleanup() setzt die GPIOs zurück also brauch man auch kein False setzen..

    [code=php]
    import time
    import RPi.GPIO as GPIO

    GPIO.setmode(GPIO.BOARD)

    GPIO.setup(7, GPIO.OUT)
    GPIO.setup(5, GPIO.OUT)
    GPIO.setup(3, GPIO.OUT)

    try:
    while True:
    GPIO.output(7, True)
    time.sleep(1)
    GPIO.output(5, True)
    time.sleep(1)
    GPIO.output(3, True)
    time.sleep(1)
    GPIO.output(5, False)
    time.sleep(1)
    GPIO.output(3, False)
    time.sleep(1)
    GPIO.output(7, False)
    time.sleep(1)
    except (KeyboardInterrupt, SystemExit):
    GPIO.cleanup()
    [/php]

    Zusätzlich zum KeyboardInterrupt (STRG+C) wird hier auch ein beenden des Script (SystemExit) reagiert, zum Beispiel beim herunterfahren vom PI o.ä.

Jetzt mitmachen!

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