# 「[Avionic 101](https://hackmd.io/@Jackiempty/avionic-101-list)」:遙控點火裝置 本專案旨在設計並實作一套具備本地與遠端控制功能的多通道遙控點火裝置,整體以 ESP32 為主控,結合 LoRa 通訊技術,實現安全、穩定且多元操作的點火系統。此系統廣泛適用於科學實驗、火箭競賽、煙火控制等需要**遠端觸發與通道選擇功能**的應用情境。 ## 系統功能概要 - 支援 **4 個點火通道** - 以 **LoRa** 進行遙控訊號的傳輸 - **OLED 顯示螢幕**顯示目前系統狀態(目前通道、ARM/SAFE、控制權) - 控制輸出為 **繼電器驅動點火頭** - 按鈕 **循環切換通道** - **ARM/SAFE** 開關確保發射安全 - 開關切換 **本地/遠端** 控制權 ## 硬體架構 ### 控制端 - ### 遙控端 - ## 軟體架構(程式概覽) ### 主控程式 - 初始化區塊(`setup()`): - I2C OLED 初始化 - GPIO 初始化(繼電器、安全開關、撥桿) - LoRa 接收初始化 - 主迴圈(`loop()`): - 讀取安全開關狀態 - 讀取撥桿選擇通道 - 處理本地按鍵輸入 - 接收 LoRa 命令並解碼 - 根據邏輯判斷是否觸發繼電器 - 更新 OLED 顯示狀態 ### 發射端程式 - 記錄目前控制狀態(是否擁有鎖定權) - 按下按鈕時可選擇控制通道 A/B 並送出點火請求 - 若未鎖定控制權,則不發送 - 顯示目前狀態(可選:使用 OLED 或序列埠) ## 系統運作流程 1. 上電後,ESP32 初始化 OLED、LoRa 與 GPIO 2. 根據撥桿開關讀取,更新本地所選通道(A 或 B) 3. 顯示當前狀態至 OLED: - 通道狀態 - 控制權狀態(TX1 或 TX2) - 安全模式是否開啟 4. 如果安全開關未打開,所有點火請求會被忽略 5. LoRa 發射端可送出點火請求,但必須有控制權(已鎖定) 6. 當: - 安全開關開啟 - 指定通道被選中 - 控制端擁有鎖定權限 - 發送點火請求 → 對應 GPIO 輸出訊號啟動繼電器 → 點火 ## 控制權鎖定邏輯 ## 安全機制設計