~組み立て、動作確認 編~
今回はM5StickC Plus(以下:M5Stick)を使った倒立台車キット「BALA-C PLUS」で遊んでいきたいと思います。
BALA-C PLUS 内容確認
まず初めに、キットの内容物を確認していきます。(ラバーバンド×2を撮り忘れました。。)
BALA-C PLUS 組み立て
添付のマニュアルに沿ってキットを組み立てていきます。
- 基盤の両面テープを剝がします。
- テープを剥がしたところにサーボを貼り付けます。
- サーボモータをラバーバンドで基盤に固定します。
- サーボモータのケーブルを基盤のピンに接続します。(ピンの向きに注意してください。)
- M5Stickを基盤に取り付け、ねじで固定します。
- ホイールコネクターを介して、サーボモータとホイールを接続します。
サーボはラバーバンドで固定しても多少グラつきますが、動作への影響はほとんどないので目を瞑りましょう。
動作確認
M5stickの開発環境は、UIFlow、MicroPython、Arduinoの3つがサポートされています。太っ腹ですね。しかも、UIFlowとArduinoではBalaC PLUSのサンプルコードが用意されているので、すぐに動作確認ができます。
m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Ar...
ファイルをGithubからダウンロードし、UIFlowで読み込みます。こんな感じ↓のブロック図になっています。
Pythonで見るとこんな感じのコードになっています。
from m5stack import *
from m5ui import *
from uiflow import *
lcd.setRotation(0)
import hat
setScreenColor(0xffffff)
balac = hat.get(hat.BALAC)
inc = None
label0 = M5TextBox(27, 34, "PRESS A", lcd.FONT_DejaVu18, 0xff0000, rotate=0)
title0 = M5Title(title="BALAC", x=46, fgcolor=0xFFFFFF, bgcolor=0xff0000)
label1 = M5TextBox(48, 109, "Text", lcd.FONT_DejaVu18, 0xff0000, rotate=0)
from numbers import Number
def buttonA_wasPressed():
global inc
inc = (inc if isinstance(inc, Number) else 0) + 1
if inc > 3:
inc = 0
pass
btnA.wasPressed(buttonA_wasPressed)
inc = 0
label1.setText('STOP')
while True:
if inc == 1:
label1.setText('FORW')
balac.set_motor_speed(1, 50)
balac.set_motor_speed(2, -50)
elif inc == 2:
balac.set_motor_speed(1, -50)
balac.set_motor_speed(2, 50)
label1.setText('BACK')
elif inc == 3:
balac.set_motor_speed(1, 50)
balac.set_motor_speed(2, 50)
label1.setText('OPPO')
else:
balac.stop_motor(1)
balac.stop_motor(2)
label1.setText('STOP')
wait_ms(2)
倒立台車のサンプルコードが入っているかと思いきや、ただサーボモータを回すだけのコードのようです。寂しいですね。
まとめ
今回はUIFlowを使ってBALA-C PLUSの動作確認まで行いました。次回はArduino環境のサンプルコード使って倒立台車として動かしてみたいと思います。
最後まで読んでいただきありがとうございました。
コメント