# 儀表板 Shuffleboard/smartdashboard/Elastic ## 1. SmartDashboard ![image](https://hackmd.io/_uploads/SJhbUloXgg.png) #### 特點 - 最簡單、直接 - 自動出現在 SmartDashboard 視窗(Driver Station 附帶) - 適合快速測試數值與按鈕 - 最古早的,不推薦用 #### 依賴庫 ```java import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; ``` #### 範例:顯示與讀取數值 ```java SmartDashboard.putNumber("Encoder", encoder.get()); double speed = SmartDashboard.getNumber("Shooter Speed", 0.5); ``` #### 注意 - 資料會在 Driver Station 的 SmartDashboard 中顯示 - 建議在 robotPeriodic() 或 teleopPeriodic() 中持續更新 --- ## 2. Shuffleboard ![image](https://hackmd.io/_uploads/rk-bLlsmle.png) #### 特點 - 功能強大、可自訂畫面 - 支援圖表、滑桿、選單等小工具(Widget) - 較適合正式比賽與長期監控 - smartdashboard的視覺化 #### 依賴庫 ```java import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; ``` #### 範例:自訂 Tab 與欄位 ```java Shuffleboard.getTab("Drive") .add("Encoder", encoder) .withWidget("Graph"); ``` ---- #### 進階用法 可設定 Command, Sendable, 甚至滑桿控制變數。 ```java Shuffleboard.getTab("Shooter") .add("Shooter Speed", 0.8) .withWidget("Number Slider") .withProperties(Map.of("min", 0, "max", 1)); ``` --- ## 3. Elastic Dashboard!! ![image](https://hackmd.io/_uploads/S15FLesQlx.png) #### 特點 - 即時顯示 - 跨平台、圖形化強大 - 適合進階開發者/想建立自訂儀表板者 - 近幾年的,整體設計也比較好看 - 較推薦使用 --- #### 使用方式 - 在VSCODE WPILIB你的程式資料專案中`SHIFT+CTRL+P`開啟呼叫欄搜尋`start tool` ![image](https://hackmd.io/_uploads/ByUSIliXgg.png) - 點擊Elastic - ![image](https://hackmd.io/_uploads/S1s4Ugo7xg.png) - 打開新增一些你需要的視覺化資料後就大概會長這樣 ![image](https://hackmd.io/_uploads/Skn73GdMel.png) --- ### 如何選擇? | 工具 | 難易度| 功能強度 |介面自由度 |推薦用途| -------- | -------- | -------- | -------- | -------- | SmartDashboard | ★☆☆ | ★★☆ |★☆☆|測試期、快速輸出資訊| Shuffleboard|★★☆|★★★|★★☆|正式比賽與全隊使用| Elastic Dashboard|★★★|★★★★|★★★★|自訂進階視覺化需求| --- ### 延伸資源 SmartDashboard 教學: https://docs.wpilib.org/en/stable/docs/software/dashboards/smartdashboard/index.html Shuffleboard 教學與範例: https://docs.wpilib.org/en/stable/docs/software/dashboards/shuffleboard/index.html Elastic 官方介紹: https://docs.wpilib.org/en/stable/docs/software/dashboards/elastic.html --- ### <font color="#f50"> ! 都看完了,我要回家 ! </font> ## [好](https://hackmd.io/ACI3uWclSO6rAX9mMNIxcQ)