スタート

マウスを動かして「スタート」カテゴリをクリックすると、スタート機能を持つブロックが表示されます。 ブロックの上部が凹んでいない場合、その上に他のブロックを連結することはできません。

このエリアに含まれるブロック:「スタート」、「ロボットが~した時」、「IoTサーバーに接続」、「Motoduinoに接続」。

ロボットが __時

  • 定義条件式

プログラムを作成する過程では、ある状況が成立しているかどうかを「条件式」を使って判断し、それに応じて実行するブロックを決定することがよくあります。このようなプログラムの流れを「選択構造」と呼びます。

選択構造には「単方向選択構造」と「双方向選択構造」があります。「ロボットが~した時」「~するまで待つ」「もしロボットが~なら」などのブロックは単方向選択構造に属し、条件が成立した時に実行するプログラム命令を判断します。

  • 說明

ロボットが特定の部位を触られたり、特定の言葉を聞いたり、特定の人物を見たりした時に、以降のフローを開始します。

ブロック内のドロップダウンメニューをクリックすると、ロボットがフローを実行するトリガーを「触られた」、「聞き取った」、「見た」に変更できます。また、触られた部位、聞く言葉、見る人物を設定することも可能です。

📒 「見た」を選択できるのは、すでに登録されている人物に限られます。ロボットと接続した後でのみ、対象を選択できます。ロボットと未接続の場合は、シミュレーターテスト用に「臨時の家族ニックネーム」を追加して使用できます。

    1. 左側のメニューから「スタート」カテゴリをクリックし、「ロボットが~した時」ブロックをキャンバスにドラッグします。トリガー条件に「聞き取った」を選択します。
    2. 「聞き取った」言葉を入力します(例:「こんにちは」)。
    3. フローを「開始」の下にドラッグして接続した後、再生するデバイスを選択します。
    4. ロボットに向かって「こんにちは」と話しかけます(またはシミュレーターで「聞いた」を選択し、「こんにちは」と入力します)。

ロボットをリセット __

  • 說明

このブロックは、ロボットの身体、画面表示、音声、ライト、あるいはそれらすべてを初期状態にリセットします。

    1. 左側のメニューから「動作」カテゴリをクリックし、「左肩を上にあげる」をキャンバスにドラッグして、角度を「100°」に設定します。「100°」。
    2. 「点灯」カテゴリをクリックし、「全身が点灯」をドラッグして、色を「紫」に設定します。

    3. 「顔」カテゴリをクリックし、「キャラクター」をドラッグして、「芸能人」を選択します。

    4. 「スタート」カテゴリから「ロボットをリセット」ブロックをドラッグします。

    5. ドロップダウンメニューをクリックし、「体」を選択します。

    6. フローを「開始」の下にドラッグして接続し、再生デバイスを選択します。

スタートに戻る

  • 說明

「スタート」から「スタートにスキップ」までの間のすべてのフローを繰り返し実行します。

📒 補足: このブロックは、「スタート」ブロックから始まるフローの末尾にのみ配置可能です。「ロボットが~時」など、他のスタート系ブロックのフローでは使用できません。(フロー:連続して実行可能な一連のブロックのこと)

    1. 「動作」カテゴリから「左肩を上に上げる」ブロックを2つキャンバスにドラッグし、それぞれ「90°」と「0°」に設定します。

    2. 「スタート」カテゴリから「スタートにスキップ」をフローの最後に配置します。

    3. フローを「開始」の下に接続し、再生デバイスを選択します。

‼️ 注意事項: 実行済みの動作は自動的に元には戻りません。 例えば、「右肩を上に上げる」という動作を実行した後、ロボットは「右肩を上に上げた」状態を維持します。動作を繰り返させたい場合は、必ず元の姿勢に戻すブロックを入れることを忘れないでください。

プログラム終了

  • 說明

このブロックは、現在実行中のプログラムを即座に終了させます。

    1. 「制御」カテゴリから「もしロボットが~、そうでなければ」をキャンバスにドラッグします。
    2. 「音声」カテゴリから「『__』と言う」を2つドラッグし、それぞれ「もし」と「そうでなければ」の凹みに入れ、「正解」と「不正解、もう一度」と入力します。
    3. 「開始」カテゴリから「プログラム終了」をドラッグし、「正解」の下に配置します。

    4. フローを「開始」の下に接続し、再生デバイスを選択します。

