if else problem

  • Hallo :)
    Ich habe ein Problem mit if und else, wie man villeicht schon an der überschrift erkennen kann :D
    Und zwar:
    Mein Code:

    Der import von den sensor daten klappt super, gpios werden auch angesprochen, nur die if/else statements werden einfach von python ignoriert.
    Hier der Output der console:

    Code
    pi@robot ~/robots $ sudo python forward.py 
    86.7087602615
    pi@robot ~/robots $ sudo python forward.py 
    5.41776418686


    Vom rein textlichen her, was man als aussenstehender Betrachter sehen kann wirkt alles normal, aber die gpio 12, 11, 13, 15 steuern eine L298N (ein relai (keine ahnung ob man das so schreibt :D )) die dann wieder motoren anwieft. Nun ist es so, das sie bei einem abstand von weniger als 20 cm (messdaten vom sensor) die motoren NICHT ansteuern soll. Tut sie aber aus irgend nem grund trotzdem :/

    Erkennt jemand den Fehler oder bin ich einfach nur zu blöd um erkennen das irendwo ne definition einer funktion falsch ist...

    lg Tim

    PS: das sensor script ist hier einzusehen, wenn es von relevanz sein sollte :)

    --------------
    EDIT:
    hab mich noch entschlossen zur leichtern fehlersuche das sensor script noch mit anzuhängen:

    ----------------

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

    Einmal editiert, zuletzt von hehxes (21. August 2014 um 20:43)

  • Zunächst mal solltest du nicht bei jeder def ein init() ausführen, i.d.R. reicht das ein mal, eben im __main__ . Und im distance machst du das ja auch nicht ;)

    Desweiteren importierst du zwar die definition "distance" aber führst das nirgends aus, also vor dem if ... Also grundlegend bedeutet ein import nicht das diese definition/anweisung/funktion auch sofort ausgeführt wird, das wäre äusserst fatal

    Du solltest also erst distance() ausführen, die Rückgabe in eine Variable schreiben oder diese direkt prüfen (ersteres wäre aber Sinnvoller wenn du die auch noch ausgeben willst)

    Zum Beispiel so:

  • Ich hatte es glaube ich, schon einmal gesagt aber du bist ein gott :danke_ATDE:

    Es funktioniert ^^
    :thumbs1:

    Dann kann ich jetzt den spaß auf meine rechstlichen scripte anwenden, und fürher oder später (ich denke eher früher als später)wird von mir noch die frage kommen wie ich eine JS warung/ meldung herausgebe, wenn der abstand zu gering ist :D (ich habe keinen plan von javascript :P wir hatten es ja mit php schon ein bisschen )
    Naja aber das hat noch ein bisschen zeit...zuerst soll ja python mal richtig funktionieren.
    Und nochmal danke an dieser Stelle, du hast mir jetzt schon so oft weiter geholfen :heart:

    lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

Jetzt mitmachen!

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