Gripper_gui_test.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import PySimpleGUI as sg
  2. import serial
  3. import numpy
  4. import time
  5. slider_width = 100
  6. slider_hight = 40
  7. button_width = 10
  8. button_hight = 3
  9. open_value = 650
  10. close_value = 350
  11. layout = [
  12. [sg.Text('Servomotor 1')],
  13. [sg.Text('CLOSE'),sg.Slider(range=(312, 712), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER1-'),sg.Text('OPEN'), sg.Button('Reset', key='-BUTTON1-',size=(button_width,button_hight))], #enable_events=True,
  14. [sg.Text('Servomotor 2')],
  15. [sg.Text('CLOSE'),sg.Slider(range=(312, 712), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER2-'),sg.Text('OPEN'), sg.Button('Reset', key='-BUTTON2-',size=(button_width,button_hight))], #enable_events=True,
  16. [sg.Text('Servomotor 3')],
  17. [sg.Text('CLOSE'),sg.Slider(range=(312, 712), size=(slider_width, slider_hight), default_value=512, orientation='h', key='-SLIDER3-'),sg.Text('OPEN'), sg.Button('Reset', key='-BUTTON3-',size=(button_width,button_hight))], #enable_events=True,
  18. [sg.Text('Motor')],
  19. [sg.Text('DOWN'),sg.Slider(range=(1, 99), size=(slider_width, slider_hight), default_value=50, orientation='h', key='-SLIDER4-'),sg.Text(' UP '), sg.Button('Reset', key='-BUTTON4-',size=(button_width,button_hight))],
  20. [sg.Button('OK',key='-BUTTON9-',size=(button_width,button_hight)),sg.Button('Reset',key='-BUTTON5-',size=(button_width,button_hight)),sg.Button('Open',key='-BUTTON6-',size=(button_width,button_hight)),sg.Button('Close',key='-BUTTON7-',size=(button_width,button_hight)),sg.Button('Auto-Close',key='-BUTTON8-',size=(button_width,button_hight)),sg.Button('KALIB',key='-BUTTON10-',size=(button_width,button_hight))]
  21. ]
  22. arduino = serial.Serial(port='COM5', baudrate=115200, timeout=.1)
  23. def write_read(x):
  24. arduino.write(bytes(x, 'utf-8'))
  25. time.sleep(0.1)
  26. data = arduino.readline()
  27. print(data)
  28. return data
  29. # GUI erstellen
  30. window = sg.Window('Slider GUI', layout,resizable=True,ttk_theme='classic')
  31. def write():
  32. # Werte der Schieberegler abrufen
  33. slider1_value = 512+(512-values['-SLIDER1-'])
  34. slider2_value = 512+(512-values['-SLIDER2-'])
  35. slider3_value = values['-SLIDER3-']
  36. slider4_value = values['-SLIDER4-']
  37. # Beispiel: Ausgabe der aktuellen Werte der Schieberegler
  38. print("Slider 1:", slider1_value)
  39. print("Slider 2:", slider2_value)
  40. print("Slider 3:", slider3_value)
  41. print("Slider 4:", slider4_value)
  42. print("1 " + str(int(slider1_value)))
  43. print("2 " + str(int(slider2_value)))
  44. print("3 " + str(int(slider3_value)))
  45. print("4 " + str(int(slider4_value)))
  46. write_read(str("1 "+str(int(slider1_value))))
  47. write_read(str("2 "+str(int(slider2_value))))
  48. write_read(str("3 "+str(int(slider3_value))))
  49. if int(slider4_value) < 10:
  50. write_read("4 00" + str(int(slider4_value)))
  51. else:
  52. write_read("4 0" + str(int(slider4_value)))
  53. #data = "<" + str(0) + "," + str(slider1_value) + "," + str(slider2_value) \
  54. # + "," + str(slider3_value) + "," + str(slider4_value) + "," + ">"
  55. # GUI-Ereignisschleife
  56. while True:
  57. event, values = window.read()
  58. if event == sg.WINDOW_CLOSED:
  59. break
  60. if event == '-BUTTON9-':
  61. print('Button OK was clicked')
  62. write()
  63. if event == '-BUTTON1-':
  64. print('Button 1 was clicked')
  65. window['-SLIDER1-'].update(512)
  66. values['-SLIDER1-']=512.0
  67. write()
  68. elif event == '-BUTTON2-':
  69. print('Button 2 was clicked')
  70. window['-SLIDER2-'].update(512)
  71. values['-SLIDER2-']=512.0
  72. write()
  73. elif event == '-BUTTON3-':
  74. print('Button 3 was clicked')
  75. window['-SLIDER3-'].update(512)
  76. values['-SLIDER3-']=512.0
  77. write()
  78. elif event == '-BUTTON4-':
  79. print('Button 4 was clicked')
  80. window['-SLIDER4-'].update(0)
  81. values['-SLIDER4-']=0
  82. write()
  83. elif event == '-BUTTON5-':
  84. print('Button 5 was clicked')
  85. window['-SLIDER1-'].update(512)
  86. values['-SLIDER1-']=512.0
  87. window['-SLIDER2-'].update(512)
  88. values['-SLIDER2-']=512.0
  89. window['-SLIDER3-'].update(512)
  90. values['-SLIDER3-']=512.0
  91. window['-SLIDER4-'].update(0)
  92. values['-SLIDER4-']=0
  93. write()
  94. elif event == '-BUTTON6-':
  95. print('Button 6 was clicked')
  96. window['-SLIDER1-'].update(open_value)
  97. values['-SLIDER1-']=open_value
  98. window['-SLIDER2-'].update(open_value)
  99. values['-SLIDER2-']=open_value
  100. window['-SLIDER3-'].update(open_value)
  101. values['-SLIDER3-']=open_value
  102. window['-SLIDER4-'].update(95)
  103. values['-SLIDER4-']=95
  104. write()
  105. elif event == '-BUTTON7-':
  106. print('Button 7 was clicked')
  107. window['-SLIDER1-'].update(close_value)
  108. values['-SLIDER1-']=close_value
  109. window['-SLIDER2-'].update(close_value)
  110. values['-SLIDER2-']=close_value
  111. window['-SLIDER3-'].update(close_value)
  112. values['-SLIDER3-']=close_value
  113. window['-SLIDER4-'].update(5)
  114. values['-SLIDER4-']=5
  115. write()
  116. elif event == '-BUTTON8-':
  117. print('Button 8 was clicked')
  118. value = "50000" + '\n'
  119. write_read(str(value))
  120. while(arduino.readline() != b"" ):
  121. print(arduino.readline())
  122. print(arduino.readline())
  123. elif event == '-BUTTON10-':
  124. print('Button 10 was clicked')
  125. value = "60000" + '\n'
  126. write_read(str(value))
  127. while(arduino.readline() != b"" ):
  128. print(arduino.readline())
  129. print(arduino.readline())
  130. # GUI schließen
  131. window.close()