【掌控】mpython-6…三颗小灯的大舞台
本帖最后由 rzyzzxw 于 2018-11-8 08:14 编辑掌控板上有三颗板载ws2812灯珠,还没有玩到哎。今天拿来玩,主要学习for循环。
【学习小目标】
1、了解mPython掌控板载3颗ws2812。
2、编程控制,尝试渐变、流水、呼吸灯效。
【一起玩起来】
mPython掌控板载3颗ws2812灯珠,WS2812是一种集成了电流控制芯片的低功耗的RGB三色灯。采用特殊的单线通讯方式控制rgb灯颜色,使用简单。
1、点亮那指路的明灯控制mPython掌控上的3颗RGB, 首先导入mpython模块:from mpython import *
注解导入mpython模块后,会为掌控创建一个NeoPixel对象rgb,控制板载的RGB只需对rgb对象操作。
设置每个像素点颜色:rgb = (255, 0, 0)# 设置为红色,全亮度rgb = (0, 128, 0)# 设定为绿色,半亮度rgb = (0, 0, 64) # 设置为蓝色,四分之一亮度然后使用 write() 将颜色输出到RGB灯: rgb.write()
试试效果,亮起来了,成就感来了;P:
2、来一组灯效
【渐亮】
from mpython import *
import time
while True:
for i in range(0,255):
#设置每个像素点颜色
rgb = (i,0,0) # 设置红色
rgb = (0,i,0)# 设定为绿色
rgb = (0,0,i) # 设置为蓝色
rgb.write() #将颜色输出到RGB灯
time.sleep_ms(10)
【渐暗】
from mpython import *
import time
while True:
for i in range(255,0,-1):
#设置每个像素点颜色
rgb = (i,0,0) # 设置为红色
rgb = (0,i,0)# 设定为绿色
rgb = (0,0,i) # 设置为蓝色
rgb.write() #将颜色输出到RGB灯
time.sleep_ms(10)
【渐亮再渐暗】
from mpython import *
import time
while True:
for i in range(255,0,-1):
#设置每个像素点颜色
rgb = (i,0,0) # 设置为红色
rgb = (0,i,0)# 设定为绿色
rgb = (0,0,i) # 设置为蓝色
rgb.write() #将颜色输出到RGB灯
time.sleep_ms(1)
for i in range(0,255):
#设置每个像素点颜色
rgb = (i,0,0) # 设置为红色
rgb = (0,i,0)# 设定为绿色
rgb = (0,0,i) # 设置为蓝色
rgb.write() #将颜色输出到RGB灯
time.sleep_ms(1)
【同色呼吸】
from mpython import *
import time
while True:
for i in range(0, 256):
rgb.fill((i, 0, 0)) # 三灯全红
rgb.write()
time.sleep_ms(3)
for i in range(0, 256):
rgb.fill((0, i, 0)) # 三灯全绿
rgb.write()
time.sleep_ms(3)
for i in range(0, 256):
rgb.fill((0, 0, i)) # 三灯全蓝
rgb.write()
time.sleep_ms(3)
来一个效果:
http://v.youku.com/v_show/id_XMzg0Njk1ODcwOA==.html?spm=a2h3j.8428770.3416059.1
http://v.youku.com/v_show/id_XMzg0Njk1OTQ3Mg==.html?spm=a2h3j.8428770.3416059.1
【流水渐亮】
from mpython import *
import time
while True:
for i in range(0,255,5):
#设置每个像素点颜色
rgb = (i,0,0) # 设置红色
rgb = (0,0,0)# 设定为绿色
rgb = (0,0,0) # 设置为蓝色
rgb.write() #将颜色输出到RGB灯
time.sleep_ms(100)
rgb = (0,0,0)
rgb = (0,i,0)
rgb = (0,0,0)
rgb.write()
time.sleep_ms(100)
rgb = (0,0,0)
rgb = (0,0,0)
rgb = (0,0,i)
rgb.write()
time.sleep_ms(100)
http://v.youku.com/v_show/id_XMzg0Njk3NTU4OA==.html?spm=a2h3j.8428770.3416059.1
【RGB彩色呼吸氛围灯】
程序效果:RGB氛围灯红、绿、蓝三色混合渐变显示出多种颜色,呈现出彩色呼吸效果。
from mpython import *#导入掌控库
import time #引入时间库
while True:
red = 0
green = 0
blue = 255
for i in range(255):
rgb.fill((i, 0, 255 - i))
rgb.write()
time.sleep_ms(1)
for i in range(255):
rgb.fill((255 - i, i, 0))
rgb.write()
time.sleep_ms(1)
for i in range(255):
rgb.fill((0, 255 - i, i))
rgb.write()
time.sleep_ms(1)
http://v.youku.com/v_show/id_XMzg1NzU0MDI3Mg==.html?spm=a2h3j.8428770.3416059.1
【全亮全灭】
这里用到了目前帮助文档里还没写上的函数。
from mpython import *
import time
while True:
rgb.fill((50,0,0)) # 三灯全红
rgb.write()
time.sleep(3)
rgb.fill((0,0,0)) # 三灯全灭
rgb.write()
time.sleep(3)
上面程序也不够简练,灯效也一般。建议自定义函数,也可以整合到别的项目中,例如上一帖子的个性徽章。
好吧,各种灯效自己来玩吧。
欢迎来拍砖。{:5_140:}
这个不错 但是代码看不懂 可以做mind+的程序吗? 灯挺漂亮的。
页:
[1]