Gripper_gui_test.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import PySimpleGUI as sg
  2. import serial
  3. import time
  4. slider_width = 100
  5. slider_hight = 40
  6. button_width = 10
  7. button_hight = 3
  8. # GUI-Layout definieren
  9. #sg.theme('DarkGreen')
  10. layout = [
  11. [sg.Text('Servomotor 1')],
  12. [sg.Slider(range=(300, 700), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER1-'), sg.Button('Reset', key='-BUTTON1-',size=(button_width,button_hight))], #enable_events=True,
  13. [sg.Text('Servomotor 2')],
  14. [sg.Slider(range=(300, 700), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER2-'), sg.Button('Reset', key='-BUTTON2-',size=(button_width,button_hight))], #enable_events=True,
  15. [sg.Text('Servomotor 3')],
  16. [sg.Slider(range=(300, 700), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER3-'), sg.Button('Reset', key='-BUTTON3-',size=(button_width,button_hight))], #enable_events=True,
  17. [sg.Text('Motor')],
  18. [sg.Slider(range=(300, 700), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER4-'), sg.Button('Reset', key='-BUTTON4-',size=(button_width,button_hight))],
  19. [sg.Button('OK',size=(button_width,button_hight)),sg.Button('Reset',key='-BUTTON5-',size=(button_width,button_hight))]
  20. ]
  21. arduino = serial.Serial(port='COM7', baudrate=9600, timeout=.1)
  22. def write_read(x):
  23. arduino.write(bytes(x, 'utf-8'))
  24. time.sleep(0.5)
  25. data = arduino.readline()#
  26. print(data)
  27. return data
  28. # GUI erstellen
  29. window = sg.Window('Slider GUI', layout,resizable=True,ttk_theme='classic')
  30. # GUI-Ereignisschleife
  31. while True:
  32. event, values = window.read() #timeout=20
  33. if event == sg.WINDOW_CLOSED:
  34. break
  35. if event == '-BUTTON1-':
  36. print('Button 1 was clicked')
  37. window['-SLIDER1-'].update(512)
  38. values['-SLIDER1-']=512.0
  39. elif event == '-BUTTON2-':
  40. print('Button 2 was clicked')
  41. window['-SLIDER2-'].update(512)
  42. values['-SLIDER2-']=512.0
  43. elif event == '-BUTTON3-':
  44. print('Button 3 was clicked')
  45. window['-SLIDER3-'].update(512)
  46. values['-SLIDER3-']=512.0
  47. elif event == '-BUTTON4-':
  48. print('Button 4 was clicked')
  49. window['-SLIDER4-'].update(512)
  50. values['-SLIDER4-']=512.0
  51. elif event == '-BUTTON5-':
  52. print('Button 5 was clicked')
  53. window['-SLIDER1-'].update(512)
  54. values['-SLIDER1-']=512.0
  55. window['-SLIDER2-'].update(512)
  56. values['-SLIDER2-']=512.0
  57. window['-SLIDER3-'].update(512)
  58. values['-SLIDER3-']=512.0
  59. window['-SLIDER4-'].update(512)
  60. values['-SLIDER4-']=512.0
  61. # Werte der Schieberegler abrufen
  62. slider1_value = values['-SLIDER1-']
  63. slider2_value = values['-SLIDER2-']
  64. slider3_value = values['-SLIDER3-']
  65. slider4_value = values['-SLIDER4-']
  66. # Beispiel: Ausgabe der aktuellen Werte der Schieberegler
  67. print("Slider 1:", slider1_value)
  68. print("Slider 2:", slider2_value)
  69. print("Slider 3:", slider3_value)
  70. print("Slider 4:", slider4_value)
  71. print("1 " + str(int(slider1_value)))
  72. print("2 " + str(int(slider2_value)))
  73. print( "3 " + str(int(slider3_value)))
  74. print("4 " + str(int(slider4_value)))
  75. write_read(str("1 "+str(int(slider1_value))))
  76. time.sleep(1)
  77. write_read(str("2 "+str(int(slider2_value))))
  78. time.sleep(1)
  79. write_read(str("3 "+str(int(slider3_value))))
  80. time.sleep(1)
  81. write_read(str("4 "+str(int(slider4_value))))
  82. # GUI schließen
  83. window.close()