本文來源電子發燒友社區,作者: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文章
2510瀏覽量
48385 -
賽昉科技
+關注
關注
3文章
165瀏覽量
14803
發布評論請先 登錄
相關推薦
熱點推薦
共建生態,賦能應用 | 賽昉科技精彩亮相中國RISC-V生態大會
2025中國RISC-V生態大會于近日在北京圓滿落幕。大會以“共建生態,共享未來”為主題,匯聚了中外產學研界各方代表,共同探討RISC-V的最新發展趨勢和產業機遇。作為中國RISC-V軟硬件生態

零知開源——使用 GPIO 模擬時序驅動 WS2812B LED 燈帶
WS2812B LED 燈帶的信號傳輸時序,從而實現對單色或多彩 LED 燈帶的控制。這種技術允許我們避開專用驅動庫,直接與硬件進行交互,理解并掌握 WS2812B 的通信機制。
一、工具原料
電腦
發表于 02-20 14:31
賽昉科技RISC-V家庭云解決方案:NAS存儲性能升級,隱私安全雙保障
隨著智能手機、平板電腦等設備的普及,用戶對數據存儲和共享的需求日益增長。在“三網融合”與云計算技術快速發展的背景下,賽昉科技基于自主研發的RISC-

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

賽昉科技將亮相RISC-V產業發展大會,帶來應用、軟件、人才三大核心主題分享
“RISC-V產業發展大會”將于12月28日在北京亦莊通明湖會展中心舉辦。作為推動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應用與
賽昉科技發布全新RISC-V CPU IP,符合RVA23規范,賦能AI應用與高效計算
2024年12月10日,中國RISC-V軟硬件生態領導者賽昉科技正式推出全新RISC-V處理器內核——昉·天樞-83(Dubhe-83),賦

預售啟動!昉·星光 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浪潮比

賽昉科技RVspace生態社區雙周報(8月刊)
持續與各方伙伴攜手共建RISC-V生態社區,為RISC-V生態建設貢獻力量。rvspace.orgRVspace社區動態01將VisionFive2單板計算機改造為

評論