Seite 1 von 1

Arduino-Python

Verfasst: Dienstag 26. Juni 2018, 14:17
von Samuel5222
Hallo zusammen,

der unten dargestellte Code funktionieret nur wenn die Bedingung zu test > va anstatt test==va geändert wird.
könnte jemand vllt helfen?
vielen Dank im Voraus

lg



import serial #Serial imported for Serial communication
import time #Required to use delay functions

ArduinoSerial = serial.Serial('com4',9600)
time.sleep(0.5)
print ArduinoSerial.readline() #read the serial data and print it as line

def Steuerung(test):

va=1
print (" hiiiiiiiiiiiiii")
#test=Anweisung

if (test==va): #if the value is 1
ArduinoSerial.write('0') #send 0 to turn the relay off
time.sleep(0.5)
ArduinoSerial.write('1') #send 1 to turn the relay on
print (" Steurgeraet ist neugestartet")
print

if (test == '0'): #if the value is 0
ArduinoSerial.write('0') #send 0
print (" Steurgeraet ist aus")
print

while 1:

#print ("Gib 1 zum Reset oder 0 zum Ausschalten ein")
#x = int(raw_input("Please enter an integer: "))
Anweisung = raw_input()
Steuerung(Anweisung)

Re: Arduino-Python

Verfasst: Dienstag 26. Juni 2018, 14:33
von __deets__
Bitte setz deinen Code in Python-Tags, damit er entzifferbar wird.

Und du hast ja selbst einen Kommentar, dessen Inhalt das Problem beheben wuere. Schau mal genau hin was dein Ursprungs-Code anders macht mit der Eingabe des Benutzers.

Re: Arduino-Python

Verfasst: Dienstag 26. Juni 2018, 14:46
von __blackjack__
@Samuel5222: Du musst Dich entscheiden ob Du da Zahlen oder Zeichenketten vergleichen möchtest und das nicht mischen.

Die Klammern beim ``if`` gehören da nicht hin. Und bei ``print`` in Python 2 auch nicht, es sei denn man macht aus dem `print` mit dem entsprechenden `__future__`-Import eine Funktion.