import serial import time import tkinter def quit(): global tkTop ser.write(bytes('L', 'UTF-8')) tkTop.destroy() def set_button1_state(): global b b += 1 varLabel.set("SERVO LEFT ") ser.write(bytes('H', 'UTF-8')) def set_button2_state(): varLabel.set("SERVO RIGHT") ser.write(bytes('L', 'UTF-8')) ser = serial.Serial('/dev/cu.usbmodem14401',115200) print("Reset Arduino") time.sleep(3) ser.write(bytes('L', 'UTF-8')) tkTop = tkinter.Tk() tkTop.geometry('300x200') tkTop.title("IoT24hours") label3 = tkinter.Label(text = 'Rachana\'s Python GUI to interface an arduino,' '\n and control a Servo Motor',font=("Courier", 12,'bold')).pack() tkTop.counter = 0 b = tkTop.counter varLabel = tkinter.IntVar() tkLabel = tkinter.Label(textvariable=varLabel, ) tkLabel.pack() button1 = tkinter.IntVar() button1state = tkinter.Button(tkTop, text="ON", command=set_button1_state, height = 4, fg = "black", width = 8, bd = 5, activebackground='green' ) button1state.pack(side='top', ipadx=10, padx=10, pady=15) button2 = tkinter.IntVar() button2state = tkinter.Button(tkTop, text="OFF", command=set_button2_state, height = 4, fg = "black", width = 8, bd = 5 ) button2state.pack(side='top', ipadx=10, padx=10, pady=15) tkButtonQuit = tkinter.Button( tkTop, text="Quit", command=quit, height = 4, fg = "black", width = 8, bg = 'yellow', bd = 5 ) tkButtonQuit.pack(side='top', ipadx=10, padx=10, pady=15) tkinter.mainloop()