Fehler in der Programmierung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Mit welchem Code jetzt ?


    Bei diesem Code.

  • Ich meinte mit diesem hier, da siehst du im Terminal auch gleich noch, was er macht, bzw. machen soll.

  • Ich meinte mit diesem hier, da siehst du im Terminal auch gleich noch, was er macht, bzw. machen soll.

    Er zeigt in der Kommandozeile zwar an das 37 aus ist .. aber sie bleibt an. ;(

    Ich glaube von dem Gedanken das ich es heute schaffe einen Taster zu einzubauen und dann eine Ampel zu programmieren kann ich mich wohl verabschieden. :P

  • Merkwürdig ist, dass mit diesem Code:

    alle LED´s zusammen an und danach wieder aus gehen. :conf:

  • Aus programierzeiten von VisaulBasic war mir nicht bekannt das dies ein unterschied macht!

    In Python sind Einrückungen essenziell, diese beeinflussen den Programmablauf! Eingerückt wird immer mit 4 Leerzeichen. Leerzeichen und Tabs dürfen nicht gemischt werden, aber man kann in vielen Editoren die Tab-Taste auf 4 Leerzeichen einstellen.


    Ich glaube von dem Gedanken das ich es heute schaffe einen Taster zu einzubauen und dann eine Ampel zu programmieren kann ich mich wohl verabschieden.

    Dann verwende doch gpiozero! Da gibt es sogar schon so einiges was Du willst. ;)

    Ampel: https://gpiozero.readthedocs.io/en/stable/reci…#traffic-lights

    Taster: https://gpiozero.readthedocs.io/en/stable/recipes.html#button

  • Nach einer Essen pause und Mitagsschlaf werde ich mich jetzt mit GPIOZero beschäftigen. Aber diesmal scheitert es ja schon bei einer LED. -.-

    Python
     from gpiozero import LED
     from time import sleep
     
     red = LED(35)
     
     while True
         red.on()
         sleep(1)
         red.off()
         sleep()

    gibt folgende fehlermeldung aus:

    Python
    Traceback (most recent call last):
      File "/usr/lib/python3.7/ast.py", line 35, in parse
        return compile(source, filename, mode, PyCF_ONLY_AST)
      File "/home/pi/Desktop/GPIOZero/08-08-2021/Kapitel 1 - LED Ansteuern/001 - LED Ansteuern.py", line 1
        from gpiozero import LED
        ^
    IndentationError: unexpected indent
  • Hallo,

    Nach einer Essen pause und Mitagsschlaf

    Nana, geschlafen wird in der Nacht 8o

    Wenn du die Einrückungen korrigiert hast, dann fehlt in Zeile 6 noch ein Doppelpunkt nach 'True' und in der Zeile 10 braucht 'sleep' noch ein Argument. Die Zahl in der Klammer.

    Schau mal, es gibt ein offizielles Tutorial um Python zu lernen:

    The Python Tutorial — Python 3.9.6 documentation

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Du kannst ja auch die GPIOs überwachen in dem du in einem zweiten Terminal ein einfaches Script laufen lässt:

    Bash
    #!/bin/sh
    while true
    do
    /usr/bin/clear && /usr/bin/gpio readall && /bin/sleep 0.1
    done

    Wobei mir bei deinem Code aufgefallen ist, dass es bei mir gerade anders herum ist, bei mir wird BMC26, also pysikalisch GPIO37 nie auf 1 geschaltet.

    Wenn ich aber auf BCM schalte und 13, 19 und 26 nehme, funktioniert alles einwandfrei.

    Scheint also an GPIO.Board zu liegen, ist mir nur nie aufgefallen, da ich immer die GPIO.BCM benutze.

    Kann das mal jemand bei sich testen, nur so zur sicherheit ?

    Würde mich wundern, wenn das erst jetzt auffällt.

  • Kann das jetzt jemand nachvollziehen, dass es mit BCM geht, mit BOARD aber nicht ?

    led_bcm.py geht 26:

    led_board.py geht 37 nicht:

    Dann könnte man irgendwo ein issue aufmachen. :danke_ATDE:

    Bitte noch mit Angabe um welches Modell es sich handelt, bei mir Pi4 mit 8 GB.

    apt policy python3-rpi.gpio:

    Code
    python3-rpi.gpio:
      Installiert:           0.7.0-0.1~bpo10+4
      Installationskandidat: 0.7.0-0.1~bpo10+4
      Versionstabelle:
     *** 0.7.0-0.1~bpo10+4 500
            500 http://archive.raspberrypi.org/debian buster/main armhf Packages
            100 /var/lib/dpkg/status
         0.6.5-1 500
            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
            500 http://mirrordirector.raspbian.org/raspbian buster/main armhf Packages
  • Nach sechs mal essen .. drei mal Mittagsschlaf und 376 mal ausflippen geht es jetzt mit diesem Code:

    Ich habe zwar keine Ahnung was ich diesmal anders gemacht habe. Aber irgendwas muss ja anders sein. :)

    Jetzt werde ich mal versuchen das ganze so zu bauen und codieren das es mittels einen Tasters ausgelöst wird 8)

  • Jetzt werde ich mal versuchen das ganze so zu bauen und codieren das es mittels einen Tasters ausgelöst wird 8)

    Versuche am besten gleich mit Funktionen zu arbeiten, dass wird es dir nach und nach erleichtern und auch der Code wird viel übersichtlicher. Infos dazu findest du hier: https://docs.python.org/3/tutorial/con…ining-functions

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Okay danke schön .. ja das werde ich mir mal annehmen. Denn wie am Anfang geschrieben starte ich ja gerade damit aus Neugier .. und damit ich wenn ich 2054 in Rente gehe und meine Eisenbahn platte baue, Die beleuchtung per Raspberry steuern kann. :)

  • Kann das jetzt jemand nachvollziehen, dass es mit BCM geht, mit BOARD aber nicht ?

    Geht es dabei nur um den GPIO 26 oder müssen da alle drei Pins im Spiel sein?

    Bei meinem RPi 3B konnte ich das von Dir genannte Verhalten nicht nachvollziehen, aber ich habe eine LED nur den GPIO 26 angeschlossen und folgendes Skript zum testen verwendet.

    Natürlich wahlweise BCM oder BOARD verwendet.

    Die RPi.GPIO Version ist

    Code
    apt policy python3-rpi.gpio
    python3-rpi.gpio:
      Installiert:           0.7.0-0.1~bpo10+4
      Installationskandidat: 0.7.0-0.1~bpo10+4
    • Offizieller Beitrag

    fred0815 Nein, dazu müsste ich bei meinen Test-RPi die entsprechenden anderen Pins frei machen. Da hängt ein PIR und ein Taster dran. LED hätte ich imho auch nur noch eine zweite rumliegen. Ich sehe aber nach Feierabend nochmals mal nach.

    Zimmi1987 Den "OT" hier verschiebe ich ggf. später in einen neuen Thread. Z.Zt. ist es hier allerdings noch passend, weil es seltsam ist, dass Dein Skript vorher nicht funktionierte und fred0815 auf einen ähnlichen Fehler aufmerksam wurde.

Jetzt mitmachen!

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