# Arduino 紅外線單圈計時器使用說明書

## 1. 簡介
本計時器使用 Arduino UNO 及紅外線感測器，實現單圈計時功能，適用於賽車計時應用。計時結果透過 UART (Serial Monitor) 顯示，並支援 `START` / `STOP` 指令控制。

## 2. 硬體需求
- Arduino UNO 
- 紅外線感測器 (數位輸出) E18-D80NK
- 電腦 (序列副工具) 

## 3. 連接方式
- 紅外線感測器數位輸出接至 Arduino 的 `D2` 腳位 (`IR_PIN = 2`)
- VCC 及 GND 正確接線
- Arduino 透過 USB 連接電腦

## 4. 使用方法
1. **開啟 Serial Monitor** 並設定鮑率為 `115200`。
2. **輸入 `START` 指令**：
   - 計時器開始運作。
   - 進入等待第一圈計時狀態。
3. **觸發紅外線感測器** (例如模型車通過感測器)：
   - 記錄每一圈的時間。
   - 依序輸出 LAP 計時結果，格式如下：
     ```
     LAP X "HH:MM:SS.mmm"
     ```
    - LAP 計數從 0 開始。
4. **輸入 `STOP` 指令**：
   - 停止計時。
   - 顯示 **最快單圈** 與 **最慢單圈** 時間 (排除LAP 0)。
   - 停止後，即使感測器被觸發，計時器不會再記錄 LAP。

## 5. 計時結果範例
```plaintext
Lap Timer Ready. Type 'START' to begin.
Timer Started! Waiting for first lap...
LAP 0 "00:00:05.088"
LAP 1 "00:00:09.081"
LAP 2 "00:00:14.320"
LAP 3 "00:00:43.215"
---------------------------
Timer Stopped.
Fastest Lap "00:00:09.081"
Slowest Lap "00:00:43.215"
---------------------------

Lap Timer Ready. Type 'START' to begin.
```

## 6. 注意事項
- 確保紅外線感測器安裝穩固，避免干擾計時。
- 只計算 `LAP 1` 之後的最快與最慢圈速 (**不包含 `LAP 0`**)。
- `STOP` 指令後計時器不會繼續運作，需重新輸入 `START`。

此計時器，透過 UART 輸出紀錄結果，便於數據記錄與分析。