NO. d-003

使用する機材

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


目的

Aボタンを押されたら
速いスピードで前進
ドッグレールの上にきたら
何週目かをLEDに表示する


プログラム
(何週回ったかを、LEDに表示する)

解説

 今回はLEDを使うので、「真」 にします。

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

 マイクロビットのLEDに「センサー」の値を表示します。


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

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

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

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


 Aボタンを押されたら

 2秒間待ちます。
 (2000ミリ秒=2秒)

 1023のスピードで前進する。
 (1023=最高速度)


 マイクロビットのLEDに変数の箱「センサー」の値(ドッグレールの上に何回来たのか)を表示する。


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

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