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) | 鉄道模型
この記事へのコメント
言葉がわかりやすいのは良いのですが、汽車の運転操作という感じも欲しいですね。
コマンドに進行、停止、加速、減速、方向、待機、点灯、消灯のような硬質な単語もいいんじゃ無いかなと思います。
Posted by skt at 2019年07月01日 12:17
コメントありがとうございます。
基本的には汎用向けなので、子供でも分かる言葉にするように心がけて書いております。

気になる場合やオリジナルにする場合は、ブロック定義のファイルを編集頂ければ所望の言葉に直すことができます。
Posted by Yaasan at 2019年07月01日 12:45
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。