作品簡介
以 Arduino 與 MPU6050 製作雙軸動態平衡支架,防止物品傾倒;另以 3D 網頁讓閱讀畫面在船身搖晃時維持水平。服務海上工作者與船舶乘客。
想解決的問題
船身搖晃讓桌面物品滑落,盯著螢幕閱讀時也更容易暈眩。
怎麼運作
支架以 3D 列印機構搭配 Arduino Uno、SG90 伺服馬達與 MPU6050 六軸感測器,組成 Roll 與 Pitch 雙軸動態平衡系統:船身搖晃時,Arduino 即時讀取加速度與角速度,算出反向補償量後驅動馬達,讓承載面維持水平;遇到水平加速度時,平面會朝加速度方向調整,減少物品傾倒。
閱讀介面的後端以 Flask 建置,/data 路由接收感測器傳來的 JSON,/latest 路由提供最新姿態;前端以 Three.js 的 WebGLRenderer 渲染 3D 場景,再用 CSS3DRenderer 把網頁嵌入 3D 空間,呈現模擬的 Windows 介面。前端可用 JavaScript 輪詢 API 取得 Pitch 與 Roll,或透過 Web Serial API 直接與 Arduino 建立序列埠連線,再依角度反向旋轉場景,讓雙眼看到的畫面維持水平。
目前 MVP 已完成電路整合與組裝,手動模擬搖晃時,閱讀畫面能保持水平,支架也能即時反向補償,Web Serial API 的姿態讀取延遲低、渲染流暢。實測發現 SG90 運作時會輕微抖動,下一代規劃改用直流馬達並導入 PID 控制,把控制模組與線路收進封閉式外殼。3D 列印圖檔、原始碼與 API 將開源釋出,後續也評估延伸到火車、汽車等陸上載具。
核心功能
- 01
雙軸動態平衡支架
- 02
防暈眩 3D 閱讀介面
- 03
開源圖檔與程式