Arduino-Python

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Samuel5222
User
Beiträge: 6
Registriert: Dienstag 26. Juni 2018, 14:07

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)
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Benutzeravatar
__blackjack__
User
Beiträge: 14328
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Antworten