虚谷号

 找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 340|回复: 1

当Yeelight遇上虚谷号#11 调色灯

[复制链接]

16

主题

40

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2019-3-20 10:02:56 | 显示全部楼层 |阅读模式
案例1 通过外接旋钮元件达到调色效果
from xugu import Pin
from yeelight import Bulb
import time
bulb = Bulb("192.168.31.39")
bulb.turn_on()
# 初始化引脚,设置为输入模式
p0 = Pin("A0", Pin.IN)
p1 = Pin("A1", Pin.IN)
p2 = Pin("A2", Pin.IN)
# RGB控制方式,R(红),G(绿),B(蓝)
while 1:
#读取引脚的电压值
    value0 = p0.read_analog()
    value1 = p1.read_analog()
    value2 = p2.read_analog()
#读取数值的取值范围在0到1024
    r=value0/4
    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
回复

使用道具 举报

16

主题

40

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2019-3-20 10:04:23 | 显示全部楼层
本帖最后由 linmiaoyan 于 2019-3-20 10:05 编辑

使用调色板给LED调颜色,pc运行或显示器模式
说明:使用tkinter库,提供三条滑杆调颜色。

案例2通过tkinter库的滑块达到同样的调色效果从yeelight import导入tkinter

作为tk
灯泡
灯泡= Bulb(“192.168.31.39”)
bulb.turn_on()

window = tk.Tk()

def sliderUpdate(something):
    red = redSlider.get()
    green = greenSlider.get()
    blue = blueSlider.get()
    color = “#%02X%02X%02X”%(红色,绿色,蓝色)
    canvas.config(bg = color)
    hexText.delete(0,tk.END)
    hexText.insert(0,color)

def buttonClick():
    color = hexText.get()   
    canvas.config(bg = color)
    red = int(color [1:3],16)
    green = int(color [3:5],16)
    blue = int(color [5:7], 16)
    redSlider.set(红色)
    greenSlider.set(绿色)
    blueSlider.set(蓝色)
    打印(红色,绿色,蓝色)
    如果红色+绿色+蓝色> 0:
        bulb.set_rgb(红色,绿色,蓝色)

canvas = tk.Canvas (窗口)
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(行= 3,列= 1,columnspan = 3)
button.grid(row = 4,column = 1,columnspan = 3)
window.mainloop()


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虚谷号

GMT+8, 2024-3-28 18:57 , Processed in 0.046449 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表