# マイクロマクイーン ( micro:Maqueen ) の概要、詳細仕様及び利用方法




本ドキュメントは、マイクロマクイーン ( micro:Maqueen ) の概要、特徴、利用方法について説明します。
また、初めてマイクロマクイーンを利用する際に、必要な機材や事前準備などの利用方法を記載しています。
中上級者向けでは、マイクロマクイーンの詳細仕様情報も確認できます。



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


  • マイクロマクイーン ( micro:Maqueen ) の概要説明
  • マイクロマクイーン ( micro:Maqueen ) の仕様説明
  • マイクロマクイーン ( micro:Maqueen ) に関する利用方法の説明



# 2. マイクロマクイーン ( micro:Maqueen ) の概要


マイクロマクイーン ( micro:Maqueen ) は、DFRobot社が提供しているマイクロビット (micro:bit) 用ロボットカーです。
簡単にマイクロビット (micro:bit) をロボットカーに装着できるため、マイクロビット (micro:bit) を利用するプログラミング教育や学習では、最も利用しやすいロボットの一つです。
単体だけでも多彩な実装ができるが、連携できる追加パーツが多く、飽きないプログラミング学習が可能。 また、単4型乾電池を利用して動作するので、学校やご家庭でも扱いやすいロボットです。
機体に多くの拡張コネクターを用意しているので、電池電源で動作可能な拡張ボードとしても利用が可能です。

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




# 3. マイクロマクイーン ( micro:Maqueen ) のご購入


当社マイクロビット(micro:bit)専門ウェブショップ「イフティニー ストア(iftiny store)」 (opens new window)にてお求めいただけます。
※ 当社はDFRobot社公認の国内正規販売店です。 micro:bit専門ストア (opens new window)


# 4. ママイクロマクイーン ( micro:Maqueen ) の特徴・仕様


  • 小型
    小型で専用にボックスに収納することで管理もしやすい。

  • パワフル
    全金属製のミニチュア・ギア・モーターを採用しており、良質で強い駆動力を供給。

  • 豊富な機能
    機体にライントレーサー、ブザー、赤外線受信機、LEDライト、RGB LEDライト、超音波距離センサーを備えている。

  • 豊富な拡張性
    機体にI2Cインタフェース、I/O拡張インタフェース、サーボ用拡張インターフェース、拡張するためのネジ穴を備えている。

  • 追加拡張パーツ
    メカニックパーツ - フォークリフト (micro:Maqueen Mechanic - Forklift)
    メカニックパーツ - クワガタ (micro:Maqueen Mechanic - Beetle)
    メカニックパーツ - ブルドーザー (micro:Maqueen Mechanic - Push)
    メカニックパーツ - ローダー (micro:Maqueen Mechanic - Loader)

  • Makecodeに対応
    Makecodeを使ってプログラミンが可能なため、ビジュアルプログラミングやPython、Javascriptに対応。

  • 簡単な組み立て
    簡単に組み立てが可能なため、子供のプログラミング教育でも利用可能。

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




# 5. マイクロマクイーン ( micro:Maqueen ) の規格


項目 個数 詳細
型番 PPDF-ROB0148
電圧 3.5V 〜 5V
単4乾電池、または3.7Vリチウム電池
ライントレーサー
(赤外線グレースケールセンサー)
2 High-Lowレベル
ブザー 1 簡易的なスピーカーとして利用可能
LEDライト 2 High-Lowレベルコントロール
RGB LEDライト 4 1600万色
超音波距離センサー
(SR04、SR04P超音波インタフェース)
1 5V
I2C インタフェース 1 3.3 V
I/O 拡張インタフェース 2 Gravity拡張インタフェース P1、P2
サーボ 拡張インターフェース 2 サーボポート S1、S2
金属製ギアモーター 2 【モーター減速比 】
 1 : 150
【最高回転速度】
 133 rpm
【モータードライブモード】
 PWM モータードライブ
拡張するためのネジ穴 6 M3ネジ穴
寸法 81 x 85 x 44mm(micro:bit含まない)
重量 218g(収納ボックスを含む)
製品パッケージ 165 x 125 x 60mm(目安)
プログラミング方法 Makecode、Mind+(Scratch 3.0ベース)

マイクロマクイーン ( micro:Maqueen ) の付属品 マイクロマクイーン ( micro:Maqueen ) の付属品




# 6. マイクロマクイーン ( micro:Maqueen ) の付属品


