1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import PySimpleGUI as sg
- import serial
- import numpy
- import time
- slider_width = 100
- slider_hight = 40
- button_width = 10
- button_hight = 3
- layout = [
- [sg.Text('Servomotor 1')],
- [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,
- [sg.Text('Servomotor 2')],
- [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,
- [sg.Text('Servomotor 3')],
- [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,
- [sg.Text('Motor')],
- [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))],
- [sg.Button('OK',size=(button_width,button_hight)),sg.Button('Reset',key='-BUTTON5-',size=(button_width,button_hight))]
- ]
- arduino = serial.Serial(port='/dev/ttyUSB0', baudrate=9600, timeout=.1)
- def write_read(x):
- arduino.write(bytes(x, 'utf-8'))
- time.sleep(0.1)
- data = arduino.readline()
- print(data)
- return data
- # GUI erstellen
- window = sg.Window('Slider GUI', layout,resizable=True,ttk_theme='classic')
- # GUI-Ereignisschleife
- while True:
- event, values = window.read()
- if event == sg.WINDOW_CLOSED:
- break
- if event == '-BUTTON1-':
- print('Button 1 was clicked')
- window['-SLIDER1-'].update(512)
- values['-SLIDER1-']=512.0
- elif event == '-BUTTON2-':
- print('Button 2 was clicked')
- window['-SLIDER2-'].update(512)
- values['-SLIDER2-']=512.0
- elif event == '-BUTTON3-':
- print('Button 3 was clicked')
- window['-SLIDER3-'].update(512)
- values['-SLIDER3-']=512.0
- elif event == '-BUTTON4-':
- print('Button 4 was clicked')
- window['-SLIDER4-'].update(512)
- values['-SLIDER4-']=512.0
- elif event == '-BUTTON5-':
- print('Button 5 was clicked')
- window['-SLIDER1-'].update(512)
- values['-SLIDER1-']=512.0
- window['-SLIDER2-'].update(512)
- values['-SLIDER2-']=512.0
- window['-SLIDER3-'].update(512)
- values['-SLIDER3-']=512.0
- window['-SLIDER4-'].update()
- values['-SLIDER4-']=0
- # Werte der Schieberegler abrufen
- slider1_value = values['-SLIDER1-']
- slider2_value = values['-SLIDER2-']
- slider3_value = values['-SLIDER3-']
- slider4_value = values['-SLIDER4-']
- # Beispiel: Ausgabe der aktuellen Werte der Schieberegler
- print("Slider 1:", slider1_value)
- print("Slider 2:", slider2_value)
- print("Slider 3:", slider3_value)
- print("Slider 4:", slider4_value)
- val_1 = "0"
- if slider4_value < 0:
- slider4_value = numpy.abs(slider4_value)
- val_1 = "1"
- print("1 " + str(int(slider1_value)))
- print("2 " + str(int(slider2_value)))
- print( "3 " + str(int(slider3_value)))
- print("4 " + str(int(slider4_value)))
- write_read(str("1 "+str(int(slider1_value))))
- write_read(str("2 "+str(int(slider2_value))))
- write_read(str("3 "+str(int(slider3_value))))
- write_read(str("4"+val_1+str(int(slider4_value))))
- # GUI schließen
- window.close()
|