dcexpert 发表于 2019-5-20 12:54

【麦昆试用】python编程(4)

<div class='showpostmsg'> 本帖最后由 dcexpert 于 2019-5-20 12:54 编辑

麦昆上有4颗WS2812全彩色RGB LED,它使用P15控制。WS2812是一种串行控制的LED,它内部带有控制器,通过1个数据线传递控制命令,可以多个WS2812级联起来,用一个数据线就能控制多个WS2812。



在micropython中,控制WS2812需要使用到neopixel库,定义时需要两个参数,一个是控制引脚,另一个是WS2812的数量。

4个LED显示红绿蓝白,并循环旋转
import neopixel

np = neopixel.NeoPixel(pin15, 4)
np = (8, 0, 0)
np = (0, 8, 0)
np = (0, 0, 8)
np = (8, 8, 8)
while 1:
        t= np
        for i in range(3):
                np = np
        np = t
        np.show()
        sleep(500)


红绿蓝依次渐亮

import neopixel

np = neopixel.NeoPixel(pin15, 4)
n = 0
while 1:
        r = g = b = 0
        for i in range(4):
                if n<16:r = 1
                elif n<32:g = 1
                else:   b = 1
                np = (r*n%16, g*n%16, b*n%16)
        np.show()
        n = (n + 1)%48
        sleep(100)


红绿蓝依次渐亮,然后渐暗,效果比上面更好

import neopixel

np = neopixel.NeoPixel(pin15, 4)
n = 0
while 1:
        r = g = b = 0
        for i in range(4):
                if n<16:r = 1
                elif n<32:g = 1
                else:   b = 1
                if (n%16)<9:m=n%16
                else:       m=16-n%16
                np = (r*m%16, g*m%16, b*m%16)
        np.show()
        n = (n + 1)%48
        sleep(100)



此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处




</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: [1]
查看完整版本: 【麦昆试用】python编程(4)