chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

maqueenの情報を集める

背景と課題:2025年度教材はLEGO用なのでLEGOを使う必要がある。事務所にしかLEGOがなく試作がなかなかできない
取り組み:LEGOよりも安くて手軽に使えそうなmaqueenでモデル開発を行う
詳細:
数年前、Maqueen を衝動買いしたけど全くプログラミングしていなかった。プログラムはMicroPythonで行いたいのだが、モータ制御をどうやって行うのか全く不明。ちょっと調べるとI2Cでモータドライバを制御できるらしい。だが、I2Cから叩けるコマンドが不明である。
■追記
MicroPython用ドライバを公開してくれている人がいてそのコードを読むとモータ制御用のI2Cコマンドが定義されている。そもそもこの情報はどこから入手されたのだろうか。。
■追記
モータを動かすにはmicro:bitのバスのi2cのSCL/SDAを使う(P19,P20)。I2Cでモータを制御する例は以下
micromaqueen-python/maqueen.py at master · krzysztof-sawicki/micromaqueen-python · GitHub
より引用

def set_motor(self, motor, value):
		"""
		Controls motor
		motor: 0 - left motor, 1 - right motor
		value: -255 to +255, the sign means direction
		"""
		data = bytearray(3)
		if motor == 0:  # left motor
			data[0] = 0
		else:
			data[0] = 2  # right motor is 2
		if value < 0:  # ccw direction
			data[1] = 1
			value = -1*value
		data[2] = value
		microbit.i2c.write(0x10, data, False)  # 0x10 is i2c address of motor driver

■参考資料

12月 | 2021 | macsbug
micro: Maqueen micro:bit Educational Programming Robot Platform WIKI
micropython-MaqueenPlusV2/maqueenplusv2.py at main · jdonwells/micropython-MaqueenPlusV2 · GitHub
maqueen/maqueen.py at main · kholm777/maqueen · GitHub
Micro:Maqueen × Python – 生源寺研究室
micro: Maqueen の解析 – omonuinen
micromaqueen-python/maqueen.py at master · krzysztof-sawicki/micromaqueen-python · GitHub

MaqueenのI2Cアドレス等
Adresse registres I2C