注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
秦天qintian0303的个人空间 http://home.eeworld.com.cn/space-uid-1259568.html [收藏] [复制] [分享] [RSS]
日志

【得捷电子Follow me第2期】任务3 控制WS2812B

已有 305 次阅读2023-8-20 08:31 |个人分类:得捷电子Follow Me第二期

        控制WS2812B其实就是控制主板内置的RGB LED,可以使用CircuitPython代码来控制这个LED的颜色和亮度。

        NeoPixel是WS281x系列可寻址RGB led,它包含三个led——一个红色的,一个绿色的和一个蓝色的——以及一个驱动芯片,它们可以单独使用(如板上的内置LED),也可以串联在一起使用,不过板载只有一个。

        代码如下:

import time
import board
import neopixel

pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
pixel.brightness = 0.3
while True:
    pixel.fill((255, 0, 0))
    time.sleep(0.5)
    pixel.fill((0, 255, 0))
    time.sleep(0.5)
    pixel.fill((0, 0, 255))
    time.sleep(0.5)

        这里需要注意一下:import neopixel不属于基础模块,记得获取并放到lib文件夹里

 

实现呼吸灯:

代码如下:

import time
import board
import neopixel
from rainbowio import colorwheel

pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
pixel.brightness = 0.3

def rainbow(delay):
    for color_value in range(255):
        pixel[0] = colorwheel(color_value)
        time.sleep(delay)
    
while True:
    rainbow(0.03)

         这里有个小疑问:没有找到from rainbowio import colorwheel,这个是内置的吗?

        Adafruit对于板上外设的使用方法提供了全方位的封装,并且在官方网站上提供了丰富演示样例,虽然可以用,可是对于初学者来说,不太了解其内部,面向对象的操作方式总是让人想了解内部。

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章