使用する機材
・マイクロビット
・プログラミング列車
(位置センサー有)
目的
スイッチを「入」にすると
速いスピードで前進
ドッグレールにきたら
停車する
プログラム
(1週回って、ドッグレールで停車する)
解説
① 今回はLEDを使わないので、「偽」 にします。
② スイッチを「入」にした時、、勝手に前進しないようにします。
(P13=前進)
③ スイッチを「入」にした時、勝手に後進しないようにします。
(P14=後進)
④ 変数の箱の名前を「センサー」にして、箱の中に「 0 」を入れます。
(ドッグレールの上に来たのかどうかを判断するのに使います)
(変数ブロックの作り方は、YouTube「Lesson5 変数」を見てね)
⑤ 50ミリ秒ごとに、【位置センサーのプログラム】をくり返します。
(50ミリ秒=0.05秒)
⑥ もし、ドッグレールの上に来たら=「 1 」
そうでない時(来ていない)は=「 0 」
デジタルなので「 1 」か「 0 」を使います。
(P16=位置センサー)
⑦ 変数の箱「センサー」に、「 1 」を入れます。
(ドッグレールの上に来たのかどうかを判断するのに使います)
⑧ チャタリングを防ぐために、1秒間待ちます。
(※くわしい説明を見てね)
⑨ スイッチを入れると、1023のスピードで前進します。
(1023=最高速度)
⑩ 変数の箱「センサー」の値(箱の中の数値)が
もし、「 1 」であれば、⑪のプログラムを実行します。
⑪ 停車します。
⑫ 変数の箱「センサー」に、「 0 」を入れます。
⑬3秒間停車します。
そうでなければ、⑨のプログラムに戻ります。
※くわしい説明
「チャタリングを防ぐ」とは
プログラミング列車が「ドッグレール」の上を通過する時間は、見た目では一瞬ですが
実は「センサー」は、 ON→OFF→ON→OFFと繰り返しています。(数ミリ秒~数秒)
それでエラーを起こしてしまう事があるので、あえて「1秒間待つ」のプログラムを入れます。