Gripper_gui_test.py 3.3 KB

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