# マイクロゲームパッド (micro: Game Pad for micro:bit) 利用マニュアル




# 1. 本ドキュメントの目的


  • マイクロゲームパッド (micro: Game Pad for micro:bit) の概要説明
  • マイクロゲームパッド (micro: Game Pad for micro:bit) の仕様説明
  • マイクロゲームパッド (micro: Game Pad for micro:bit) に関する利用方法の説明


# 2. 概要


マイクロゲームパッド(micro: Game Pad for micro:bit)は、DFRobot社が提供しているマイクロビット(micro:bit)用リモートコントローラです。

マイクロビット(micro:bit)の無線通信機能を利用して、マイクロマクイーン(micro:Maqueen)をはじめとする各種ロボット、ロボットカーをリモートコントロールすることが可能です。

電池ボックス(単4電池×2)がオンボードなので、携帯しやすく、電池の脱着もしやすいです。

micro:GamePad V3.0は、高精度のアナログジョイスティックを採用しています。ジョイスティックとゲームパッドの組み合わせにより、Maqueenなどのロボットカーの方向と速度を同時にコントロールすることができます。さらに、7つのプログラム可能なボタンがありますので、より面白い機能や、より柔軟な操作性を追求することができます。

 マイクロゲームパッド(micro: Game Pad for micro:bit)


# 3. 購入方法



本製品は、当社ウェブストアにてご購入が可能です



当社はmicro:bit及びDFRobotの公認正規販売店です。
国内のmicro:bit利用推進を行っております。

micro:bit専門ストア「イフティニー ストア(iftiny store)」 (opens new window)にて、各種micro:bit関連製品の販売をしております。

micro:bit専門ストア (opens new window)




# 4. 特徴・仕様


  • 2軸(X-Y)がプログラミング可能なアナログジョイスティックで、ロボットカーの方向と速度を同時に制御できる。

micro:Game Padのジョイスティック

  • 6つのボタンがプログラミング可能

micro:Game Padのボタン micro:Game Padのボタン

  • ブザー、振動モーター、LEDを搭載

micro:Game Padのブザー、振動モーター、LED



  • 上下にアクリルで保護し、安全に使用でき、快適に扱える

micro:Game Padの利用イメージ




# 5. 規格・付属品



項目 詳細
型番 PPDF-DFR0536
電圧 3V DC (単4形電池2本)
ジョイスティック アナログ2軸(X:P1 Y:P2)
デジタル1軸 (Z:P8)
LEDと振動モーター P12
オンボードブザー P0
ボタン(KEY) A(A)、B(B)、C(P13)、D(P14)、E(P15)、F(P16)、Z(P8)( ジョイスティック)
サイズ 148mm x 57mm
重量 91g(袋を含む)



# 6. 物理概要



micro:Game Padの物理概要




# 7. 利用方法




# micro:Game Pad(マイクロゲームパッド)を使って、micro:Maqueen(マイクロマクイーン)をコントロール



本利用方法の説明では、micro:Game Pad(マイクロゲームパッド)を使って、micro:Maqueen(マイクロマクイーン)をコントロールする方法を説明します。



参考:micro:Maquenn(マイクロマクイーン)は、当社ウェブストアにてご購入が可能です



当社はmicro:bit及びDFRobotの公認正規販売店です。
国内のmicro:bit利用推進を行っております。

micro:bit専門ストア「イフティニー ストア(iftiny store)」 (opens new window)にて、各種micro:bit関連製品の販売をしております。

micro:bit専門ストア (opens new window)




# 動作イメージ

micro:bit用ゲームパッド(micro:GamePad)のジョイスティックを使って、マイクロマクイーン (micro:Maqueen)をラジコンのように動かします。

ROB0148 Micro:Maqueen 無線ゲームパットでのコントロール プログラム 動作イメージ
※ 本イメージ動画は旧モデルのマイクロゲームパッドです。


注意事項

  • マイクロマクイーン (micro:Maqueen)とマイクロゲームパッド(micro:GamePad)には、それぞれ1枚のマイクロビット(micro:bit)を挿入する必要があります。
  • それぞれのマイクロビット(micro:bit)に対してプログラミングする必要があります。
  • マイクロマクイーン (micro:Maqueen)側のパッケージのインポートは、「8.1. Makecode用パッケージをインポート」の記載の通りで可能です。
  • マイクロゲームパッド(micro:GamePad)側は、古いバージョンのパッケージしか用意されていないため、MekeCodeのブロックを使ってプログラミングします。

# MakeCodeプログラミング例(ブロック)


# マイクロマクイーン (micro:Maqueen)側




# マイクロゲームパッド(micro:GamePad)側




