使用滑块的wxPython PWM
我有基本的wxPython知识 我试图获得滑块值,并将其设置为LED脉宽调制的值 这是我目前掌握的代码: 滑块使用滑块的wxPython PWM,python,python-2.7,slider,wxpython,pwm,Python,Python 2.7,Slider,Wxpython,Pwm,我有基本的wxPython知识 我试图获得滑块值,并将其设置为LED脉宽调制的值 这是我目前掌握的代码: 滑块 slider = wx.Slider (panel, 100, 25, 1, 100, pos=(200,70), size=(250, -1), style= wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS ) slider.SetTickFreq(5, 1) slider.SetBackgroundColour("light bl
slider = wx.Slider (panel, 100, 25, 1, 100, pos=(200,70), size=(250, -1), style= wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS )
slider.SetTickFreq(5, 1)
slider.SetBackgroundColour("light blue")
self.Bind(wx.EVT_SCROLL_CHANGED, self.OnSlide1)
作用
def OnSlide1(self,event):
PWM_VALUE = event.GetEventObject()
p = GPIO.PWM(11, PWM_VALUE)
p.start(0)
这将返回TypeError:需要一个浮点,我认为这意味着它需要一个浮点
但是,我不确定代码是否接近正确。您似乎正在通过滑块的窗口句柄。你想传递一个号码 试试这个:
self.slider = wx.Slider(...)
# UNTESTED
def OnSlide1(self, event):
freq = self.slider.GetValue()
p = GPIO.PWM(11, freq)
duty_cycle = 0
p.start(duty_cycle)
该错误消息还应该包含一个trackback,它指示错误发生在哪一行。您能确定错误发生在哪一行吗?或者,如果您想让滑块控制占空比,请选择freq=60和duty_cycle=self.slider.GetValue。谢谢您的回答。该代码不会像以前一样返回错误,因此是一种改进,但实际上并不控制LED的亮度,而是在释放滑块时LED刚刚关闭:s