1. USB-to-TTL 6色線接線定義
標準的 6 芯 FTDI (或 PL2303) 線路中,每一根杜邦線頭均帶有特定顏色代表對應訊號。在與樹莓派通訊時,僅需要接 3 條線即可運作:
黑色線 (GND)
接 Pin 6 (GND)
白色線 (RXD)
接 Pin 8 (TXD / GPIO 14)
綠色線 (TXD)
接 Pin 10 (RXD / GPIO 15)
黃色線 (RTS) 與 藍色線 (CTS) 請直接保持懸空不接。如果是紅色線 (5V),通常是懸空,僅在樹莓派沒有任何外接電源,且您打算透過筆電取電時才接到 Pin 2 (5V)。
2. 解決 Windows 驅動程式錯誤
若系統顯示「USB-Serial Controller D 驅動程式錯誤」或「裝置無法啟動 (代碼 10)」,請依照以下方法排解:
下載正確驅動程式
前往 Prolific 官網下載適用於 Windows 的 PL23XX-M_LogoDriver 驅動壓縮檔(切勿下載純 SDK 包)。
完整解壓縮後再執行
若遇到「系統找不到指定的檔案 (0x2)」錯誤,請務必先將下載的 .zip 檔全部解壓縮 為普通資料夾,再在 .exe 檔上按右鍵選擇「以系統管理員身分執行」。
終極手動降版(適合舊版晶片)
開啟「裝置管理員」 ➡️ 在問題裝置按右鍵「更新驅動程式」 ➡️ 「瀏覽我的電腦以尋找驅動程式」 ➡️ 「讓我從可用清單挑選」 ➡️ 選擇 2014 年或更早的舊版驅動版本 即可一秒排解代碼 10 的錯誤。
3. MobaXterm 序列埠設定
驅動程式正常載入後,系統會分配一個類似 COM4 的通訊埠。在 MobaXterm 的 Session ➡️ Serial 選單中,設定數值如下:
- Serial port: 選擇對應的 COM(例: COM4)
- Speed (bps): 115200
- Flow Control: None
Debian GNU/Linux 13 raspberry1 ttyS0
raspberry1 login: sysop
Password: **********
4. 排除掉壓警告 (Undervoltage)
警告訊息:hwmon hwmon1: Undervoltage detected!
當系統不間斷提示該訊息時,代表輸入電壓已跌破 4.63V 安全底線。這容易造成作業系統死機、記憶卡毀損或系統嚴重降頻。
- 不小心把 USB 6 色線的紅線 (5V) 接上了,並嘗試透過電腦 USB 供電。
- 使用的 Type-C 電源線內阻過大、線身太長導致嚴重壓降。
- 變壓器本身額定輸出功率不足(未達 5V/3A 或 5V/5A)。
- 拔掉 UART 上的紅線,僅保留 GND、RX、TX。
- 採用樹莓派官方推薦的專用變壓器進行主體供電。
- 使用高品質、帶有加粗純銅導體的短接 Type-C 充電線。
5. 終端機 Wi-Fi 管理設定
在沒有顯示器時,可透過以下三種方式快速排查並連上 Wi-Fi:
nmtui 工具
最適合新版系統 (Bookworm+)。具備視覺化文字選單,不易打錯密碼。
sudo nmtui
raspi-config
傳統經典選單。可用於定義國家(如 TW),避免 5GHz 連線問題。
sudo raspi-config
nmcli 指令
直接對底層進行調試。適用於連線至無密碼(Open)之公共網路。
sudo nmcli device wifi
連線提示:避免 "key-mgmt: property is missing" 報錯
當連線如 "CWA-FREE" 這類不需輸入密碼的公開網路時,不要在 `nmcli` 指令中夾帶 password "..." 參數。正確指令如下:
6. MPU6050 加速度計與陀螺儀實作
硬體 I2C 接線對照表
| MPU6050 針腳 | 樹莓派實體腳位 (Physical Pin) | 訊號定義 | 備註 |
|---|---|---|---|
| VCC | Pin 1 | 3.3V Power | 穩定低雜訊電源輸入 |
| GND | Pin 6 | Ground | 共地(必須連接) |
| SCL | Pin 5 | I2C SCL (GPIO 3) | I2C 串列時脈訊號 |
| SDA | Pin 3 | I2C SDA (GPIO 2) | I2C 雙向串列資料線 |
完整 Python 讀取程式碼
import time
from mpu6050 import mpu6050
# 初始化 MPU6050,預設 I2C 位址為 0x68
try:
sensor = mpu6050(0x68)
print("成功初始化 MPU6050 加速度計與陀螺儀!")
except Exception as e:
print(f"無法初始化感測器,請檢查接線或 I2C 位址。錯誤訊息: {e}")
exit()
print("開始讀取資料,請按 Ctrl+C 結束程式...\n")
try:
while True:
# 1. 讀取三軸加速度計資料 (單位: m/s²)
accelerometer_data = sensor.get_accel_data()
# 2. 讀取三軸陀螺儀資料 (單位: deg/s)
gyro_data = sensor.get_gyro_data()
# 3. 讀取晶片內部溫度計 (單位: 攝氏)
temp = sensor.get_temp()
# 輸出漂亮的對齊結果
print("=" * 50)
print(f"加速度 (m/s²) -> X: {accelerometer_data['x']:.2f}, Y: {accelerometer_data['y']:.2f}, Z: {accelerometer_data['z']:.2f}")
print(f"角速度 (deg/s) -> X: {gyro_data['x']:.2f}, Y: {gyro_data['y']:.2f}, Z: {gyro_data['z']:.2f}")
print(f"感測器溫度 -> {temp:.1f} °C")
# 每一秒更新 2 次
time.sleep(0.5)
except KeyboardInterrupt:
print("\n程式已由使用者手動停止。")
執行前必要核心步驟:
sudo raspi-config (選 Interface Options ➡️ I2C)
sudo i2cdetect -y 1
pip install mpu6050-raspberrypi