|
楼主 |
发表于 2019-3-12 14:33:32
|
显示全部楼层
本帖最后由 linmiaoyan 于 2019-3-16 15:30 编辑
11调色灯
(使用调色板给LED调颜色)
说明:使用tkinter库,提供三条滑杆调颜色。
import tkinter as tk
from yeelight import Bulb
bulb = Bulb("192.168.199.142")
window=tk.Tk()
def sliderUpdate(something):
red=redSlider.get()
green=greenSlider.get()
blue=blueSlider.get()
colour="#%02X%02X%02X"%(red,green,blue)
canvas.config(bg=colour)
hexText.delete(0,tk.END)
hexText.insert(0,colour)
def buttonClick():
colour=hexText.get()
canvas.config(bg=colour)
red=int(colour[1:3],16)
green=int(colour[3:5],16)
blue=int(colour[5:7],16)
redSlider.set(red)
greenSlider.set(green)
blueSlider.set(blue)
print(red,green,blue)
if red+green+blue>0:
bulb.set_rgb(red,green,blue)
canvas=tk.Canvas(window)
redSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
greenSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
blueSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
hexText=tk.Entry(window,text="#FFFFFF")
button=tk.Button(window,text="设置生效",command=buttonClick)
redSlider.grid(row=1,column=1)
greenSlider.grid(row=1,column=2)
blueSlider.grid(row=1,column=3)
canvas.grid(row=2,column=1,columnspan=3)
hexText.grid(row=3,column=1,columnspan=3)
button.grid(row=4,column=1,columnspan=3)
window.mainloop()
----------------------------------------------------------------------------------------
案例2 通过外接旋钮元件达到同样的调色效果
from xugu import Pin
from yeelight import Bulb
import time
bulb = Bulb("192.168.31.39")
bulb.turn_on()
p0 = Pin("A0", Pin.IN) # 初始化 A0 引脚,设置为输入模式
p1 = Pin("A1", Pin.IN) # 初始化 A1 引脚,设置为输入模式
p2 = Pin("A2", Pin.IN) # 初始化 A2引脚,设置为输入模式
# RGB控制方式,R(红),G(绿),B(蓝)
while 1:
value0 = p0.read_analog() #读取 A0 引脚的电压值
value1 = p1.read_analog() #读取 A1 引脚的电压值
value2 = p2.read_analog() #读取 A2 引脚的电压值
r=value0/4#读取数值的取值范围在0到1024
g=value1/4
b=value2/4
print(r,g,b)
if r+g+b>0:
bulb.set_rgb(int(r),int(g),int(b))
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|