本文來源電子發燒友社區,作者: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
+關注
關注
46文章
2593瀏覽量
48936 -
賽昉科技
+關注
關注
3文章
168瀏覽量
14927
發布評論請先 登錄
相關推薦
熱點推薦
“核心技術突破+關鍵應用支撐”,賽昉加速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 開發實踐
【VisionFive 2單板計算機試用體驗】 + 開箱體驗
在x86與ARM架構主導的單板計算機市場,中國團隊打造的VisionFive 2(防星光2)如同一顆新星,憑借開源開放的RISC-V架構和成熟的桌面體驗,為開發者與極客提供了全新的選擇。經過
發表于 06-27 09:06
共建生態,賦能應用 | 賽昉科技精彩亮相中國RISC-V生態大會
2025中國RISC-V生態大會于近日在北京圓滿落幕。大會以“共建生態,共享未來”為主題,匯聚了中外產學研界各方代表,共同探討RISC-V的最新發展趨勢和產業機遇。作為中國RISC-V軟硬件生態

賽昉科技RISC-V家庭云解決方案:NAS存儲性能升級,隱私安全雙保障
隨著智能手機、平板電腦等設備的普及,用戶對數據存儲和共享的需求日益增長。在“三網融合”與云計算技術快速發展的背景下,賽昉科技基于自主研發的RISC-

首屆RISC-V產業發展大會成功舉辦,賽昉攜手產業伙伴共繪RISC-V新藍圖
12月28日,由中國電子工業標準化技術協會RISC-V工作委員會(以下簡稱“RISC-V工作委員會”)主辦的首屆“RISC-V產業發展大會”在北京成功舉辦。作為推動RISC-V生態發展

賽昉科技亮相ICCAD-Expo 2024,共探RISC-V技術最新發展
與會觀眾共探RISC-V技術的最新發展和行業應用。RISC-V架構的開放性和靈活性使其成為中國芯片行業的重要機遇。賽昉科技資深銷售總監周杰在“IP與IC設計服務”專

賽昉科技發布全新RISC-V處理器內核Dubhe-83
RISC-V軟硬件生態企業賽昉科技近日宣布,正式推出其全新RISC-V處理器內核——Dubhe-83(昉?天樞-83),該內核專為AI應用與
預售啟動!昉·星光 2 AI套件正式發布,基于RISC-V構建AI算力
10月24日,昉·星光2(VisionFive2)AI套件正式開啟預售。該套件由中國RISC-V軟硬件生態領導者賽昉科技攜手邊緣人工智能(A

賽昉科技產品亮相RISC-V開源創新中心,雙方達成戰略合作
RISC-V開源創新中心:“我們非常高興能與賽昉科技公司建立戰略合作伙伴關系。賽昉科技的技術創新,結合中心的教育資源,將為雙方帶來巨大的協同效應。”

如何讓RISC-V企業賺錢?賽昉科技展現全場景RISC-V解決方案
今年的RISC-V中國峰會,圓桌論壇的主題格外引人注目——如何讓RISC-V企業賺錢?賽昉科技給出的答案是“應用”。如果把RISC-V浪潮比

評論