続・STマイクロの無料IoT端末開発ボードでMicroPython


★この記事はMicroPython Advent Calendar 2018に参加しています。★

前回に続き、今度はB-L475E-IOT01Aの加速度センサとUSB OTGを使って、MicroPythonでポインティングデバイスを作ってみました。

加速度センサの読み取りは、MicroPythonのドライバが以下にありましたので、これを使わせていただきます。

micropython_B_L475E_IOT01A/lib.py at master · Vjmorrison/micropython_B_L475E_IOT01A

マウスボタンはB-L475E-IOT01Aのユーザスイッチ(青色のボタン)を使用します。
pybモジュールのSwitchクラスを使い、value()でオンオフを読み取れます。

USBデバイスの機能は、ボードの真ん中のほうのUSBコネクタを使用します。
従って、PCにはST-Link用とUSBデバイス用の2つのUSBケーブルで接続することになります。

NUCLEOボード+MicroPythonでUSB HIDデバイスを作るための設定作業は以前の記事でも書いたことがありますので省略しますが、

・pybcdc.infファイルを使ってドライバをインストールする
・boot.pyを編集して’VCP+HID’モードを有効にする

の2つが必要です。
詳しくは上記の記事を参照してください。

以上を組み合わせただけで、ボードの傾きで入力できるマウスが完成します。
コードは以下になります。

最後の行の「mousetest(10000,10)」は最初の10000がループの回数、10がループ一回あたりの時間(msec)です。

このコードをコピーして、MicroPythonのペーストモードで貼り付ければB-L475E-IOT01Aがマウスになります。

最後の行の「mousetest(10000,10)」の最初の10000がループの回数、10がループ一回あたりの時間(msec)です。

コメント