本文來源電子發燒友社區,作者: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
+關注
關注
48文章
2886瀏覽量
53034 -
賽昉科技
+關注
關注
3文章
181瀏覽量
15552
發布評論請先 登錄
相關推薦
熱點推薦
在昉·星光開發板上控制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炫彩燈珠
評論