MBC IMU 陀螺儀 × EV3 clev3r

三個步驟用 clev3r 讀陀螺儀

clev3r(EV3 BASIC)程式照這個順序:先建立專案、選孔位,再設定陀螺儀的模式,最後才讀值、顯示在 EV3 螢幕上。左邊一步一步做,右邊的程式會跟著長出來;轉動、抬高、搖晃模擬器裡的車子,就能看到 EV3 螢幕會顯示什麼。

1

建立專案、選孔位

clev3r 不用裝擴充,也不用匯入檔案:陀螺儀在 EV3 上會模擬成樂高原廠陀螺儀(類型 32),直接用 Sensor 指令讀。第一行 folder 決定程式放在 EV3 的哪個資料夾。

  1. 安裝 clev3r(本站測試的版本是 v1.7.1.0)。
  2. EV3 先開機,再把陀螺儀插進下面選的孔(那一下車子要靜止)。
  3. 新增一個程式,寫下面這幾行。
  4. 寫好按「編譯並下載」,到 EV3 的檔案選單找 MBC_ 開頭的資料夾執行。
陀螺儀插在哪個孔?

程式裡的第 1 個數字(例如 Sensor.SetMode(1, 0))就是孔位,1~4 對應 EV3 的 1~4 號孔。

2

設定模式

陀螺儀有 7 種「模式」,每種模式送回 1~4 個數字。Sensor.SetMode(孔, 模式) 選一種。一個程式只用一種模式:EV3 每換一次模式要等約 0.5 秒。

選一種模式(第 3 步選到別的模式的讀值,這裡會跟著換):

3

讀值、顯示在螢幕上

Sensor.ReadRawValue(孔, 第幾個) 拿目前模式的第幾個數字(從 0 開始數),LCD.Text 把它寫在 EV3 螢幕上。EV3 螢幕只能顯示英文和數字,所以標籤用英文縮寫。點一個讀值,程式和螢幕會換成它的範例。

模擬感應器:左邊從上面看(航向),右邊從側面看(俯仰)。拖動拉桿、按按鈕,看右邊的輸出怎麼變

模擬畫面是示意:數值用畫面上車子的方向和角度換算,不是感應器裡面的演算法。「歸零」按鈕 = 送 0x11 給感應器(陀螺儀歸零那張卡);選那張卡的時候模擬器會先歸零一次(就像程式剛開始)。韌體版本 400 是示意值。

每個讀值的範例

完整範例


        

!


        

!


        

!

使用注意

  1. 拔線時讀到 0:clev3r 讀不到感應器時 Sensor.ReadRawValue 回傳 0,程式不會停,所以「航向 0」也可能是沒接好。先用「感應器有接好嗎」那張卡(Sensor.GetType = 32)確認。
  2. 一個程式只用一種模式:EV3 每換一次模式要等約 0.5 秒。轉彎用模式 0,上坡判斷用模式 6。
  3. 歸零:送 0x11 給感應器(Sensor.SendUARTData)四個航向都歸零,跟 EV3-G「陀螺儀 重置」一樣;歸零那一下車子要靜止。右轉航向變大,轉一圈 = 360,會一直累加。
  4. EV3 螢幕只能顯示英文和數字,所以標籤用英文縮寫(ANGLE、FUSED、RATE、TILT…)。模式 2~6 要感應器韌體 v4.0 以上。