在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項目 > 【作品模板】基于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 )
主站蜘蛛池模板: 亚洲综合五月天 | 亚洲精品久久久久影 | 性欧美黑人巨大videos | 久操青青 | 免费看的黄视频 | 精品国产中文一级毛片在线看 | 天天做天天爰夜夜爽 | 久久性妇女精品免费 | 国产成人影院 | 四虎在线影院 | 久久全国免费久久青青小草 | 在线永久免费观看黄网站 | 久久综合九色婷婷97 | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 夜夜想夜夜爽天天爱天天摸 | 人人操在线播放 | 色婷婷一区二区三区四区成人网 | 97天天干| 色一欲一性一乱一区二区三区 | aaaaaa级特色特黄的毛片 | 亚洲日本在线观看视频 | 久久亚洲国产欧洲精品一 | 四虎综合九九色九九综合色 | 人人艹在线视频 | 天天躁狠狠躁 | 国产三级高清 | 51影院在线观看成人免费 | 免费公开视频人人人人人人人 | 国产色丁香久久综合 | 亚洲成片在线观看12345ba | 丝袜紧身裙国产在线播放 | 99热成人精品热久久669 | 美女视频永久黄网站免费观看国产 | 牛牛a级毛片在线播放 | 午夜性爽视频男人的天堂在线 | 好吊妞视频988在线播放 | 国产高清小视频 | 资源在线www天堂 | 特黄三级 | 国产狂喷冒白浆免费视频 | 国内一级特黄女人精品毛片 |