項目 個数
車体
マイクロ マクイーン(micro: Maqueen) メインボード
1
車輪(ホイールとタイヤ) 2
電池ボックス (単4型電池×3) 1
超音波センサー 1
クイックスタートガイド 1

※ マイクロビット (micro:bit) を付属しておりません。 ※ マイクロ マクイーン(micro: Maqueen)をご利用するには、micro:bitを別途ご購入する必要がございます。 ※ 単4型電池×3をを別途ご購入する必要がございます。

マイクロマクイーン ( micro:Maqueen ) の付属品 マイクロマクイーン ( micro:Maqueen ) の付属品


# 7. マイクロマクイーン ( micro:Maqueen ) の組立方法


No. 画像                                    手順 確認
01 ステップ1: 車輪の装着 マイクロマクイーン ( micro:Maqueen ) 車体に二つの車輪を装着。 モータの金属棒は丸では無いため、平の面がタイヤの装着穴に合うように装着してください。
02 ステップ2: 電池ボックスの固定 電池ボックスのコネクターを車体の電源用コネクター装着。
同梱の両面テープを電池ボックスの底面に貼り付けてから、車体の左右のモーターの上に固定。
コネクターに方向があるため、ご注意ください。
電池ボックスの貼り付けは、車体の電源ボタンやマイクロビットの装着に影響しない位置に行ってください。
03 ステップ3: マイクロビットの装着 マイクロビット (micro:bit) を車体の差込み口に装着。 マイクロビットの正面を前に向くように装着してください。
04 ステップ4: 超音波距離センサーの装着 超音波距離センサーを車体前端にあるコネクターに差し込んでください。 センサーの正面を前に向くように装着してください。



# 8. マイクロマクイーン ( micro:Maqueen ) のチュートリアル


本チュートリアルでは、例として、MakeCodeを利用してプログラミングの方法を説明します。
すべてのプログラミングは、マイクロマクイーン (micro:Maqueen)及び追加機材に装着するマイクロビット (micro:bit)に対して行います。
プログラムをダウンロード済みのマイクロビット (micro:bit)をマイクロマクイーン (micro:Maqueen)及び追加機材に装着することで、動作コントロールが可能になります。

※ 本説明は、MakeCodeを使ってmicro:bitのプログラミング経験があるユーザを想定しています。
※ MakeCodeを使ってのmicro:bitプログラミングを経験していない方は、当社ドキュメント「1.2. micro:bitの利用方法」 (opens new window)の各ドキュメントをご確認ください。
※ 本説明は、micro:bit v2の利用を前提としています。


# 8.1. Makecode用ライブラリをインポート


No. 画像                                    手順 確認
01 ROB0148-programming-001 Google Chromeを開き、https://makecode.microbit.org/ (opens new window)にアクセス。 makecodeのmicro:bit用画面が表示される。
02 ROB0148-programming-002 新しいプロジェクトをクリック。 プロジェクトの名前を入力するウィンドウが表示される。
03 ROB0148-programming-003 プロジェクトの名前に「初めてのマイクロマクイーン」を入力し、「作成」ボタンをクリック。 プロジェクトを作成。
04 ROB0148-programming-004 MakeCodeでプロジェクト「初めてのマイクロマクイーン」の画面が表示される。デフォルトでは、ブロック(ビジュアルプログラミング)モードとなっている。 プロジェクト名を確認して、この画面でプログラミングを行なっていく。
05 ROB0148-programming-005 ブロックエリアの「高度なブロック」を選び、折り畳んでいるメニューを表示。 「拡張機能」が表示される。
06 ROB0148-programming-006 「拡張機能」をクリック。 「拡張機能」の検索画面が表示される。
07 ROB0148-programming-007 検索バーで以下を検索
「https://github.com/DFRobot/pxt-maqueen」
08 ROB0148-programming-008 「maqueen」が表示される。
検索結果の「maqueen」をクリックしてダウンロード。
09 ROB0148-programming-009 プロジェクト「初めてのマイクロマクイーン」の画面に戻り、ライブラリがインポートされたことを確認。 メニューに「Maqueen」が追加されたことを確認。
10 ROB0148-programming-010 「Maqueen」をクリック。 「Maqueen」に専用ブロックが利用可能になったことを確認。






# 8.2. モーターのコントロール

# 目標

