色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

聚豐項目 > 【作品模板】基于RT-Thread的時光空間立方

【作品模板】基于RT-Thread的時光空間立方

基于麻雀一號核心板 RW052,即博通的 WIFI 藍牙一體的芯片 BK7252,我制作了一款桌面小工具:時光空間立方。 它可以實現: 1、微信小程序可以通過藍牙配置小立方的參數; 2、晃動立方可以觸發亮屏、亮燈; 3、立方可以通過藍牙配網,連接 WIFI; 4、屏幕上可以顯示:日期時間、實時天氣、名言警句,或者是模仿搖 骰子產生隨機點數; 5、立方內部有呼吸燈和彩虹燈的效果。作為一款桌面小工具,它既可以提示必要的信息,如時間、天氣,又可 以趣味互動,如搖骰子、隨機顯示名言警句,集信息提示與娛樂一體。 外觀則是完美的正方體,每個面在未啟動時就像一面鏡子,啟動后則可 以看到一個無限五彩斑斕的內部空間。放置于辦公桌面,既是一款優雅的裝飾品,又是一款具有實用價值的小巧工具。

從前有座_山 從前有座_山

分享
0 喜歡這個項目
團隊介紹

從前有座_山 從前有座_山

團隊成員

從前有座_山 服務小達人

分享
項目簡介
基于麻雀一號核心板 RW052,即博通的 WIFI 藍牙一體的芯片 BK7252,我制作了一款桌面小工具:時光空間立方。 它可以實現: 1、微信小程序可以通過藍牙配置小立方的參數; 2、晃動立方可以觸發亮屏、亮燈; 3、立方可以通過藍牙配網,連接 WIFI; 4、屏幕上可以顯示:日期時間、實時天氣、名言警句,或者是模仿搖 骰子產生隨機點數; 5、立方內部有呼吸燈和彩虹燈的效果。作為一款桌面小工具,它既可以提示必要的信息,如時間、天氣,又可 以趣味互動,如搖骰子、隨機顯示名言警句,集信息提示與娛樂一體。 外觀則是完美的正方體,每個面在未啟動時就像一面鏡子,啟動后則可 以看到一個無限五彩斑斕的內部空間。放置于辦公桌面,既是一款優雅的裝飾品,又是一款具有實用價值的小巧工具。
硬件說明

RT-Thread使用情況概述:

整個方案涉及的技術棧有:硬件選型,PCB 設計,RT-Thread 程序, 3D 建模打印,服務器端程序,API 接口對接,微信小程序編寫等等。通過這個作品,鍛煉了我實現產品的能力,讓我對產品設計的不同方面 都加深了理解。

內核部分:使用了線程、信號量、互斥量、定時器 

組件部分:使用了虛擬文件系統、FinSH、netdev 網卡 

軟件包:

fal/EasyFlash/littlefs/netutils/cJSON/mbedtls/rt_ota 等 

設備驅動:

GPIO/SPI/RTC/WLAN/BLE 等


核心模塊RW052是官方的一個基于 BK7252 芯片的WIFI 藍牙一體的 模組,引出了非常多的引腳,使用起來非常方便,可以直接通過 USB 供電。驅動屏幕使用了模擬 SPI,LCD 是使用了麻雀一號上屏幕廠家的同系列不 同尺寸的屏幕。WS2812 則是使用了硬件 SPI,通過 MOSI 按照時序進行輸出規定協 議的波形,從而驅動 WS2812。

1.jpg

軟件說明

軟件框架:

軟件方案自我感覺比較簡單,中間使用了部分信號量和互斥量保證線程 同步,整體是按照不同功能模塊進行了文件拆分,方便功能劃分和解耦合。 

2.jpg

程序運行邏輯圖:

3.jpg


我這個作品里軟件模塊劃分的比較清晰,各個模塊均獨立為一個單獨文 件,比較好理解。屏幕、藍牙、網絡、GPIO 基本上都是遵循原有的代碼邏 輯進行編寫,邏輯比較清晰。所以這里我重點講一下之前驅動 WS2812 失 敗的原因與解決方案。

 

之前沒有正確驅動 WS2812 的原因,比較多樣化,比如自以為是的斷 定通過 GPIO+延時函數可以實現 WS2812 的驅動邏輯,后來經過示波器 證明時序完全不在一個量級上;后來使用了 I2C,發現時序非常不好控制, 也作罷;最后使用了 SPI,但是也是經歷了由模擬 SPI 到硬件 SPI 的過程。軟件 SPI 理論上跟模擬 GPIO 沒區別,達不到效果,使用了硬件 SPI 后發 現時序有時候會亂掉。最終使用硬件 SPI+DMA 方式,才得到了最終效果。


至于為什么使用 SPI,是從 WS2812 驅動時序來反推的。


WS2812 的時序屬于單總線式的時序,每一個 bit 都是由一個高電平+ 低電平實現,一個周期要在 1.25 微秒左右。當高電平在 400 納秒,低電 平在 800 納秒左右,則該 bit 為 0,反之為 1。 


當 SPI 時鐘設置在一個比較合適的頻率時,一個字節周期剛剛好可以在 1.25 微秒左右,比如 6-8MHz。這樣,只需要用一個字節表示 WS2812 一個 bit 即可。 


當然,一切都是可以變通的,我最開始的程序是采用了一個字節表示一 個 bit 的方式,后來發現這種方式不是很穩定,則改成了一個字節表示 2bit。這樣既節省了內存開支,也比之前的時序穩定性略好。經過實際測試,雖然 仍有瑕疵,但較之前版本效果更好一些,所以最后我選擇了這個方案。


具體的實現代碼在 ws2812.c 文件中。

演示效果

演示視頻:


代碼地址:

GitHubhttps://github.com/illusionlee/lightcube 


代碼使用了 MIT 協議,相對較為開放。因為我的一些代碼仍然會有一些 BUG,所以非常期待更多人可以參與進來,issue、pr,開源精神亦在于此 吧!共同完善,爭取每個人都可以擁有屬于自己的時光空間立方,工作閑暇 之余,拿起來晃一晃,能夠體驗到一點點樂趣。

附件

(13.70 MB)下載

評論區(0 )
主站蜘蛛池模板: 超碰97人人做人人爱少妇| 亚洲色大成网站WWW永久麻豆| 肉肉描写很细致的黄文| 在线高清电影理论片4399| 国产午夜a理论毛片在线影院 | 99久久精品费精品蜜臀AV| 久久水蜜桃亚洲AV无码精品偷窥| 亚洲精品乱码久久久久久v| 国产色婷亚洲99精品AV在| 桃花论坛POWERED2019| 国产99视频精品一区| 天堂在线亚洲精品专区| 国产99视频精品免费播放| 台湾18成人影院| 国产精品一区二区三区四区五区 | 爽爽窝窝午夜精品一区二区| 国产成年网站v片在线观看| 手机看片一区二区| 国产呻吟久久久久久久92| 亚洲AV 无码AV 中文字幕| 国产中文字幕免费观看| 一线高清视频在线播放| 麻豆精品乱码WWW久久密| adc我们的永久网址| 色欲人妻无码AV精品一区二区| 国产电影无码午夜在线播放| 亚洲AV一宅男色影视| 精品96在线观看影院| 在线观看免费视频a| 奶水太多h室友| 城中村快餐嫖老妇对白| 午夜DV内射一区区| 护士日本xx厕所| 80岁色老头69av| 乳交高H糙汉宠文| 金瓶梅 快播| 99视频免费观看| 窝窝影院午夜看片毛片| 精品午夜国产福利观看| av天堂网2014在线| 双性h浪荡受bl|