2019年06月30日

Blocklyを使って自動運転プログラムができないか? その8

妙に反応の薄い、EducationPlatformですが、DesktopStationを立ち上げて、一番の目的となっているものであることや、DesktopStationの自動運転コンセプトを示す重要なプロジェクトなので、つまらんと言われ続けようと、(私が)満足するまでやり続けます。

いじればいじるほどバグが出てきて、すみませんがr2m14 r2m15をリリースしました。

r2m13->r2m14変更点:
・EducationPlatformのみの変更です。
・バグの修正(引数指定型ブロックがまともに動かないバグ。止まれ、走れのブロック)
・速度の単位を全て%に固定。0〜100%の値を入れて動くようにしました。内部で0〜1023に計算し直します。
・MM2モード、DCCモードのブロックを追加(デフォルトはDCCなので、DCCを使う場合はブロック配置不要)
・ハイライトしなかったので、するように改良
・「はじまり」ブロックを追加。と言っても、機能としてはダミーです(無くても良い)。
・ロジックブロックに「もし〜でなければ」(If-else, If-If else-else)構文の2つを追加が使えます。

r2m14->r2m15変更点:
・ファンクションのモメンタリ動作(OFF->ON->OFF)を行うブロックを追加
・S88在線検出センサの命令からSleep2を削除
・でんげんブロックにSleep2秒を内蔵、チェックではなくプルダウンに変更
・メニューをひらがなで分かりやすくした
・進行方向の向きをプルダウンに変更(まえ、うしろ)

---------------------------

■画面の定義

以下のように画面を定義することとしました。

block5_hiroba.png

■「関数」ブロックの使い方

関数に引数を追加して、汎用性を高めたブロックを書いてみました。

「関数ブロック」に歯車のアイコンが付いていると思います。これを押すと、引数(関数に数値や情報を与えるもの)を追加できるのです!ここでは、addr(アドレス)を追加しています。名前は自由に変更できます。

block5_2.png

引数は、以下のようにブロックの引き出しから使えるようになります。

block5_3.png

spdという引数も追加し、以下のように「関数:何かする」を変更してみました。

block5_4.png

「関数:何かする」は、以下のように使う事になります。引数に数字を入れると、「関数:何かする」を使い回していろいろな車両を動かす事ができます。

block5_5.png

以上をまとめて、以下のようなブロック図になりました。

block5_1.png

ブロック図ファイル:
userseqs (13).xml
posted by yaasan at 09:32 | Comment(2) | 鉄道模型