マイクロマクイーン (micro:Maqueen)の金属製ギアモーターをコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-micro-maqueen-motor-programming-221 モーターコントロール用ブロック 車体の前進・後退・左折・右折・停止及びスピードをコントロール

・ 対象モーターの選択:左、右、すべて
・ 回転方向:前、後
・ スピード:0〜255
02 ROB0148-micro-maqueen-motor-programming-222 モーター停止用ブロック 車体の前進・後退・左折・右折・停止及びスピードをコントロール

※ 「モーターコントロール用ブロック」のスピードを「0」に設定するのと同機能

・ 対象モーターの選択:左、右、すべて



# 動作イメージ

以下の流れでマイクロマクイーン (micro:Maqueen)の車体を動かす。

  • 車体前進1秒
  • 右折1秒
  • 左折1秒
  • 後退1秒
  • 後退且つ右折1秒

ROB0148 Micro:Maqueen モーター コントロール プログラム 動作イメージ


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





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

basic.forever(function () {
    maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 255)
    basic.pause(1000)
    maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
    maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    basic.pause(1000)
    maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
    maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
    basic.pause(1000)
    maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 255)
    basic.pause(1000)
    maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CCW, 255)
    maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CCW, 0)
    basic.pause(1000)
})



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

def on_forever():
    maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 255)
    basic.pause(1000)
    maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
    maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    basic.pause(1000)
    maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
    maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
    basic.pause(1000)
    maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 255)
    basic.pause(1000)
    maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CCW, 255)
    maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CCW, 0)
    basic.pause(1000)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen モーター コントロール プログラムサンプル QRコード





# 8.2. RGB LEDライトのコントロール

# 目標

マイクロマクイーン (micro:Maqueen)のRGB LEDライト(底面4つ)をコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# ライブラリのインポート

RGB LEDライトのコントロールは、外部ライブラリ(Neopixel)を利用します。
「8.1. Makecode用ライブラリをインポート」でマイクロマクイーン(micro:Maqueen)のライブラリをインポートした後、 同じ方法で「Neopixel」を検索し、ライブラリをインポートしてください。
インポート後、MakeCodeのプロジェクトのメニューにNeopixelのブロックが追加されます。




# 動作イメージ

マイクロマクイーン(micro:Maqueen)の底面にある4つのRGB LEDライトは、グラデーション効果で様々な色を光らせます。

ROB0148 Micro:Maqueen RGB LEDライト コントロール プログラム 動作イメージ


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





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

let B = 0
let G = 0
let R = 0
let strip = neopixel.create(DigitalPin.P15, 4, NeoPixelMode.RGB)
basic.forever(function () {
    R = 0
    G = 0
    G = 0
    for (let index = 0; index < 255; index++) {
        R += 1
        B += -1
        strip.showColor(neopixel.rgb(R, G, B))
        basic.pause(1)
    }
    for (let index = 0; index < 255; index++) {
        G += 1
        R += -1
        strip.showColor(neopixel.rgb(R, G, B))
        basic.pause(1)
    }
    for (let index = 0; index < 255; index++) {
        B += 1
        G += -1
        strip.showColor(neopixel.rgb(R, G, B))
        basic.pause(1)
    }
})



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

B = 0
G = 0
R = 0
strip = neopixel.create(DigitalPin.P15, 4, NeoPixelMode.RGB)

def on_forever():
    global R, G, B
    R = 0
    G = 0
    G = 0
    for index in range(255):
        R += 1
        B += -1
        strip.show_color(neopixel.rgb(R, G, B))
        basic.pause(1)
    for index2 in range(255):
        G += 1
        R += -1
        strip.show_color(neopixel.rgb(R, G, B))
        basic.pause(1)
    for index3 in range(255):
        B += 1
        G += -1
        strip.show_color(neopixel.rgb(R, G, B))
        basic.pause(1)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen RGB LEDライト コントロール プログラムサンプル QRコード





# 8.3. LEDライトのコントロール




# 目標

マイクロマクイーン (micro:Maqueen)の前面LEDライトをコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-LED-Light-Control-241 LEDライトのコントロール用ブロック 車体の前方にある2つのLEDライトをコントロール

・ 対象LEDライトの選択:左、右
・ 動作:つける、消す



# 動作イメージ

マイクロビット(micro:bit)のAボタンを押すと、 車体前方にある左右2つのLEDは、0.5秒の間隔で交互に点滅します。点滅するLEDに合わせて、ブザーで2種類の音を出します。
マイクロビット(micro:bit)のBボタンを押すと、LED点滅とブザーが止まります。