制御

ロボットが [条件] [内容] まで待つ

  • 定義 – カスタムブロック

ロボットのハードウェアの利点を活かして設計された、ロボットの振る舞いを制御するためのブロックです。これには、開始、制御、動作、顔、点灯、音声、パフォーマンス、NUWAライブラリ、拡張ブロックなどのカテゴリが含まれます。

  • 說明

ロボットが特定の部位を触られる、特定の言葉を聞く、または特定の人物を見るまで待機し、条件が満たされてから続きのフローを実行します。

ドロップダウンメニューでトリガー条件(触られる、聞き取った、見た)を変更し、詳細設定(部位、言葉、人物)を行います。

📒 補足: 「見た」は登録済みの人物に限られます。ロボットと接続後に選択可能です。未接続時はシミュレーター用に仮のニックネームを設定できます。

    1. 「制御」カテゴリから「~まで待つ」ブロックをドラッグします。
    2. 条件を「触られた」「左手」に設定します。
    3. フローを「スタート」の下に接続し、再生デバイスを選択します。

    4. ロボットの左手を触ります(またはシミュレーターで「左手が触られた」を選択)。

ロボットが音声を認識するのを待っています、__値を付与

  • 說明

変数と連携するブロックです。まず変数を作成(または自動作成された変数を使用)する必要があります。ロボットが音声を認識するのを待っています、聞き取った内容をその変数に代入してから、続きのフローを実行します。

  • 「『虎』が含まれる言葉」というお題を出し、ロボットが聞き取った音声に「虎」が含まれているか判断させます。「含まれている(もし)」なら正解の会話を、「そうでなければ」不正解の会話を実行します。

ロボットが家族を認識するまでを待っています、__値を付与。

  • 說明

変数と連携するブロックです。まず変数を作成します。ロボットが家族を見るまで待ち、認識した家族の名前を付与してから、続きのフローを実行します。

  •  ロボットが見た家族の名前を「変数」に付与し、「話す」ブロックと組み合わせて、見つけた家族の名前をロボットに言わせることができます。

同時__を行う

  • 定義 同時__を行う

2つ以上のプログラム命令を同時に実行させ、特定の目的や効果を達成します。プログラミングで頻繁に使用される命令です。

  • 説明

「同時__を行う」ブロックの凹みの中に配置されたフローは、同期して実行されます。凹みの中のすべてのブロックの実行が完了すると、同時実行ブロックの処理が完了したとみなされ、次のブロックへ進みます。

    1. 「制御」カテゴリから「同時__を行う」をドラッグします。「動作」カテゴリから「左肩を上げる」と「右肩を上げる」をドラッグして「同時実行」の中に入れ、どちらも「130°」に設定します。
    2. フローを「スタート」の下に接続し、再生デバイスを選択します。

‼️ 注意事項: 「同時__を行う」の中に、互いに矛盾する動作を入れてはいけません。 矛盾するブロックは「リソースの衝突」を引き起こします。2つ以上のブロックが同時に同じ画面、LED、または関節(例:「左肩を10°上げる」と「左肩を20°上げる」)を使用しようとすると、すべての期待結果を満たすことができません。実際に衝突が発生した場合、通常は最後に処理されたブロックの結果が優先されます。

もしロボットが __なら

  • 定義 – 実行体

ブロックの上下に他のブロックを接続できるだけでなく、その「内部」に他のプログラムを含むことができるブロックです。「同時__を行う」、「もしロボットが~」、「もし~、そうでなければ」、「~回繰り返す」、「ずっと繰り返す」、「~になるまで繰り返す」、「カウントして繰り返す」、「もし~実行する」、「リストから一つずつ取り出して実行」、「関数1へ」などがこれに該当します。

  • 説明

ロボットが特定の部位を触られたり、特定の言葉を聞いたり、特定の人物を見たりした場合に、ブロック内のフローを実行します。トリガー条件が満たされなかった場合、このブロックをスキップして、次のフローの命令を実行し続けます。 ドロップダウンメニューからトリガー条件(触られた、聞き取った、見た)を変更できます。 条件達成時に実行したいフローを、「もしロボットが~なら」の凹みの中にドラッグして入れます。

