1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| # -*-coding:Utf-8 -*
from tkinter import *
import serial
import time
ser = serial.Serial()
ser.baudrate = 115200
ser.port = 'COM10'
#Commande
portouvert = False
def monter():
ser.write(b'G91\n')
ser.write(b'G1 Z10.000 F1200\n')
ser.write(b'G90\n')
def descend():
ser.write(b'G91\n')
ser.write(b'G1 Z-10.000 F1200\n')
ser.write(b'G90\n')
def demande_temp():
ser.write(b'M105\n')
data = ser.readline()
if data.startswith(b'ok T'):
print(data)
texte_temp.set("Temperature Extrudeuse : "+str(data[5:10]))
while(portouvert == True):
ser.write(b'M105\n')
data = ser.readline()
texte_temp.set("Temperature Extrudeuse : "+str(data[5:10]))
if data.startswith(b'ok T'):
print(data)
def connexion():
ser.open()
if portouvert == False:
portouvert = True
def deconnexion():
ser.close()
portouvert = False
#GUI
root=Tk()
root.title("Imprimante 3D")
root.geometry("800x480")
root.minsize(480, 260)
root.config(background='#C9C3AB')
#frame
frpr = Frame(root, bg='#C9C3AB')
frpr.pack(expand=YES)
frcon = LabelFrame(frpr, text="Connexction", padx=20, pady=20)
frcon.pack(fill="both", expand="yes")
frtemp = LabelFrame(frpr, text="Température", padx=20, pady=20)
frtemp.pack(fill="both", expand="yes")
#Bp, Label, ...
#frpr
bp_10 = Button(frpr, text="10", font=("Courrier", 14),command=monter,bg='white',fg='#C9C3AB')
bp_10.pack(pady=5,fill=X)
b_10 = Button(frpr, text="-10", font=("Courrier", 14),command=descend,bg='white',fg='#C9C3AB')
b_10.pack(pady=5,fill=X)
s = Spinbox(frpr, from_=0, to=300)
s.pack()
#frcon
bpconnexion = Button(frcon, text="Connecter", font=("Courrier", 14),command=connexion,bg='white',fg='#C9C3AB')
bpconnexion.pack(pady=5,fill=X)
bpdeconnexion = Button(frcon, text="Déconnecter", font=("Courrier", 14),command=deconnexion,bg='white',fg='#C9C3AB')
bpdeconnexion.pack(pady=5,fill=X)
#frtemp
bptemp = Button(frtemp, text="Temperature", font=("Courrier", 14),command=demande_temp,bg='white',fg='#C9C3AB')
bptemp.pack(pady=5,fill=X)
texte_temp = StringVar()
texte_temp.set("Température Extrudeuse : ")
label_temp = Label(frtemp, textvariable=texte_temp, bg="grey")
label_temp.pack(pady=5,fill=X)
root.mainloop() |
Partager