ROB0148 Micro:Maqueen LEDライト コントロール プログラム 動作イメージ


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





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

let Loop_switch = 0
input.onButtonPressed(Button.A, function () {
    Loop_switch = 1
})
input.onButtonPressed(Button.B, function () {
    Loop_switch = 0
})
basic.forever(function () {
    if (Loop_switch == 1) {
        maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOn)
        maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOff)
        music.playTone(262, music.beat(BeatFraction.Whole))
        basic.pause(500)
        maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOff)
        maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOn)
        music.playTone(330, music.beat(BeatFraction.Whole))
        basic.pause(500)
    }
})



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

Loop_switch = 0

def on_button_pressed_a():
    global Loop_switch
    Loop_switch = 1
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_button_pressed_b():
    global Loop_switch
    Loop_switch = 0
input.on_button_pressed(Button.B, on_button_pressed_b)

def on_forever():
    if Loop_switch == 1:
        maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_ON)
        maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_OFF)
        music.play_tone(262, music.beat(BeatFraction.WHOLE))
        basic.pause(500)
        maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_OFF)
        maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_ON)
        music.play_tone(330, music.beat(BeatFraction.WHOLE))
        basic.pause(500)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen LEDライト コントロール プログラムサンプル QRコード





# 8.4. 超音波距離センサーのコントロール




# 目標

マイクロマクイーン (micro:Maqueen)の超音波距離センサーをコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-Ultrasonic-Distance-Control-251 超音波距離センサーのコントロール用ブロック 車体の前方にある超音波距離センサーをコントロール

・ 戻り値:10進数の整数
・ 単位:センチメートル
・ 機能:センサーと前方の障害物との距離を測る。センサーの検出範囲は2cm~400cm。誤差は1cm~3cmですが、20cm~80cmの範囲であればより正確に出力される。80cm以上だと、精度が落ちる。測定距離が400cm以上の場合、戻り値は0。



# 動作イメージ

センサーと前方の障害物との距離を検出し、マイクロビット(micro:bit)のLEDディスプレイに表示する(単位:cm)。

ROB0148 Micro:Maqueen 超音波距離センサー コントロール プログラム 動作イメージ


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





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

let distance = 0
basic.forever(function on_forever() {
    
    distance = maqueen.Ultrasonic(PingUnit.Centimeters)
    basic.showNumber(distance)
})



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

distance = 0

def on_forever():
    global distance
    distance = maqueen.ultrasonic(PingUnit.CENTIMETERS)
    basic.show_number(distance)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen 超音波距離センサー コントロール プログラムサンプル QRコード





# 8.5. 赤外線リモコンのキーの読み取り




# 目標

赤外線リモコンが発信した信号を、マイクロマクイーン (micro:Maqueen)で受信し、読み取るためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 赤外線リモコン 1 HW 赤外線信号発信用
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 赤外線リモコン 1 HW 赤外線信号発信用



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-Read-Infrared-Key-261 赤外線リモコンのキーの読み取り用ブロック 赤外線型リモートコントローラの送信値を読み取る

・ 戻り値:10進整数(リモコンで押されたキーに対応して送信された16進数の値を受信し、下2桁を読み取り、10進数に変換する)
・ プロトコルタイプ:NEC



# 動作イメージ

赤外線リモートコントローラーの任意のキーを押すと、押されたキーに対応する10進整数がLEDディスプレイに表示されます(キー値の下2桁を10進数で表示)。

ROB0148 Micro:Maqueen 赤外線リモコンのキーの読み取り プログラム 動作イメージ


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





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

let infrared = 0
basic.forever(function on_forever() {
    
    infrared = maqueen.IR_readV2()
    basic.showNumber(infrared)
})



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

infrared = 0

def on_forever():
    global infrared
    infrared = maqueen.IR_readV2()
    basic.show_number(infrared)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen 赤外線リモコンのキーの読み取り プログラムサンプル QRコード


# 参考:赤外線リモコンとキーの発信する値

用意されているブロックを利用するにあたって、NECプロトコルの赤外線リモコンを利用する必要があります。 例として、当社販売しているリモコンは以下のようにキー配置されています。