📒 補足: 「見た」は登録済みの人物に限られます(接続時のみ選択可)。

    1. 「制御」カテゴリから「もしロボットが~」をドラッグし、条件を「触られた」「お腹」に設定します。
    2. 「動作」カテゴリから「左肩を上げる」と「右肩を上げる」を出し、どちらも「90°」にします。
    3. 「左肩を上に90°上げる」を「もしロボットが~なら」の中に入れ、「右肩を上に90°上げる」をブロックの下に接続します。
    4. フローを「スタート」の下に接続し、再生デバイスを選択します。
    5. ロボットのお腹を触ってみる(または触らずに少し待ってみる)ことで動作の違いを確認します。

もしロボットが __、そうでなければ

  • 定義 – 条件式

「条件式」を用いて状況を判断し、実行するブロックを決定する「選択構造」です。「もし~なら、そうでなければ」は双方向選択構造に分類されます。

  • 説明

ロボットが特定の部位を触られる、言葉を聞く、人物を見る、といったトリガー条件のいずれかが成立した場合、「もし~」の凹みの中にあるフローを実行します。条件が成立しなかった場合は、「そうでなければ」の凹みの中にあるフローを実行します。

ドロップダウンメニューをクリックすると、ロボットが指令を実行し始めるトリガー方式を変更できます。「触られた」、「聞き取った」、「見た」に分かれています。また、触られた部位、聞く言葉、見る人物も設定できます。

📒 補足: 「見た」を選択できるのは、すでに登録されている人物に限られます。ロボットと接続した後でのみ、対象を選択できます。ロボットと未接続の場合は、シミュレーターテスト用に「臨時の家族ニックネーム」を追加して使用できます。

    1. 「制御」カテゴリから「もしロボットが~、そうでなければ」をキャンバスにドラッグし、トリガー条件を「触られた」「右手」に設定します。
    2. 「動作」カテゴリから「左肩を上げる」と「右肩を上げる」をドラッグして出し、どちらも「120°」に設定します。/span>」。
    3. 「左肩を上に120°上げる」を「もしロボットが~」のブロック内に入れ、「右肩を上に120°上げる」を「そうでなければ」のブロック内に入れます。
    4. フローを「スタート」の下に接続し、再生デバイスを選択します(ロボット、またはシミュレーター)。
    5. ロボットのお腹を触ります(またはシミュレーターで「お腹が触られた」を選択します)。(または触らずに少し待ちます)

_回繰り返す

  • 説明

繰り返し実行したいフローを「~回繰り返す」の凹みの中に入れます。そのフローを指定した回数だけループ実行させることができます。

    1. 「制御」カテゴリから「~回繰り返す」をドラッグし、「2」回に設定します。
    2. 「動作」カテゴリから「左肩を内に回す」を2つドラッグして中に入れ、それぞれ「0°」と「90°」に設定します。
    3. フローを「スタート」の下に接続し、再生デバイスを選択します。

ずっと繰り返す

  • 説明

絶え間なく繰り返し実行したいフローを「ずっと繰り返す」の凹みの中に入れます。中のフローが永久にループ実行されます。

    1. 「制御」カテゴリから「ずっと繰り返す」をドラッグします。
    2. 「動作」カテゴリから「右肩をを内に回す」を2つドラッグして中に入れ、それぞれ「0°」と「120°」に設定します。」。
    3. フローを「スタート」の下に接続し、再生デバイスを選択します。

ロボットが _ 秒待つ

  • 説明

前のフローの実行が完了した後、次のフローに進むまでの待ち時間を設定できます。待機時間が終了すると、次のブロックを実行します。これにより、フロー間の実行タイミングを調整したり、動作を遅らせたりすることができます。

    1. 「制御」カテゴリから「ロボットが~秒待つ」をドラッグします。
    2. 「動作」カテゴリから「左肩を上げる」を2つ出し、「0°」と「90°」に設定します。
    3. 「左肩を上に0°上げる」を待機ブロックの上に、「左肩を上に90°上げる」を下に配置します。
    4. 待機時間を「3」秒に設定します。
    5. フローを「スタート」の下に接続し、再生デバイスを選択します。
Share this Doc

AI 感測方塊

Or copy link

CONTENTS