はじめに
TI の電卓のちょっとユニークなところとして、TI-Innovator™ HubやTI-Innovator™ Roverなどで電子工作っぽいことやロボット制御ができます。
その中でも、比較的安価に取り組みやすい micro:bit との連携機能を試してみます。micro:bitと連携できれば、TI-84 Plus CE Python から micro:bit をリモートコントロールしたり、micro:bit に繋いだセンサーの値を TI-84 Plus CE Python に取り込んでグラフ表示できたりします。
micro:bit ファームウェアの更新
こちらのサイトで BBC microbit files and documents_CE_Python.zip
をダウンロードして展開します。micro:bit のバージョンにより、次の展開後のファイルを micro:bit にインストールします。インストール方法は、いつもどおり、micro:bitをUSBケーブルでPCに繋いでマウントされるストレージにファイルをコピーするだけです。
- micro;bit V1:
Use on Version 1 microbit Card/TI_Runtime/ti_runtime_1.0.0.hex
- micro:bit V2:
Use on Version 2 microbit Card/TI_Runtime/ti_runtime_3.2.0.hex
インストールが終わると、micro:bit のマトリックス LED が TI のロゴっぽく点灯します。
mico:bit用アドオンのインストール
micro:bit のバージョンにより、次のファイルを TI-84 Plus CE Python にインストールします。インストールは TI Connect CE のファイル一覧画面にドラッグ&ドロップするだけです。
- micro;bit V1:
Use on Version 1 microbit Card/Modules-version 1.0.0/*.8xv
- micro:bit V2:
Use on Version 2 microbit Card/Modules 2.1.0/*.8xv
TI-84 Plus CE Pythonとの接続
micro:bit との接続には Micro USB-B to USB mini-B の USB OTG ケーブルが必要とのことですが、TI-84 Plus CE Python には付属していません。なので、Amazon で探してこちらを購入しました。
今回、micro:bit V2 に Grave のアダプターを用いて、Grave の Ultrasonic Ranger を繋いでみました。
スクリプト
次のスクリプトは、micro:bit から Ultrasonic Ranger の値を取り込んで、ti_plotlib でグラフ表示するスクリプトです。
import ti_plotlib as plt
from ti_system import *
from microbit import *
from mb_grove import *
from mb_pins import *
plt.cls()
plt.window(-1,10,-10,100)
plt.grid(1,10,"dash")
plt.axes("on")
plt.labels("sec","cm",11,3)
plt.title("X vs Time Motion Graph")
plt.color(255,0,0)
for i in range(40):
d=grove.read_ranger_cm(pin0)
t=i*.25
sleep(250)
plt.plot(t,d,"o")
plt.show_plot()
実行結果です。きちんと Ultrasonic Ranger の値が取り込めてます。