# 功能說明
乞光板支持形態隨意拼接、顏色隨心變換的智能燈光產品。通過不同的組合,實現百變造型和繽紛色彩,是絕佳的個性裝飾。
# 項目進展
軟件已經完成,記得最新版本的固件搭配最新版本的
上位機,
通信協議近幾次更新都略有變動
# 硬件原理
基于不同內阻的信號并聯,由于內阻差異巨大,低內阻的信號優先。
不插入時信號從電阻流過,插入后,信號經過外部燈板在從電阻后面輸出。
從而實現無限級聯且每個LED能單獨控制。
# 軟件說明
代碼才是天坑。項目整體不難,難在需要適配各種各樣的燈效,且需要軟件換算出不同燈珠的XY坐標,從而位置和顏色正確。
### 坐標換算
![丐光板.png]

θ為入射角度+180°+45°作為起始換算點。
原點坐標則通過COS/SIN入射角度 x R + 輸入偏移量解得
### 遞歸
![丐光板說明2.png]

當遇到子節點,則將LED計數接力到子節點的坐標換算中
### 數據壓縮
![image.png]

采用變長碼實現一個字節存儲一個燈板的所有信息。勉強在總長128字節里塞下120個燈板的數據。
后面6個字節是存儲旋轉角度和加速轉碼的。剩下兩個字節預留后期的上電燈效和亮度。
## 上位機使用說明
多看上位機的第一頁:
![image.png]

![F)W1T_GUJKRDJR%RX}5.png]

界面是用命令行寫的偽圖形界面,這種樹狀分支結構在專業版左邊工程目錄也能見到,只能說是趨同進化。元素名稱已經用紅字標出。
![image.png]

# 實物展示
![IMG_20230327_170629.jpg]

![IMG_20230327_165342.jpg]

# 注意事項
1. 核查供電是否能滿足全部燈光亮白色,不然負載過大時會導致USB掉驅動
2. 當預估供電不足時可以通過轉接板外接充電頭提供輔助供電
3. 有個版本是
USB接口來實現供電和數據連接,但是非常不建議插入數據線給其他USB設備供電,以免造成損失。
4. 排針排母的版本注意正反。由于沒有防呆,插反或者錯位就有可能短路。留意連接正確性再通電
# 固件更新
Ver0.01:
1. 修改PID,上報名稱和版本號
2. 實現基本的連續發送320個RGBLED的數據
3. 首字節轉義實現上位機通訊協議
4. 添加獲取燈珠數量的功能
5. 上電連續3.5分鐘無操作后自動打開開源網
6. 開放128個燈珠控制
Ver0.02:
1. 加入上電自帶燈效,CapsLock控制方向
2. 修改輪詢間隔
Ver0.03:(內測)
1. 主頻提升到24MHz
2. 修復紅綠燈超過64不刷新的BUG
3. 修改
看門狗計數加載值
4. 修復了燈珠計數bug
5. 移除自動打開開源網
7. 移除數據同步包,開放192個燈珠控制
Ver0.1:(封頂內測)
1. 修復綠燈標識超過特定長度不熄滅的bug
2. 修改通訊協議和存儲方式,更加穩定
3. 燈珠數量上調到320
Ver1.0:
1. 2812存儲格式修改回GRB
2. 燈珠數量上調到640,可以30FPS同時控制更多燈珠
3. 修復了同色填充只亮第一個的bug
Ver1.10
1. 精簡dial和多媒體端點,防止溢出
2. 添加離線燈效,在彩虹條基礎上加入純色和流水燈
3. 批量賦值空間換時間
4. 上電4分鐘無大小寫切換,無通訊則自動打開一次開源網站