使用する機材
・マイクロビット
・プログラミング列車
(位置センサー有)
目的
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秒間待つ」のプログラムを入れます。
※ワンポイント
位置センサーのプログラム(④⑤⑥⑦)と、列車のプログラム(⑧⑨➉)は同時進行します。