MBC IMU 陀螺儀 × mBlock 5(mBot)

三個步驟用 mBlock 5 讀陀螺儀

在 mBlock 5 電腦版,裝好 MBC Pro Sensors 擴展 v2,就能用積木在 mBot 上讀陀螺儀:先加入擴展、接好連接埠,再在「當 mBot 啟動時」下面等感應器開機、放「重複無限次」,最後把陀螺儀的積木放進去。左邊一步一步做,右邊的積木會跟著長出來。mBot 沒有螢幕,範例用蜂鳴器、LED 和輪子告訴你讀到了什麼。

擴展 v2.0.0 正在 Makeblock 擴展平台送審(上架中),還不能從 mBlock 匯出積木圖;這頁的積木圖是用 scratchblocks 照擴展的積木文字和分類顏色畫的,在 mBlock 裡看起來差不多。右邊可以切到「對應的 Arduino 程式」。每個值的編號與範圍見 IMU 陀螺儀 × mBlock 5 說明。

1

加入擴展、接好連接埠

mBlock 要先加入 MBC Pro Sensors 擴展 v2,積木區才會多出「IMU 陀螺儀」分類。每顆積木上都有連接埠的選單,要選感應器實際插的號碼,擴展會依主板自動換成正確的腳位。

陀螺儀接在 mBot 的哪個連接埠?
  1. 打開 mBlock 5 電腦版,左下「設備」加入 mBot,右下「模式開關」切到 上傳。
  2. 加入擴展:上架後在「擴展中心」搜尋「MBC」→ 加入。上架前(送審中),進階使用者可以到 ext.mblock.cc 登入自己的 Makeblock 帳號 → 我的擴展 → 匯入資料,上傳 mbc_pro_sensors_2.0.0_import.mext(約 1 分鐘),再按「下載」拿到 .mext,把它拖進 mBlock 視窗。
  3. 積木區多出「循行者」「測距者」「掌控者」「IMU 陀螺儀」「神攝手」「MBC 共用」六個分類。
  4. 陀螺儀 → mBot 插座片 → mBot 連接埠 2;積木上的連接埠也選 2。
主板可用連接埠說明
mBot(mCore)1、2、3、4四個埠都可以
mBot Ranger(Auriga)6 ~ 101 ~ 4 是紅色馬達埠、5 是序列埠
Orion3、4、61、2 是紅色馬達埠;7、8 只能接類比感應器
Ultimate 2.0(MegaPi)6、7、8要加裝 RJ25 擴充板;5 是序列埠
MegaPi Pro7、8、9、10要加裝 RJ25 擴充板

上面的模擬只做 mBot(連接埠 1 ~ 4)。換別的主板時,把「當 mBot 啟動時」換成那塊主板的起始積木、連接埠改成它能用的號碼。mBot2(CyberPi)沒有 RJ25 連接埠,不支援。

2

開機:先等感應器 1 秒

程式從「當 mBot 啟動時」開始。下面先放「等待 1 秒」讓感應器開機,太早讀會讀到 −32768;再放「重複無限次」,因為感應器要一直重複讀。

  1. 從「事件」拖出「當 mBot 啟動時」。
  2. 從「控制」拖出「等待 (1) 秒」接在下面。
  3. 從「控制」拖出「重複無限次」接在最下面。

上傳模式的程式會燒進 mBot,拔掉 USB 用電池也照樣跑。「重複無限次」裡不用再放等待:每顆讀值積木都會等感應器回答(最多 0.01 秒)。

3

使用陀螺儀的積木

「IMU 陀螺儀」分類裡,IMU 陀螺儀用的積木有 19 顆(讀值、是/否、命令),「MBC 共用」分類還有 8 顆。每顆積木的連接埠都要選跟第 1 步一樣的號碼(2)。點一個功能,右邊的積木、Arduino 程式和 mBot 會做的事都會換成它的範例。

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

模擬畫面是示意:數值用畫面上車子的方向和角度換算,不是感應器裡面的演算法;實際讀值會有 1 度左右的跳動。「歸零」按鈕 =「航向歸零」積木;有「航向歸零」的範例,選它的時候模擬器會先歸零一次(就像程式剛開始)。韌體版本 102 是示意值。

每顆積木的範例

27 顆積木(含「MBC 共用」),每顆都有一組可以照著拼的範例(連接埠 2)。按「試試看」會切到第 3 步,右邊的積木和 mBot 會做的事會換成這個範例。

使用注意

  1. 擴展 v2 上架中:MBC Pro Sensors 擴展 v2.0.0 正在 Makeblock 擴展平台送審,上架後在 mBlock 5「擴展中心」搜尋「MBC」就能加入。感應器要是 MakeBlock 版、2026-10 之後的協定 v2 韌體;2026-10 以前的韌體要用舊版擴展 v1.0.0,新舊積木不能混用(用「協議版本」積木讀,回 2 就是新韌體)。詳見 MakeBlock 積木擴展。
  2. 讀不到時:選到不能用的連接埠、或感應器沒接好,讀值積木回傳 −32768(從開機到現在一次都沒讀到)或上一次讀到的值,程式不會停;「MBC 共用 → 連線正常?」會是「否」。先用它確認接線,再看數值。
  3. 對應的 Arduino 程式:右邊切到「對應的 Arduino 程式」,看到的是跟積木做同樣事情的 Arduino 程式(MBC_Sensors v2 函式庫,跟擴展同一份,加上 Makeblock 函式庫),每一個範例都實際編譯過(主板選 Arduino Uno)。函式庫怎麼裝見 MakeBlock 積木擴展。
  4. 方向:右轉航向變大、左轉變小,轉一圈 = 360,會一直累加(超過 360 不會回到 0)。右轉變小的話是感應器裝反了(上下顛倒)。
  5. 四種航向怎麼選:先用陀螺 3D 航向(任意角度安裝都準);開很久、要長距離不飄就用融合航向;附近有馬達、鐵製場地時磁力計會被干擾,用 3D 航向。磁力航向是相對值(歸零 = 0),不是指北。
  6. 歸零要靜止:開機和「航向歸零」那一下車子要完全不動,不然航向會慢慢飄。開機時板子的 X 軸要跟車頭同方向,俯仰角才是「車頭抬高幾度」。
  7. 角速度的正負:「轉向角速度」跟航向同方向(右轉為正);「角速度 z」是原始陀螺值,平放時右轉為負。「俯仰角速度」是繞板子 X 軸的陀螺值,不是俯仰角變化的快慢。