【掌控】mpythonX:玩灯带也简单

2019-01-111.5万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用mpythonX和DF的bit扩展板来控制灯带,实现各种效果。从点亮灯带到流水灯、渐变色,通过代码学习,让孩子在实践中掌握编程基础。文中提供了具体的代码示例,如使用while和for循环实现流水灯效果。此外,还展示了如何定义彩虹灯效,并提供了旋转的彩虹代码参考链接。
X系列

X灯带

【掌控】mpythonX:玩灯带也简单图7

【目标】

玩灯带,做些简单效果本帖子中,用了DF的bit扩展板,灯带接13口

【掌控】mpythonX:玩灯带也简单图8

哇呀呀,用图形化,超级简单,不过学学代码,也不错啊。

1、测试点亮灯带

【掌控】mpythonX:玩灯带也简单图1

经测试0、1不行,下个版本会修正。


2、点亮灯带

【掌控】mpythonX:玩灯带也简单图2

3、rgb调色

【掌控】mpythonX:玩灯带也简单图3

4、点亮N个灯,第一个编号0,第10个灯编号9

【掌控】mpythonX:玩灯带也简单图4

5、流水灯

主要用while 和for循环

【掌控】mpythonX:玩灯带也简单图5

【掌控】mpythonX:玩灯带也简单图6

6、渐变色

【掌控】mpythonX:玩灯带也简单图9

其实能玩很多效果的,上面就只是抛个砖头了。


还有,少个彩虹灯效。
【掌控】mpythonX:玩灯带也简单图10

还要有移动的彩虹。

希望后面的版本能加上。


可以先用代码玩越来。


[mw_shl_code=python,true]from mpython import *
import machine
import neopixel

np= neopixel.NeoPixel(machine.Pin(18), n=10,bpp=3,timing=1)
# 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率

# 定义彩虹灯效
def np_rainbow(np, num, bright=32, offset = 0):
    rgb = ((255,0,0), (255,127,0), (255,255,0), (0,255,0), (0,255,255),(0,0,255),(136,0,255), (255,0,0))
    for i in range(num):
        t = 7*i/num
        t0 = int(t)
        r = round((rgb[t0][0] + (t-t0)*(rgb[t0+1][0]-rgb[t0][0]))*bright)>>8
        g = round((rgb[t0][1] + (t-t0)*(rgb[t0+1][1]-rgb[t0][1]))*bright)>>8
        b = round((rgb[t0][2] + (t-t0)*(rgb[t0+1][2]-rgb[t0][2]))*bright)>>8
        np[(i+offset)%num] = (r, g, b)

np_rainbow(np, 10, bright=255, offset=0) # 设置彩虹条的长度、亮度、偏移量等参数
np.write()  # 执行数据写入[/mw_shl_code]

旋转的彩虹代码参考:
【掌控】mpython_29…掌控WS2812灯带&彩虹灯效

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(9)
那齐士
请问一下这个图形编程界面是mixly吗?这个可以用Romeo来实现吗
hlex
还是在板载(RGB)上玩玩把:))
hlex
这个扩展板所有的引脚都能用吗?我用小喵科技的扩展也点不亮
rzyzzxw
rzyzzxw
作者
回复hlex
灯带是部分引脚才能驱动的。帖子里有提到。每一个硬件都有自己特点,所以了解要有个过程。
hlex
我用DF另一款bit扩展板,似乎只点亮一点点,感觉电压不够还是怎么回事
rzyzzxw
rzyzzxw
作者
回复hlex
是的。供电不足。
hlex
扩展哪里买
rzyzzxw
rzyzzxw
作者
回复hlex
风痕
厉害
gada888
漂亮
ZZ小海鸥
赞,漂亮
rzegkly
赞
- 没有更多了 -