264|0

59

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【follow me第二季第一期】基础一,炫彩LED跑马灯 [复制链接]

  本帖最后由 crimsonsnow 于 2024-9-1 19:42 编辑

控制板载neopixel LED

使用neopixel扩展库,控制WS2812B灯带,10颗灯珠使用了MCU的一个IO ,但是可以通过程序分别控制每一个的颜色和明暗

 

在前人的经验里找到了一个教学网站Adafruit Circuit Playground Express - Blocks / Javascript editor

MakeCode 是微软开发的一款基于图形化编程的在线编程工具,它支持 Adafruit Circuit Playground Express,我们只需要在浏览器中打开 MakeCode 的网站,然后选择 Adafruit Circuit Playground Express,即可开始编程。

总的来说这块板子的目标就是让入门级的人都能轻松使用的感觉,灯带的集成化也是这个目的

还蛮适合那种艺术家创作使用的

根据视频例程,可以做出跑马灯的几种模式,比如先转完一圈再换个颜色,或者不断改变颜色的彩虹环

import time
import board
import neopixel
from rainbowio import colorwheel
import digitalio


# 自定义常量
BOARD_NEO_QTY = 10
BOARD_NEQ_BRI = 0.2

RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
OFF = (0, 0, 0)

# 初始化 NeoPixel
pixels = neopixel.NeoPixel(board.NEOPIXEL, BOARD_NEO_QTY, brightness=BOARD_NEQ_BRI,auto_write=False)

#模式切换
color_chase_demo = 0
flash_demo = 0
rainbow_demo = 0
rainbow_cycle_demo = 1

# 每0.5秒,按顺序改变一个灯珠的颜色
def color_chase(color, wait):
    for i in range(10):
        pixels[i] = color
        time.sleep(0.1)
        pixels.show()
    time.sleep(0.4)

def rainbow_cycle(wait):
    for j in range(255):
        for i in range(10):
            rc_index = (i * 256 // 10) + j * 5
            pixels[i] = colorwheel(rc_index & 255)

        time.sleep(0.1)
        pixels.show()


while True:
    rainbow_cycle(0.1)
    '''color_chase(RED, 0.1)
    color_chase(YELLOW, 0.1)
    color_chase(GREEN, 0.1)
    color_chase(CYAN, 0.1)
    color_chase(BLUE, 0.1)
    color_chase(PURPLE, 0.1)
    color_chase(OFF, 0.1)'''

如果要转一圈换一个颜色的模式,就把彩虹环函数注释,放出下面的循环函数

不知道为啥视频传不上来

 

 

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表