1
0

Gripper_gui_test.py 3.4 KB

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