本文来源电子发烧友社区,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2287630_1_1.html
流水灯效果(开发板体验视频,详见作者原文链接)
赛昉科技昉·星光RISC-V单板计算机上,为我们提供了40Pin接口,其中就要SPI接口。
今天的实例分享,就是使用SPI来驱动WS2812B炫彩灯珠。
WS2812B是个好东西,在很多场合,都能使用。
节假日,有很多地方,也用到了上面这种炫彩灯带装点气氛。
另外,还有下面这种点阵炫彩灯板:
作为技术宅男,情人节or七夕做一个,保准抱得美人夜归!
另外,在很多开发板上,也提供了一颗WS2812B灯珠,方便测试使用:
除了上面的单颗、点阵、条带等,还能根据自己需要,给整成各种各样的形状。
因为,它本质上,都是有一颗颗小灯珠给连起来的:
可以单颗使用,也可以上千颗使用。
今天不玩复杂的,就先分享,驱动WS2812B灯板上的单颗灯珠(第一颗)的方法。
首先,请参考官方文档,启用SPI:
启用成功后,登录系统,执行命令 ls -lh /dev/spi*,就能看到/dev/spidev0.0:
然后设置/dev/spidev0.0可被普通用户使用:

WS2812B的电源,需要单独的5V供电,不要使用40Pin的接口,输出电流有限制,避免产生副作用。
我使用的是用USB接口接了一个USB2TTL,把其中的电源+给WS2812B灯板供电。
参考官方文档,后,具体的连线如下:
连好后如下:
然后,就可以使用python进行编程,通过spi控制WS2812B灯珠了。
首先,需要安装spidev:
安装后spidev后,我们就在python中,通过spidev控制WS2812B了。
其次,通过网上众多的WS2812B资料,了解到,要控制一颗灯珠,需要发送24bits的数据,每8bits为一组,分别用于控制GRB三种颜色。
而控制设备发送数据的时候,通常需要发送24bytes,具体如下:
第一行,WS2812B自身的控制器收到后,每byte会解析为0或者1,以上0x80解析为0,0xf8解析为1,最终为8bits:00000001,表示G的亮度为0x01。
如果第一行,全部为0xf8,则最终为11111111,表示G的亮度为0xff,也就是255。
如果第一行,全部为0x80,则最终为00000000,表示G的亮度为0x00,也就是0,熄灭。
以上的0x80和0xf8为经验数值,大家可以查看网上的资料了解。
除了发送的数据,SPI还需要设置发送的速度,经验值为6.4MHz,也就是6400000。
最终的代码如下:
上面的代码,重点只有下面三条:
- spidev.SpiDev():实例化一个spidev设备
- spi.open(0, 0):打开/dev/spi0.0
- spi.xfer(ledArray, speed_hz):以指定的速率发送需要的数据
然后,就是交替发送[0,0,0]和[1,0,0]来控制第一颗灯珠GRB,从而形成亮灭效果了。
在发送数据的定义数组中:
前面说了,可以通过设置0x80和0xf8,来控制G的亮度。
同样的,还可以设置第二行、第三行,来控制GRB三中颜色的力度,从而达到炫彩的目的。
具体的颜色数目:255 * 255 * 255 = 16581375,160多万,真得很炫彩。
以上展示的,是控制第一颗灯珠,需要24bytes的数据;而发送2组24bytes数据,就可以控制两颗;以此类推,要控制更多的,就发送24倍数组bytes了。
附带的视频,就是控制了64颗,形成了简单流水灯的效果。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
RISC-V
+关注
关注
49文章
2946浏览量
53535 -
赛昉科技
+关注
关注
3文章
183浏览量
15597
发布评论请先 登录
相关推荐
热点推荐
昉·星光开发板使用基础和GPIO点灯
电脑连接到昉·星光开发板进行操作和编程。昉·星光开发板也支持通过HDMI连接到显示器进行操作,但本课程的内容,主要为通过电脑进行远程操作。
三、了解
发表于 03-26 07:51
在昉·星光开发板上控制WS2812B炫彩灯环
WS2812B版星际之门 了解。
在这片课程中,我们使用SPI接口,来发送WS2812B所需要的控制数据,从而实现24颗灯珠的炫
发表于 03-06 06:15
RISC-V实现数据中心应用突破,赛昉科技BMC芯片重磅亮相
电子发烧友原创 章鹰 近期,在珠海举办的RISC-V产业大会上,赛昉科技展示了面向数据中心、边缘计算及智能终端的全栈产品与成熟应用,其中一款产品引起了记者的注意,这款BMC芯片在11月
2025 RISC-V产业发展大会 | 赛昉科技全景展示规模化商用成果
2025年11月24日,RISC-V产业发展大会在珠海开幕。赛昉科技以“推动RISC-V规模化商用”为核心主题,重点展示了面向数据中心、边缘计算
【作品合集】赛昉科技VisionFive 2单板计算机开发板测评
赛昉科技VisionFive 2单板计算机开发板测评作品合集
产品介绍:
昉·星光 2是全球首款集成了3D GPU的高性能量产
发表于 09-04 09:08
5 款 RISC-V 单板计算机测试:性能、基准测试、特性及见解
倘若计算的未来并非被专有架构所垄断,那会怎样?想象一下这样一个世界:开发者和业余爱好者都能利用开源硬件的力量自由地构建、创新和实验。现在,让我们走进RISC-V单板计算机(SBC)的世
赛昉科技徐滔:以精准场景牵引,RISC-V抢滩数据中心百万颗市场
7月16-19日,第五届RISC-V中国峰会在上海张江科学会堂成功举办。国内领先的RISC-V厂商赛昉科技携多款重磅产品亮相,集中展示自研创新技术和成果。峰会期间,
赛昉科技联合合见工软实现国产一致性NoC IP与RISC-V核在大规模网络中的适配
2025年7月24日——中国RISC-V软硬件生态领导者赛昉科技与中国数字EDA/IP龙头企业上海合见工业软件集团有限公司(简称“合见工软”)共同宣布双方的突破性技术合作成果。赛
“核心技术突破+关键应用支撑”,赛昉加速RISC-V生态突围
2025RISC-V中国峰会的聚光灯下,赛昉科技亮点纷呈:凭借一系列突破性核心技术及多领域场景化解决方案,为RISC-V生态突围按下加速“快
【VisionFive 2单板计算机试用体验】VisionFive 2一个霸气的游戏机
单板计算机,搭载昉·惊鸿-7110(型号:JH-7110)RISC-V应用处理器,拥有极强的计算能力和图形处理能力。开源的昉·
发表于 07-13 20:41
【VisionFive 2单板计算机试用体验】RISC-V架构卡片计算机初体验
2h........无奈)
参考文献:
全球首款集成3D GPU的高性能量产RISC-V 单板计算机,昉·星光 2 开发实践![全球首款集成3D GPU的高性能量产
发表于 07-06 23:28
权威评测:Orange Pi RV2等5 款 RISC-V 单板计算机测试-性能、基准测试、功能和见解
如果计算的未来不是被锁定在专有架构上,那会怎样?想象一下,在这个世界上,开发人员和业余爱好者都可以利用开源硬件的强大功能自由构建、创新和实验。进入RISC-V单板计算机(SBC)领域—
【VisionFive 2单板计算机试用体验】 + 开箱体验
在x86与ARM架构主导的单板计算机市场,中国团队打造的VisionFive 2(防星光2)如同一颗新星,凭借开源开放的RISC-V架构和成熟的桌面体验,为开发者与极客提供了全新的选择。经过
发表于 06-27 09:06
【赛昉科技昉·星光RISC-V单板计算机试用体验】Debian-StarFive下的SPI驱动WS2812B炫彩灯珠
评论