Итак, вот мой скрипт на питоне:
from Tkinter import *
#import RPi.GPIO as GPIO
#GPIO.setmode(GPIO.BOARD)
#GPIO.setup(12, GPIO.OUT)
#p = GPIO.PWM(12, 50)
#p.start(0)
def cmd():
speed = "Rotor speed= " + str(var.get())
label.config(text = speed)
#dc = int(var.get())
#p.ChangeDutyCycle(dc)
tk = Tk()
var = DoubleVar()
scale = Scale(tk, from_=100, to=0, variable = var)
scale.pack(anchor=CENTER)
button = Button(tk, text="Set speed", command=cmd)
button.pack(anchor=CENTER)
label = Label(tk)
label.pack()
tk.mainloop()
print("Closing the program and cleaning up the GPIO")
#p.stop()
#GPIO.cleanup()
Некоторые части пока закомментированы, потому что я работаю над кодом на своем ПК, а не на Raspberry Pi. Я оставил их для контекста.
Итак, этот код создает очень простой графический интерфейс для моего вертолета. Он отлично работает, но чтобы изменить рабочий цикл моего вывода ШИМ (функция cmd()), мне нужно нажать кнопку.
Я попытался заставить свою программу автоматически проверять значение ползунка, но я просто не могу понять это.
Любые идеи, как я могу изменить этот код, чтобы изменить значение dc вместе с движением ползунка, без необходимости нажимать кнопку, чтобы обновить его?