Anonymní profil Radek – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Anonymní profil Radek – Programujte.comAnonymní profil Radek – Programujte.com

 

Příspěvky odeslané z IP adresy 78.45.85.–

Radek
Python › Porovnavaní hodnot z Seriove…
16. 1. 2018   #219354

Už to mám děkuju  

from Tkinter import *
import Queue
import random
import threading
import serial

root = Tk()

canvas_width = 400
canvas_height = 400
image_list = [PhotoImage(file="zastinena%d.gif" % i) for i in range(8)]

label = Label(root, text="Stav senzoru")
label.pack(pady=10)

canvas = Canvas(root, width=canvas_width, height=canvas_height, bg="gray")
canvas.pack()

image_id = canvas.create_image(canvas_width / 2, canvas_height / 2)

queue = Queue.Queue()

def update_image():
    while not queue.empty():
        item = queue.get()
        canvas.itemconfig(image_id, image=image_list[item])
    root.after(100, update_image)
def zavolej():
    while True:
        port = serial.Serial("COM4",9600,timeout = 100)
        port.write("1")
        rx = port.readline()
        port.close()
        rx = int(rx)
        print (rx)
        item = (rx)
        queue.put(item)
        
thread= threading.Thread(target=zavolej)
thread.daemon = True
thread.start()
print "ahoj"
update_image()
root.mainloop()
Radek
Python › Porovnavaní hodnot z Seriove…
16. 1. 2018   #219352

Děkuji za pomoc ale nechce mi to vyhazovat ted ty obrazky když jsem dal seriovou linku
 

from Tkinter import *
import Queue
import random
import threading
import time
import serial

root = Tk()

canvas_width = 400
canvas_height = 400
image_list = [PhotoImage(file="zastinena%d.gif" % i) for i in range(8)]

label = Label(root, text="Stav senzoru")
label.pack(pady=10)

canvas = Canvas(root, width=canvas_width, height=canvas_height, bg="gray")
canvas.pack()

image_id = canvas.create_image(canvas_width / 2, canvas_height / 2)

queue = Queue.Queue()

def update_image():
    while not queue.empty():
        item = queue.get()
        canvas.itemconfig(image_id, image=image_list[item])
    root.after(100, update_image)
def zavolej():
    while True:
        port = serial.Serial("COM4",9600,timeout = 100)
        port.write("1")
        rx = port.readline()
        port.close()
        rx = int(rx)
        print (rx)
        item = rx
        queue.put(item)
zavolej()
update_image()
root.mainloop()
Radek
Python › Porovnavaní hodnot z Seriove…
10. 1. 2018   #219273

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()

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý