M5stick(BALA-C PLUS)で学ぶ倒立台車

BALA-C PLUS 電子工作
BALA-C PLUS BOX

~組み立て、動作確認 編~

今回はM5StickC Plus(以下:M5Stick)を使った倒立台車キット「BALA-C PLUS」で遊んでいきたいと思います。

BALA-C PLUS 内容確認

まず初めに、キットの内容物を確認していきます。(ラバーバンド×2を撮り忘れました。。)

BALA-C PLUS 組み立て

添付のマニュアルに沿ってキットを組み立てていきます。

組み立てマニュアル
  1. 基盤の両面テープを剝がします。
  2. テープを剥がしたところにサーボを貼り付けます。
  3. サーボモータをラバーバンドで基盤に固定します。
  4. サーボモータのケーブルを基盤のピンに接続します。(ピンの向きに注意してください。)
  5. M5Stickを基盤に取り付け、ねじで固定します。
  6. ホイールコネクターを介して、サーボモータとホイールを接続します。

サーボはラバーバンドで固定しても多少グラつきますが、動作への影響はほとんどないので目を瞑りましょう。

動作確認

M5stickの開発環境は、UIFlowMicroPythonArduinoの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環境のサンプルコード使って倒立台車として動かしてみたいと思います。

最後まで読んでいただきありがとうございました。

コメント