# MakeCodeプログラミング例(JavaScript)


# マイクロマクイーン (micro:Maqueen)側
radio.setGroup(1)
let remoteControlTransmissionData = ""

radio.onReceivedString(function (receivedString) {
    remoteControlTransmissionData = receivedString
    if (remoteControlTransmissionData == "S") {
        maqueen.motorStop(maqueen.Motors.All)
        basic.showString("S")
    } else if (remoteControlTransmissionData == "F") {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 255)
        basic.showString("F")
    } else if (remoteControlTransmissionData == "B") {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 255)
        basic.showString("B")
    } else if (remoteControlTransmissionData == "L") {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
        basic.showString("L")
    } else if (remoteControlTransmissionData == "R") {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
        basic.showString("R")
    } else {
        maqueen.motorStop(maqueen.Motors.All)
    }
})




# マイクロゲームパッド(micro:GamePad)側
radio.setGroup(1)
basic.forever(function () {
    if (pins.analogReadPin(AnalogPin.P2) > 550 && (pins.analogReadPin(AnalogPin.P1) > 400 && pins.analogReadPin(AnalogPin.P1) < 600)) {
        radio.sendString("F")
        basic.showString("F")
    } else if (pins.analogReadPin(AnalogPin.P2) < 450 && (pins.analogReadPin(AnalogPin.P1) > 400 && pins.analogReadPin(AnalogPin.P1) < 600)) {
        radio.sendString("B")
        basic.showString("B")
    } else if (pins.analogReadPin(AnalogPin.P1) < 450 && (pins.analogReadPin(AnalogPin.P2) > 400 && pins.analogReadPin(AnalogPin.P2) < 600)) {
        radio.sendString("L")
        basic.showString("L")
    } else if (pins.analogReadPin(AnalogPin.P1) > 550 && (pins.analogReadPin(AnalogPin.P2) > 400 && pins.analogReadPin(AnalogPin.P2) < 600)) {
        radio.sendString("R")
        basic.showString("R")
    } else {
        radio.sendString("S")
        basic.showString("S")
    }
})




# MakeCodeプログラミング例(python)

# マイクロマクイーン (micro:Maqueen)側
radio.set_group(1)
remoteControlTransmissionData = ""

def on_received_string(receivedString):
    global remoteControlTransmissionData
    remoteControlTransmissionData = receivedString
    if remoteControlTransmissionData == "S":
        maqueen.motor_stop(maqueen.Motors.ALL)
        basic.show_string("S")
    elif remoteControlTransmissionData == "F":
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 255)
        basic.show_string("F")
    elif remoteControlTransmissionData == "B":
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 255)
        basic.show_string("B")
    elif remoteControlTransmissionData == "L":
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
        basic.show_string("L")
    elif remoteControlTransmissionData == "R":
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
        basic.show_string("R")
    else:
        maqueen.motor_stop(maqueen.Motors.ALL)
radio.on_received_string(on_received_string)




# マイクロゲームパッド(micro:GamePad)側
radio.set_group(1)

def on_forever():
    if pins.analog_read_pin(AnalogPin.P2) > 550 and (pins.analog_read_pin(AnalogPin.P1) > 400 and pins.analog_read_pin(AnalogPin.P1) < 600):
        radio.send_string("F")
        basic.show_string("F")
    elif pins.analog_read_pin(AnalogPin.P2) < 450 and (pins.analog_read_pin(AnalogPin.P1) > 400 and pins.analog_read_pin(AnalogPin.P1) < 600):
        radio.send_string("B")
        basic.show_string("B")
    elif pins.analog_read_pin(AnalogPin.P1) < 450 and (pins.analog_read_pin(AnalogPin.P2) > 400 and pins.analog_read_pin(AnalogPin.P2) < 600):
        radio.send_string("L")
        basic.show_string("L")
    elif pins.analog_read_pin(AnalogPin.P1) > 550 and (pins.analog_read_pin(AnalogPin.P2) > 400 and pins.analog_read_pin(AnalogPin.P2) < 600):
        radio.send_string("R")
        basic.show_string("R")
    else:
        radio.send_string("S")
        basic.show_string("S")
basic.forever(on_forever)


# MakeCodeプログラミング例のQRコード

# マイクロマクイーン (micro:Maqueen)側

ROB0148 Micro:Maqueen 無線ゲームパットでのコントロール マイクロマクイーン側 プログラムサンプル QRコード

# マイクロゲームパッド(micro:GamePad)側

ROB0148 Micro:Maqueen 無線ゲームパットでのコントロール マイクロゲームパッド側 プログラムサンプル QRコード




Last Updated: 10/4/2023, 6:22:02 AM