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: 14493
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: 13004
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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten