在 mBlock 的「機器人模塊」中,有個「Makeblock」區塊,當中的程式積木主要是配合 Makeblock 的 Me-Baseboard 與搭配之模組,之前在〈mBlock & Arduino(12)使用超音波感應器測量距離〉中曾試著找出 Me-Baseboard 的連接埠腳位對應,讓 HC-SR04 可以運用「超音波感應器」方塊。
使用 Me-Baseboard?
不過,並不是每個非 Makeblock 模組都可以這麼做,因為 Makeblock 模組上還是會有其特定電子電路設計,搭配 Me-Baseboard,以便與 mBlock 的「Makeblock」區塊中各程式積木搭配,這是要不要使用 Me-Baseboard 的一個考量。
是否使用特定開發板、感應器或電路模組,基本上就是考量便利性與相容性,實際上,Kickstarter 上出現過幾個類似的集資案,大多強調無需自行連接電路的便利性(無論是透過 RJ 接頭、USB 或者是積木疊接等來連接電路模組或感應器),然而,便利性通常就會多少損及相容性,若使用了太特定的板子,就無法搭配其他廠牌的模組,或者是用了太特定的模組,這些模組也無法直接用在通用的 Arduino Uno 等版子上。
使用了 mBlock,想要善用「Makeblock」區塊中各程式積木,目前來說,勢必是要搭配 Me-Baseboard 與相關模組,那麼,Me-Baseboard 與相關模組是不是只能使用 mBlock 來撰寫程式驅動?Me-Baseboard 是不是可以接其他模組? Makeblock 模組是不是可以直接用在 Arduino Uno 等板子上?自然就是必須考量的事了!
認識 Me-Baseboard
在 Me-Baseboard 中,列出了 Me-Baseboard 的規格說明,我手邊現在有塊 Baseboard Orion,就來仔細研究一下好了:
首先最明顯可見的,就是 Baseboard Orion 上有 1 到 8 個 RJ25 連接埠,上面各有各的顏色,這些顏色主要是告訴你,可以連接的模組有哪些,而 Makeblock 的模組上,都有顏色標示,你可以在 Electronic Modules 看到,各個感應器與模組,都有顏色貼紙標示,照著接就對了!例如,PIR 感應器上標有藍色,可以接的連接埠就是標有藍色的 3 到 6:
當然,這不是我們想要探討的,我們關心的是,這片板子可以接非 Makeblock 模組嗎?因為連接埠都是 RJ25 接頭,基本上,只要知道 RJ25 接頭的每根線各對應至哪個腳位,將其他電路模組透過電線,硬是塞進去是可以的(我已經試過了 XD),如果將電路板翻過來,也可以看到焊接腳位上,都有標示對應的腳位:
使用 Me RJ25 轉接器
當然,將電線硬是塞進 RJ25 連接埠實在太苦手了,可以自己將感應器模組等與 RJ25 接頭連接在一起,或者是使用 Makeblock 現成的 Me RJ25 轉接器:
從照片可以看到,左邊連接埠的腳位對應,以及右邊的插孔對應,另外還有最右邊兩個白色的 SLOT1 與 SLOT2,SLOT1 的針腳從上而下是 S1、VCC、GND,SLOT2 的針腳從上而下是 S2、VCC、GND,SLOT1 與 SLOT2 的 VCC 是連接在一起的,GND 也是,將轉接器翻過來,也可以直接看到腳位標示:
因此,你只要知道連接埠腳位對應,透過 RJ25 轉接器,就可以連接大多數的模組,例如,試著直接使用〈mBlock & Arduino(12)使用超音波感應器測量距離〉中的 HC-SR04:
按照上圖連接,執行〈mBlock & Arduino(12)使用超音波感應器測量距離〉中第一個程式,就可以透過 HC-SR04 量得距離了。
Arduino Uno 使用 Me 模組
那麼,要在 Arduino Uno 中使用 Me 模組呢?在上頭的 PIR 感應器照片中,左下角可以看到可外接線路的插孔,每個 Me 模組都有相應的插孔,如此就可以自行連接線路至 Arduino Uno 上了,例如,將 Me 超音波感應器接至 Arduino Uno 上:
雖然 RJ25 轉接器顏色標示為藍、黃、灰,對應的連接埠必須是 5 號,不過,實際上我們只會用到 VCC、GND 與兩個數位腳位,因此,3 號連接埠也可以;因為是使用 Me 超音波感應器,所以,程式撰寫時,只要直接使用「超音波感應器」方塊就可以了:
Makeblock 程式庫
那麼,一定要用 mBlock 嗎?知道了以上 Me Baseboard、Makeblock 模組、非 Makeblock 模組、Arduino Uno 等之間如何互通,基本上,都可以直接使用 Arduino IDE 寫程式,對於 Me 模組的部份,如果能瞭解它們各是如何驅動是更好,不過,也可以使用 Makebloock 程式庫,這些程式庫也都隨附在 mBlock 各版本之中,只要執行「串口連接/查看源代碼」,就可以找到,實際上,之前的文章中,也有帶過幾個程式庫中的函式如何閱讀程式碼了,以後有機會的話,再來另起一個系列文章,談談如何使用 Arduino IDE 吧!