注意事項

  • 下記例のリモコンは、テレビ等で使われるものですが、本チュートリアルでは、マイクロマクイン(Micro:Maqueen)の車体コントロールで利用します。 そのため、本来の用途(リモコンのキーに表記されている内容)でない用途でキーの機能を設定して利用します。

ROB0148 Micro:Maqueen 赤外線リモコン

キー 設定値(16進数) 設定値(10進数)
電源 0xff00 0
VOL+ 0xfe01 1
FUNC/STOP 0xfd02 2
後ろに戻る 0xfb04 4
再生・停止 0xfa05 5
前に進む 0xf906 6
0xf708 8
VOL- 0xf609 9
0xf50a 10
0 0xf30c 12
EQ 0xf20d 13
ST/REPT 0xf10e 14
1 0xef10 16
2 0xee11 17
3 0xed12 18
4 0xeb14 20
5 0xea15 21
6 0xe916 22
7 0xe718 24
8 0xe618 25
9 0xe51a 26






# 8.6. 赤外線リモコンでの車体コントロール




# 目標

赤外線リモコンでマイクロマクイーン (micro:Maqueen)をコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 赤外線リモコン 1 HW 赤外線信号発信用
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 赤外線リモコン 1 HW 赤外線信号発信用



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-IR-Remote-Control-271 赤外線受信イベントトリガーブロック 赤外線の受信をきっかけに意図した動作を開始させる。
具体的には、赤外線を受信した場合、変換した10進数整数を所定の変数(デフォルトはmessage)に代入し、ブロック内に追加した処理を実行する。

・ データタイプ:10進数整数(受信た16進数の値を受信し、下2桁を読み取り、10進数に変換する)
・ プロトコルタイプ:NEC



# 動作イメージ

赤外線リモートコントローラーの2(前進)、8(後退)、4(左折)、6(右折)、5(停止)のキーを押すと、マイクロマクイーン ( micro:Maqueen ) の車体がそれにコントロールされ動作します。

ROB0148 Micro:Maqueen 赤外線リモコンでの車体コントロール プログラム 動作イメージ


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





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

maqueen.IR_callbackUserV2(function (message) {
    if (message == 17) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 150)
    }
    if (message == 25) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 150)
    }
    if (message == 20) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 150)
    }
    if (message == 22) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 150)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    }
    if (message == 21) {
        maqueen.motorStop(maqueen.Motors.All)
    }
})



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

def on_ir_callbackuserv2(message):
    if message == 17:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 150)
    if message == 25:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 150)
    if message == 20:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 150)
    if message == 22:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 150)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    if message == 21:
        maqueen.motor_stop(maqueen.Motors.ALL)
maqueen.IR_callbackUserV2(on_ir_callbackuserv2)



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

ROB0148 Micro:Maqueen 赤外線リモコンでの車体コントロール プログラムサンプル QRコード





# 8.7. 自動運転(ライントラッキング)




# 目標

ライントラッキング機能を使って、黒い路線が書かれているマップの上で、マイクロマクイーン (micro:Maqueen)を自律的に運転させるためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 路線マップ 1 車体が走る路線として利用 自作でも可能
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 路線マップ 1 車体が走る路線として利用 自作でも可能



# MakeCodeブロックの概要

No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-Ultrasonic-Obstacle-Avoiding-291 ライントラッキングセンサー用ブロック 車体底部の2つのライントラッキングセンサーのデータを取得。
具体的には、黒い線を検知した場合、インジケータをOFFにしたうえ、0を出力。白い部分を検知した場合、インジケータをONにしたうえ、1を出力。

・ センサーの選択:左、右
・ 戻り値:0、1



# 動作イメージ

黒い路線に沿って、マイクロマクイーン (micro:Maqueen)が自動運転します。 マップを自作することも可能です。黒いテープなどである程度太い線を作ることが必要です。

ヒント

  • マップを自作することも可能です。黒いテープなどである程度太い線を作ることが必要です。

ROB0148 Micro:Maqueen イントラッキングによる自動運転 プログラム 動作イメージ


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





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

basic.forever(function () {
    if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 0 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 0) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 200)
    } else if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 1 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 0) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 50)
    } else if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 0 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 1) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 50)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
    }
})



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

def on_forever():
    if maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 0 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 0:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 200)
    elif maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 1 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 0:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 50)
    elif maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 0 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 1:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 50)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen イントラッキングによる自動運転 プログラムサンプル QRコード





# 8.8. 自動運転(超音波による障害物の回避)




# 目標

