Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 7

import serial

import tkinter as tk
from tkinter import messagebox

class Form1(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title("TestiSerial")
self.geometry("500x600")

self.serial_port = serial.Serial()
self.components = None

self.create_widgets()

def create_widgets(self):
self.groupBox1 = tk.LabelFrame(self, text="Connection")
self.groupBox1.pack(pady=10)

self.disconnect = tk.Button(self.groupBox1, text="Disconnect",


command=self.disconnect_click)
self.disconnect.pack(pady=5)

self.connect = tk.Button(self.groupBox1, text="Connect",


command=self.connect_click)
self.connect.pack(pady=5)

self.comboBox1 = tk.StringVar()
self.comboBox1.set("COM1")
self.combo_box = tk.OptionMenu(self.groupBox1, self.comboBox1, "COM1",
"COM2", "COM3")
self.combo_box.pack(pady=5)

self.groupBox2 = tk.LabelFrame(self, text="Stepper ON/OFF")


self.groupBox2.pack(pady=10)

self.enable_all = tk.Button(self.groupBox2, text="Enable all",


command=self.enable_all_click)
self.enable_all.pack(pady=5)

self.checkJ6 = tk.Checkbutton(self.groupBox2, text="Enable J6")


self.checkJ6.pack(pady=5)

self.checkJ5 = tk.Checkbutton(self.groupBox2, text="Enable J5")


self.checkJ5.pack(pady=5)

self.checkJ4 = tk.Checkbutton(self.groupBox2, text="Enable J4")


self.checkJ4.pack(pady=5)

self.checkJ3 = tk.Checkbutton(self.groupBox2, text="Enable J3")


self.checkJ3.pack(pady=5)

self.checkJ2 = tk.Checkbutton(self.groupBox2, text="Enable J2")


self.checkJ2.pack(pady=5)

self.checkJ1 = tk.Checkbutton(self.groupBox2, text="Enable J1")


self.checkJ1.pack(pady=5)

self.groupBox3 = tk.LabelFrame(self, text="Jog joints")


self.groupBox3.pack(pady=10)

self.send_data = tk.Button(self.groupBox3, text="Drive joints to values",


command=self.send_data_click)
self.send_data.pack(pady=5)

self.J6Box = tk.Entry(self.groupBox3)
self.J6Box.pack(pady=5)

self.J5Box = tk.Entry(self.groupBox3)
self.J5Box.pack(pady=5)

self.J4Box = tk.Entry(self.groupBox3)
self.J4Box.pack(pady=5)

self.J6PlusBtn = tk.Button(self.groupBox3, text="J6 +",


command=self.J6_plus_btn_click)
self.J6PlusBtn.pack(pady=5)

self.J5PlusBtn = tk.Button(self.groupBox3, text="J5 +",


command=self.J5_plus_btn_click)
self.J5PlusBtn.pack(pady=5)

self.J4PlusBtn = tk.Button(self.groupBox3, text="J4 +",


command=self.J4_plus_btn_click)
self.J4PlusBtn.pack(pady=5)

self.J6MinusBtn = tk.Button(self.groupBox3, text="J6 -",


command=self.J6_minus_btn_click)
self.J6MinusBtn.pack(pady=5)

self.J5MinusBtn = tk.Button(self.groupBox3, text="J5 -",


command=self.J5_minus_btn_click)
self.J5MinusBtn.pack(pady=5)

self.J4MinusBtn = tk.Button(self.groupBox3, text="J4 -",


command=self.J4_minus_btn_click)
self.J4MinusBtn.pack(pady=5)

self.J3Box = tk.Entry(self.groupBox3)
self.J3Box.pack(pady=5)

self.J3PlusBtn = tk.Button(self.groupBox3, text="J3 +",


command=self.J3_plus_btn_click)
self.J3PlusBtn.pack(pady=5)

self.J2Box = tk.Entry(self.groupBox3)
self.J2Box.pack(pady=5)

self.J3MinusBtn = tk.Button(self.groupBox3, text="J3 -",


command=self.J3_minus_btn_click)
self.J3MinusBtn.pack(pady=5)

self.J1MinusBtn = tk.Button(self.groupBox3, text="J1 -",


command=self.J1_minus_btn_click)
self.J1MinusBtn.pack(pady=5)

self.J2PlusBtn = tk.Button(self.groupBox3, text="J2 +",


command=self.J2_plus_btn_click)
self.J2PlusBtn.pack(pady=5)

self.J1PlusBtn = tk.Button(self.groupBox3, text="J1 +",


command=self.J1_plus_btn_click)
self.J1PlusBtn.pack(pady=5)

self.J2MinusBtn = tk.Button(self.groupBox3, text="J2 -",


command=self.J2_minus_btn_click)
self.J2MinusBtn.pack(pady=5)
self.title("Form1")
self.geometry("857x706")

self.groupBox1 = ttk.LabelFrame(self, text="Connection")


self.groupBox1.pack()

self.disconnect = ttk.Button(self.groupBox1, text="Disconnect")


self.disconnect.pack(side=tk.LEFT)

self.connect = ttk.Button(self.groupBox1, text="Connect")


self.connect.pack(side=tk.LEFT)

self.comboBox1 = ttk.Combobox(self.groupBox1)
self.comboBox1.pack(side=tk.LEFT)

self.groupBox2 = ttk.LabelFrame(self, text="Serial Port")


self.groupBox2.pack()

self.serialPort1 = None

self.J1Box = ttk.Entry(self.groupBox2)
self.J1Box.pack()

self.groupBox3 = ttk.LabelFrame(self, text="Send Data")


self.groupBox3.pack()

self.sendData = ttk.Button(self.groupBox3, text="Send Data")


self.sendData.pack()

self.groupBox5 = ttk.LabelFrame(self, text="Connection status")


self.groupBox5.pack()

self.comPortStatus = ttk.Label(self.groupBox5, text="OFF", font=("Microsoft


Sans Serif", 20, "bold"), foreground="red")
self.comPortStatus.pack()

self.J1MinusBtn = ttk.Button(self, text="J1 -")


self.J1MinusBtn.pack()

self.J1PlusBtn = ttk.Button(self, text="J1 +")


self.J1PlusBtn.pack()

self.checkJ1 = ttk.Checkbutton(self, text="J1")


self.checkJ1.pack()

self.checkJ6 = ttk.Checkbutton(self, text="J6")


self.checkJ6.pack()

self.checkJ5 = ttk.Checkbutton(self, text="J5")


self.checkJ5.pack()
self.checkJ4 = ttk.Checkbutton(self, text="J4")
self.checkJ4.pack()

self.checkJ3 = ttk.Checkbutton(self, text="J3")


self.checkJ3.pack()

self.checkJ2 = ttk.Checkbutton(self, text="J2")


self.checkJ2.pack()

self.J3Box = ttk.Entry(self)
self.J3Box.pack()

self.J3PlusBtn = ttk.Button(self, text="J3 +")


self.J3PlusBtn.pack()

self.J2Box = ttk.Entry(self)
self.J2Box.pack()

self.J3MinusBtn = ttk.Button(self, text="J3 -")


self.J3MinusBtn.pack()

self.J2PlusBtn = ttk.Button(self, text="J2 +")


self.J2PlusBtn.pack()

self.J2MinusBtn = ttk.Button(self, text="J2 -")


self.J2MinusBtn.pack()

self.J6Box = ttk.Entry(self)
self.J6Box.pack()

self.J5Box = ttk.Entry(self)
self.J5Box.pack()

self.J4Box = ttk.Entry(self)
self.J4Box.pack()

self.J6PlusBtn = ttk.Button(self, text="J6 +")


self.J6PlusBtn.pack()

self.J5PlusBtn = ttk.Button(self, text="J5 +")


self.J5PlusBtn.pack()

self.J4PlusBtn = ttk.Button(self, text="J4 +")


self.J4PlusBtn.pack()

self.J6MinusBtn = ttk.Button(self, text="J6 -")


self.J6MinusBtn.pack()

self.J5MinusBtn = ttk.Button(self, text="J5 -")


self.J5MinusBtn.pack()

self.J4MinusBtn = ttk.Button(self, text="J4 -")


self.J4MinusBtn.pack()

self.Parameters = ttk.LabelFrame(self, text="Parameters")


self.Parameters.pack()

self.accelerationBar = ttk.Scale(self.Parameters, from_=1, to=100)


self.accelerationBar.pack()

self.label2 = ttk.Label(self.Parameters, text="Acceleration")


self.label2.pack()

self.label1 = ttk.Label(self.Parameters, text="Speed")


self.label1.pack()

self.speedBar = ttk.Scale(self.Parameters, from_=1, to=10)


self.speedBar.pack()

self.examplePicture = ttk.Label(self, image=None)


self.examplePicture.pack()

self.groupBox6 = ttk.LabelFrame(self, text="Example photo")


self.groupBox6.pack()

self.groupBox7 = ttk.LabelFrame(self, text="Calibrate joints")


self.groupBox7.pack()

self.calAll = ttk.Button(self.groupBox7, text="Auto calibrate all")


self.calAll.pack()

self.calJ6 = ttk.Button(self.groupBox7, text="Calibrate J6")


self.calJ6.pack()

self.calJ5 = ttk.Button(self.groupBox7, text="Calibrate J5")


self.calJ5.pack()

self.calJ4 = ttk.Button(self.groupBox7, text="Calibrate J4")


self.calJ4.pack()

self.calJ3 = ttk.Button(self.groupBox7, text="Calibrate J3")


self.calJ3.pack()

self.calJ2 = ttk.Button(self.groupBox7, text="Calibrate J2")


self.calJ2.pack()

self.calJ1 = ttk.Button(self.groupBox7, text="Calibrate J1")


self.calJ1.pack()

self.timer1 = None

self.SaveWP1 = ttk.Button(self, text="Save WP1")


self.SaveWP1.pack()

self.SaveWP2 = ttk.Button(self, text="Save WP2")


self.SaveWP2.pack()

self.PLAY = ttk.Button(self, text="PLAY")


self.PLAY.pack()

self.SaveWP3 = ttk.Button(self, text="Save WP3")


self.SaveWP3.pack()

self.disableAll = ttk.Button(self.groupBox7, text="Disable all")


self.disableAll.pack()
def disconnect_click(self):
self.serial_port.close()
messagebox.showinfo("Disconnected", "Serial port disconnected.")

def connect_click(self):
self.serial_port.port = self.comboBox1.get()
self.serial_port.baudrate = 115200
self.serial_port.open()
messagebox.showinfo("Connected", "Serial port connected.")

def enable_all_click(self):
self.checkJ6.select()
self.checkJ5.select()
self.checkJ4.select()
self.checkJ3.select()
self.checkJ2.select()
self.checkJ1.select()

def send_data_click(self):
j1_value = self.J1Box.get()
j2_value = self.J2Box.get()
j3_value = self.J3Box.get()
j4_value = self.J4Box.get()
j5_value = self.J5Box.get()
j6_value = self.J6Box.get()

# Send data to the serial port

def J6_plus_btn_click(self):
pass

def J5_plus_btn_click(self):
pass

def J4_plus_btn_click(self):
pass

def J6_minus_btn_click(self):
pass

def J5_minus_btn_click(self):
pass

def J4_minus_btn_click(self):
pass

def J3_plus_btn_click(self):
pass

def J3_minus_btn_click(self):
pass

def J1_minus_btn_click(self):
pass

def J2_plus_btn_click(self):
pass
def J1_plus_btn_click(self):
pass

def J2_minus_btn_click(self):
pass

if __name__ == "__main__":
app = Form1()
app.mainloop()

You might also like