2017年7月11日 星期二

如何使用 mBlock 與 Arduino Esplora 互動

一、前言

在筆者文章一文:在 S4A 軟體上玩 Arduino Esplora有試過一些S4A的軟體,當初不知道怎麼用 mBlock 來與 Arduino Esplora 完整互動,就在最近在網路上找到了一些資訊,製作出可在 mBlock 的積木指令。

二、相關知識

因為 Esplora 上有多種感測器與硬體裝置(見下圖,圖取自Arduino官網)

於是 Esplora 在硬體設計上使用多工器(型號為74HC4067DB)來處理,所以只要能對這個多工器做高低電位的訊號輸入,就能得到對應感測器的數值(見下圖),例如要得到A-TEMP溫度的數值,就要對多工器輸入0110 (低高高低)的電位訊號,再從A4類比腳位讀取數值。


所幸在 Scratch 中,可以利用腳位 18 到腳位 21 分別來控制類比腳位A0到A3,那麼在mBlock中讀取Esplora上的溫度之積木程式要怎麼做呢?下圖為參考做法。

上圖中溫度的轉換公式適從Arduino IDE 中 Esplora程式庫查來的,轉換的結果單位為攝氏。

三、mBlock 積木程式

根據以上資訊我們就可以製作出給 mBlock 使用的積木程式指令了。

在使用之前,記得將控制板選 Arduino Leonardo,並且更新 Esplora 板子的韌體為 mBlock 所使用的版本。



參考資料: