Dobrý den,
potřeboval bych poradit potřebuju doladit tenhle program aby vůbec fungoval jsem v pythonu uplny začatečník takže nevim pořadně co snim jde dělat. Ale potřebuju aby po posladni jedničky na seriovou linku ziskal hodnotu a tu porovnal a podle toho vykreslil obrazek jeden z 256. Protože na seriovou linku přijdou logicke vystupy z opickych senzoru a potřebuju prokazat jake jsou sepnute a jake ne :)
Děkuju za pomoc či vylepšení kodů
# -*- coding: cp1250 -*-
from Tkinter import *
import serial
import time
root = Tk()
root.wait_visibility(root) #zajistí, že je okno stále
root.attributes('-topmost',1) #viditelné
root.title("senzor polohy")
x = 400
y = 400
w = Label(root, text= "Stav senzoru")
w.pack(pady=10)
obr = Canvas(root, width=x, height=y, bg="gray")
obr.pack()
obr1 = PhotoImage(file="zastinena0.gif")
obr2 = PhotoImage(file="zastinena1.gif")
obr3 = PhotoImage(file="zastinena2.gif")
obr4 = PhotoImage(file="zastinena3.gif")
obr5 = PhotoImage(file="zastinena4.gif")
obr6 = PhotoImage(file="zastinena5.gif")
obr7 = PhotoImage(file="zastinena6.gif")
obr8 = PhotoImage(file="zastinena7.gif")
obr9 = PhotoImage(file="zastinena8.gif")
obr.create_image(x/2, y/2, image=obr1)
def nula():
obr.create_image(x/2, y/2, image=obr1)
def jeden():
obr.create_image(x/2, y/2, image=obr2)
def dva():
obr.create_image(x/2, y/2, image=obr3)
def tri():
obr.create_image(x/2, y/2, image=obr4)
def ctyri():
obr.create_image(x/2, y/2, image=obr5)
def pet():
obr.create_image(x/2, y/2, image=obr6)
def sest():
obr.create_image(x/2, y/2, image=obr7)
def sedm():
obr.create_image(x/2, y/2, image=obr8)
def osm():
obr.create_image(x/2, y/2, image=obr9)
while(True):
port = serial.Serial("COM4",9600,timeout = 120)
port.write("1")
rx = port.readline()
port.close()
print (rx)
if (rx==0):
nula()
elif (rx==1):
jedna()
elif (rx==2):
dva()
elif (rx==3):
tri()
elif (rx==4):
ctyri()
elif (rx==5):
pet()
elif (rx==6):
sest()
elif (rx==7):
sedm()
elif (rx==8):
osm()
print "help"
else:
root.mainloop()