超音波距離センサーを使って、前の障害物を検知し、マイクロマクイーン (micro:Maqueen)を自律的に運転させるためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# 動作イメージ

超音波センサーを使って、マイクロマクイーン (micro:Maqueen)と前方の障害物との距離を常に検出し、30cm以下になるとMaqueenは障害物を避けるためにランダムに左または右に曲がることで、自動運転をさせます。

ヒント

  • 付属の超音波距離センサーを装着する必要があります。

ROB0148 Micro:Maqueen 超音波距離センサー 障害物回避よる自動運転 プログラム 動作イメージ


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





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

let strip = false
basic.forever(function () {
    if (maqueen.Ultrasonic(PingUnit.Centimeters) < 30 && maqueen.Ultrasonic(PingUnit.Centimeters) != 0) {
        strip = Math.randomBoolean()
        if (strip == true) {
            maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
            maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
            basic.pause(800)
        }
        if (strip == false) {
            maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
            maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
            basic.pause(800)
        }
    } else {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 255)
    }
})



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

strip = False

def on_forever():
    global strip
    if maqueen.ultrasonic(PingUnit.CENTIMETERS) < 30 and maqueen.ultrasonic(PingUnit.CENTIMETERS) != 0:
        strip = Math.random_boolean()
        if strip == True:
            maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
            maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
            basic.pause(800)
        if strip == False:
            maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
            maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
            basic.pause(800)
    else:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 255)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen 超音波距離センサー 障害物回避よる自動運転 プログラムサンプル QRコード





# 8.9. 自動運転(光検知)

# 目標

光を検知し、明るい時だけマイクロマクイーン (micro:Maqueen)を前方に進行させるためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 懐中電灯 1 HW 光源 動作テストに利用
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 懐中電灯 1 HW 光源 動作テストに利用



# 動作イメージ

懐中電灯でマイクロマクイーン (micro:Maqueen)のLEDを照らすと、車が前に進み始めます。明るければ明るいほど、マイクロマクイーン (micro:Maqueen)の動きは速くなります。


ROB0148 Micro:Maqueen 光検知による自動運転 プログラム 動作イメージ


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





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

basic.forever(function () {
    if (input.lightLevel() > 70) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, input.lightLevel())
    } else {
        maqueen.motorStop(maqueen.Motors.All)
    }
})



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

def on_forever():
    if input.light_level() > 70:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, input.light_level())
    else:
        maqueen.motor_stop(maqueen.Motors.ALL)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen 光検知による自動運転 プログラムサンプル QRコード





# 8.10. 無線ゲームパットでのコントロール

# 目標

micro:bit用ゲームパッド(micro:GamePad) (opens new window)を使って、マイクロマクイーン (micro:Maqueen)のコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 マイクロ ゲーム パッド(micro:bit用)(micro:GamePad) (opens new window) 1 HW 車体コントロール用
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 マイクロ ゲーム パッド(micro:bit用)(micro:GamePad) (opens new window) 1 HW 車体コントロール用



# 動作イメージ

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

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


注意事項

  • マイクロマクイーン (micro:Maqueen)とマイクロゲームパッド(micro:GamePad)には、それぞれ1枚のマイクロビット(micro:bit)を挿入する必要があります。
  • それぞれのマイクロビット(micro:bit)に対してプログラミングする必要があります。
  • マイクロマクイーン (micro:Maqueen)側のライブラリのインポートは、「8.1. Makecode用ライブラリをインポート」の記載の通りで可能ですが、同じ方法で、マイクロゲームパッド(micro:GamePad)側のライブラリのインポートも必要です。ライブラリの検索バーで「https://github.com/DFRobot/pxt-gamePad」を検索することで、該当ライブラリを見つけることが可能です。

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


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




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




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


# マイクロマクイーン (micro:Maqueen)側
radio.onReceivedNumber(function (receivedNumber) {
    item = receivedNumber
    if (item == 0) {
        maqueen.motorStop(maqueen.Motors.All)
    }
    if (item == 1) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 255)
    }
    if (item == 2) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 255)
    }
    if (item == 3) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
    }
    if (item == 4) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    }
})
let item = 0
radio.setGroup(1)



