2-3.Scratch3.0プログラム(障害物検知)

2019年9月1日

事前確認

通信確認

Scratch3利用する端末とスマートリモコン/カーが通信しながら制御を行います。そのため、通信できることを確認する必要があります。以下の通り確認して下さい。
(1)Windows端末ではコマンドプロンプトを起動して下さい。また、Mac端末ではターミナルを起動して下さい。
【起動方法】
Windows端末:Windowsキー + 「r」コマンドで検索窓を表示し「cmd」と入力しリターン
Mac端末:Launchpadから一覧を表示し「ターミナル」をクリック
(2)通信確認実施
通信確認用プロトコルPingを利用して確認します。「ping 192.168.1.x」のようにスマートリモコン/カーのIPアドレスに通信確認を行います。
【通信OK時(例)Windows10端末】

到達時間が表示され、損失が0になっていることを確認して下さい。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)

【通信NG時(例)Windows10端末】

タイムアウトが発生し「宛先ホストに到達できません」と表示されていますので通信ができない状態となります。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)
通信NG時は設定したWi-FiやIPアドレスなどの情報を確認し通信OKになるようにする必要があります。

Scratchでプログラム

Scratchプログラム例はこちらとなります。
ダウンロードしたファイルをScratch3.0メニューの「ファイル」から「コンピュータから読み込む」で開くと以下の画面が表示されます。

《利用時の設定》

Car本体のIPアドレス設定

「Car IPアドレス」で工作キットに設定したIPアドレスを入力して利用してください。

工作キットのIPアドレスは7-2-1で設定した値になります。

障害物検知距離「checkDistance」の設定

障害物を検知し設定距離以下で方向転換を行う距離「checkDistance」が設定可能となっています。
25と設定した場合は、25cm以内に障害物を検知した場合に方向転換を行います。動作を確認しながら距離を設定して下さい。

右/左方向転換時間「rightTime/leftTime」の設定

スマートカーに方向展開を指示する場合に転換時間「rightTime/leftTime」を設定することが可能です。
90度の方向転換を行う場合など、制御したい角度に方向展開ができるよう「rightTime/leftTime」を設定して下さい。

距離センサ角度補正の設定

スマートカーに設置する超音波センサは、取り付けギヤ等の関係で真っ直ぐ前へ取り付けるのが困難な場合があります。
-3〜+10程度で補正し、超音波センサをまっすぐ前向きに補正することが可能です。

《注意点》

各コマンド完了確認

Scratch3から応答(完了)を待たずにプログラムすると正常に動作できません。例えば完了を待たずに実施すると距離測定の結果を待たずに距離判定を行ってしまいます。以下のブロックを利用時は必ずブロック処理が完了する処理をプログラムで入れて下さい。

【完了待ちが必要なブロック処理】
①距離センサ角度補正ブロック
②LED制御ブロック
③距離測定ブロック
④距離センサ回転ブロック
⑤Car GO/BACKブロック
⑥Car回転 RIGHT/LEFTブロック

【完了処理】
上記ブロックを利用した場合は、直後にCarStatusがCompletedになるまで待つようにプログラムして下さい。

ダウンロードプログラムの利用方法

スマートカーを走行させる前に以下の動作で各パラメータ値の補正及び動作確認を行って下さい。
(1)IPアドレス設定、距離センサー補正と距離測定
以下のプラグラムによりスマートカーの設定を行って下さい。

実行後に右上のスプライト内の「IoT Smart Car 2WD : 距離(cm)」変数にスマートカー距離センサー結果が表示されることを確認して下さい。

(2)左右回転時間の設定
以下のプログラムにより、「Car回転 RIGHT/LEFTブロック」利用時に回転する時間を設定し正常に曲がれるように調整します。

回転が不足する場合は継続時間(ms)を大きくして下さい。また、回転しすぎる場合は継続時間(ms)を小さくして下さい。

(3)各コマンドで動作確認
以下のブロックを個々にクリックしてスマートカーの動作を確認して下さい。

上記でプログラムの事前確認は完了ですので、以下のようなプログラムを作りスマートカーを動作させて下さい。

《一部省略》