NO. d-002

使用する機材

・マイクロビット
・プログラミング列車
 (位置センサー有)


目的

スイッチを「入」にすると
速いスピードで前進
2週目で
ドッグレールにきたら
停車する


プログラム
(何週回るかを、指定する)

解説

 今回はLEDを使わないので、「偽」 にします。

 スイッチを「入」にした時、、勝手に前進しないようにします。
 (P13=前進)

 スイッチを「入」にした時、勝手に後進しないようにします。
 (P14=後進)

 変数の箱の名前を「センサー」にして、箱の中に「 0 」を入れます。
 (ドッグレールの上に来たのかどうかを判断(はんだん)するのに使います)
 (変数ブロックの作り方は、YouTube「Lesson5 変数」を見てね)


 50ミリ秒ごとに、【位置センサーのプログラム】をくり返します。
 (50ミリ秒=0.05秒)

 もし、ドッグレールの上に来たら=「 1 」
  そうでない時(来ていない)は=「 0 」
  デジタルなので「 1 」か「 0 」を使います。
 (P16=位置センサー)

 ドッグレールに来ると、変数の箱「センサー」に、「 1 」を()していきます。
  1回目に通る時は、変数の箱「センサー」に1を()すので0+1=1(箱の中は1)
  2回目に通る時は、変数の箱「センサー」に1を()すので1+1=2(箱の中は2)

 チャタリングを防ぐために、1秒間待ちます。
 (※くわしい説明(せつめい)を見てね)


 スイッチを入れると、1023のスピードで前進します。
 (1023=最高速度)

 変数の箱「センサー」の値(箱の中の数値)が
  もし、「 2 」であれば、⑪のプログラムを実行します。

  ⑪ 停車します。

  そうでなければ、⑨のプログラムに(もど)ります。


※くわしい説明(せつめい)
「チャタリングを防ぐ」とは
プログラミング列車が「ドッグレール」の上を通過する時間は、見た目では一瞬(いっしゅん)ですが
実は「センサー」は、 ON→OFF→ON→OFFと繰り返しています。(数ミリ秒~数秒)
それでエラーを起こしてしまう事があるので、あえて「1秒間待つ」のプログラムを入れます。

※ワンポイント
位置センサーのプログラム(⑤⑥⑦⑧)と、列車のプログラム(⑨⓾⑪)は同時進行(どうじしんこう)します。