# マイクロゲームパッド(micro:GamePad)側
gamePad.onEvent(GamerBitPin.P15, GamerBitEvent.Up, function () {
    radio.sendNumber(0)
    basic.showNumber(0)
})
gamePad.onEvent(GamerBitPin.P14, GamerBitEvent.Up, function () {
    radio.sendNumber(0)
    basic.showNumber(0)
})
gamePad.onEvent(GamerBitPin.P14, GamerBitEvent.Down, function () {
    radio.sendNumber(3)
    basic.showNumber(3)
})
gamePad.onEvent(GamerBitPin.P15, GamerBitEvent.Down, function () {
    radio.sendNumber(4)
    basic.showNumber(4)
})
gamePad.onEvent(GamerBitPin.P13, GamerBitEvent.Down, function () {
    radio.sendNumber(2)
    basic.showNumber(2)
})
gamePad.onEvent(GamerBitPin.P8, GamerBitEvent.Up, function () {
    radio.sendNumber(0)
    basic.showNumber(0)
})
gamePad.onEvent(GamerBitPin.P8, GamerBitEvent.Down, function () {
    radio.sendNumber(1)
    basic.showNumber(1)
})
gamePad.onEvent(GamerBitPin.P13, GamerBitEvent.Up, function () {
    radio.sendNumber(0)
    basic.showNumber(0)
})
radio.setGroup(1)



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

# マイクロマクイーン (micro:Maqueen)側
def on_received_number(receivedNumber):
    global item
    item = receivedNumber
    if item == 0:
        maqueen.motor_stop(maqueen.Motors.ALL)
    if item == 1:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 255)
    if item == 2:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 255)
    if item == 3:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
    if item == 4:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
radio.on_received_number(on_received_number)

item = 0
radio.set_group(1)



# マイクロゲームパッド(micro:GamePad)側
def my_function():
    radio.send_number(0)
    basic.show_number(0)
gamePad.on_event(GamerBitPin.P15, GamerBitEvent.UP, my_function)

def my_function2():
    radio.send_number(0)
    basic.show_number(0)
gamePad.on_event(GamerBitPin.P14, GamerBitEvent.UP, my_function2)

def my_function3():
    radio.send_number(3)
    basic.show_number(3)
gamePad.on_event(GamerBitPin.P14, GamerBitEvent.DOWN, my_function3)

def my_function4():
    radio.send_number(4)
    basic.show_number(4)
gamePad.on_event(GamerBitPin.P15, GamerBitEvent.DOWN, my_function4)

def my_function5():
    radio.send_number(2)
    basic.show_number(2)
gamePad.on_event(GamerBitPin.P13, GamerBitEvent.DOWN, my_function5)

def my_function6():
    radio.send_number(0)
    basic.show_number(0)
gamePad.on_event(GamerBitPin.P8, GamerBitEvent.UP, my_function6)

def my_function7():
    radio.send_number(1)
    basic.show_number(1)
gamePad.on_event(GamerBitPin.P8, GamerBitEvent.DOWN, my_function7)

def my_function8():
    radio.send_number(0)
    basic.show_number(0)
gamePad.on_event(GamerBitPin.P13, GamerBitEvent.UP, my_function8)

radio.set_group(1)

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

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

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

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

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







# 8.11. 追加サーボモーターのコントロール


# 目標

サーブモーターをコントロールするためのプログラミング方法を把握します。


# 必要な機材

# PC利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 9gサーブモーター 1 HW サーブモーター マイクロマクイーン (micro:Maqueen)に接続するため、Gravity対応、もしくは、メス3Pの端子を必要がある
# タブレット・スマートフォン利用時に必要な機材
No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 9gサーブモーター 1 HW サーブモーター マイクロマクイーン (micro:Maqueen)に接続するため、Gravity対応、もしくはメス3Pの端子が必要



# 動作イメージ

マイクロマクイーン (micro:Maqueen)のS1接続端子にサーブモーターを接続し、0度から180度まで回転し、そして0度に戻す動作を繰り返します。




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





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

basic.forever(function () {
    maqueen.servoRun(maqueen.Servos.S1, 0)
    basic.pause(2000)
    maqueen.servoRun(maqueen.Servos.S1, 150)
    basic.pause(2000)
})




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

def on_forever():
    maqueen.servo_run(maqueen.Servos.S1, 0)
    basic.pause(2000)
    maqueen.servo_run(maqueen.Servos.S1, 150)
    basic.pause(2000)
basic.forever(on_forever)



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

ROB0148 Micro:Maqueen 追加サーボモーターのコントロール プログラムサンプル QRコード








Last Updated: 10/31/2021, 1:47:30 AM