ぴろ田のプログ

なんか作ってみたいオッサンのブログです。VRやVTuber、ASMRに興味があります。

M5Stack Facesを入手しました。ゲームパッドの入力を得るには?

以前、M5Stack Go (IoT Starter Kit)を入手したのですが、入力がボタン3つしかないので、もっとゲームっぽい入力インターフェイスが欲しいなと思っていました。

M5GO IoTスターターキット

M5GO IoTスターターキット

 

そんな時に、PCキーボード風、ゲームボーイ風、電卓風の入力パッドがついた「M5Stack Faces」が値下げされ、欲望のままにホイホイと手に入れてしまいました。
(自分はスイッチサイエンスから購入)

www.switch-science.com

M5Stack Faces(9軸IMU搭載、各種カバー付き)

M5Stack Faces(9軸IMU搭載、各種カバー付き)

 

f:id:pirota_pirozou:20190817014147j:plain

パッケージ

スイッチオン!

f:id:pirota_pirozou:20190817014244j:plain

MicroPythonは知りません

手始めに、お約束のHello, World! そこまではいい。

f:id:pirota_pirozou:20190817014346j:plain

Hello, World!

まずはゲームパッドの入力を取得したいと思いましたが、M5Stack公式サンプルを見ても、キーボード入力のサンプルしかありません。ぐぐってぐぐってぐぐりましたが、その方法のヒントが見つかりませんでした。

しかし、気が付いてみればたわいのないことで、公式サンプルのキーボード入力でそのままパッド入力が取得できました

具体的には、GitHub上の公式サンプルの、

github.com


で、普通のキーボードと同じように取れます。戻り値は負論理です。

A=0xEF(0x10)
B=0xDF(0x20)
UP=0xFE(0x01)
DOWN=0xFD(0x02)
LEFT=0xFB(0x04)
RIGHT=0xF7(0x08)
SELECT=0xBF(0x40)
START=0x7F(0x80)
KEYOFF=0xFF

となります。これでゲームが作れますね!

f:id:pirota_pirozou:20190817015052j:plain

試行錯誤のあとです。

私はIoT/電子工作ど素人、ど初心者ですが、この記事が何かのお役に立てば幸いです。