![見出し画像](https://assets.st-note.com/production/uploads/images/30718235/rectangle_large_type_2_1c6d0b03d404452370d0d12c7975ecde.jpg?width=800)
誰もがロボットクリエイターになれる(21)
前進のプログラミング
みなさんこんにちは(^^)/
さてみなさん心の準備はいかがですか?(・ω・)ノ
サクッと行っちゃいましょうね。簡単だよ!(^^)! まずはmicrobitのエディターを起動しましょう。(プログラムを作成するキャンバスだよ)
今回は、前進をやりましょう。エディターのMaqueenの命令文の一覧から利用します。
日本語で書かれてるからなんとなくわかると思いますが、ここにもあるようにMaqueenは超音波センサー、サーボモーター、ラインセンサー(黒い線を認識します)等いろんなものがついています。
プログラミングのキャンパスはこの赤ライン内なので、こちらに「モーター」制御をドラッグしてドロップします。最初から「最初だけ」と「ずっと」というブロックがありますが、このどちらかにいまからはめ込んでいきます。今回は一度だけの制御なので、「最初だけ」ブロックにはめ込みましょう。
「ドラッグ&ドロップ」 マウスの操作のひとつを言います。 一般的に、移動させたい文字列や画像・ファイルの上で「左ボタン」を押したまま、マウスポインタを目的の場所まで移動させ(ドラッグ)、移動できたら「左ボタン」を離す(ドロップ)という操作です。
いまからモーターをどのように使うのか設定します。まずは左右どちらのモーターなのかあるいは「すべて」なのかですが、「前進」なので「すべて」ですね。
次にこのモーターをどちら方向に動かしたいのかです。「前進」なので「前に」ですね。
この回数はモーターの回転スピードのことです。0(とまる)→255までの間で設定します。今回は真ん中とって「100」としましょう。
これで、いまからどんなことをさせたいのかの「宣言」が完了します。
「すべてのモーターを前に100のスピードで動かしたい」です。次に、じゃあどのくらいの距離を進ませるの?となりますね。これは時間で表します。
これがちょっと曲者なんですが・・・・「一時停止」制御を使います。すなわち次の命令を操作するまでこの命令を実行し続けなさいということです。一時停止命令はミリ秒で表現します。1秒だと1000ミリ秒になりますよ。???ですね・・・
それから、動いているモーターを止めなければいけませんので、「すべて」のモーターを止めるブロックを使います。
このプログラムで説明すると、①「すべてのモーターを前方向に100のスピードで動かしたい」→②1秒間の間、前に進みなさい→③「すべてのモーターを止めなさい」・・・・となります。
このプログラムで、まるおくんは1秒間前に進みます。
Test001 pic.twitter.com/2rvjeUjWqm
— Kumasaru (@Kumasaru3) July 19, 2020
これはフローチャートと呼ばれるものですが、最初だけブロックとずっとブロックの違いがよくわかります。「ずっと」ブロックは終わりへのつながりがなく永遠につづきます。では今までのプログラムを図式化したものがつぎです。ひし形が判断基準ですが、ここで判断されて繰り返すのか終わらせるのか決定されます。
なにかのプログラムを作るときは、このフローチャートをしっかり頭の中に入れておかないとうまく動作しないので最初はこのように手書きでもよいので書いてからプログラミングすることをお勧めします。
説明が長くなったので今回はここまで、次回は前進と後退です。
ではでは(^^)/
この記事が気に入ったらサポートをしてみませんか?