' ============================================================
' IMU 陀螺儀感應器 EV3 新手範例 05：不倒的指南針：自己轉回原來的方向
' 軟體：clev3r
' 接法：IMU 陀螺儀插 1 號孔；左輪馬達接 B、右輪馬達接 C
' 這個範例會做什麼：車子停在原地。你用手把它轉走，它會自己原地轉回原來的方向。這就是比賽中「轉回正前方」的基本做法。
' 讀值：angle＝機器人轉了幾度（連續累加（轉一圈＝360，可超過 360））
' ============================================================
folder "prjs" "MBC_imu_ex05"

' IMU 陀螺儀插 1 號孔，使用模式 0
Sensor.SetMode(1, 0)
' 陀螺儀歸零的指令（送 0x11 給感應器）
gyroReset[0] = 17
LCD.Clear()

' 角度歸零：記住現在的方向
Sensor.SendUARTData(1, 1, gyroReset)
Program.Delay(100)
' 一直重複
While "True"
  ' 修正力量 fix ＝ 角度 × 1：轉走越多，轉回來越用力
  fix = Sensor.ReadRawValue(1, 0) * 1
  ' 左輪＝－fix、右輪＝＋fix：原地往反方向轉回去
  Motor.StartPower("B", 0 - fix)
  Motor.StartPower("C", fix)
EndWhile
