« いまどきにアナログ・テレビ送受信機を秋月で作る (2) | メイン | エレキジャックNo.15 もっとくるくるツリー★~木の葉編~ »

連載キットで作る(97)プログラミング学習用教材ロボット BeautoRacer(27)

上級者向き機能(7)
メモリマップのLEDを使用して「右前に進む」の動作を確認する

   「右前に進む」のアクションブロックは、次に示すように0から100%までの設定値を変えることで直進から、その場での旋回まで任意の曲がり方を設定することができます。
 次のように0%を設定すると、ロボットは直進します。

kt97000010.jpg

  「右前に進む」の曲がり方の設定状況を、二つのLEDの点灯状態で示すことにします。0%の設定のときは両方のLEDを点灯することにします。

演算ブロックを使用してLEDの点灯を制御する
   LEDの点灯制御には左右のLEDの点滅を制御する二つのアクション・ブロック、「LED left」、「LED right」があります。このアクションブロックを二つ並べてそれぞれのLEDをオン/オフする方法があります。その方法でも可能ですが、前回示したように演算のアクション・ブロックを用いると一つのアクション・ブロックの操作で二つのLEDの点滅を制御することができます。
 最初の0%の設定のときは、両方のLEDを点灯することとします。そのために、演算ブロックでメモリ・マップのLEDには3を設定しています。
 二番目の設定では右のLEDのみ点灯するために、次に示すようにLEDには2を設定しています。


kt97000020.jpg このときの、旋回量の%は20%にしてみました。
 この後、3番目の設定ではLEDには1、旋回量は40%にします。最後の4番目の設定ではLEDを両方消灯するために0を設定し、旋回量を70%に設定しました。

kt97000030.jpg 開始時がはっきりするように、最初に1.5秒の停止を入れてあります。その後旋回量が0%ですので直進します。直進の場合は1.5秒の走行でもはっきりわかります。曲がり方の違いですと1.5秒走らせただけではわからないので、それぞれの走行時間を長くしました。
 このように、LEDの点灯状態で旋回量の設定値がわかりますので、いろいろ旋回量を示す%の値を変更して動作を確認することができます。
旋回量  0%   直進します
旋回量 10%   ほとんど直進であまり曲がりません
旋回量 20%   30cmくらいの円を描きました
旋回量 40%   旋回するロボットの内側の車輪が数cmの円を描いています
旋回量 60%以上 その場での旋回になり、60%以上では差が認められません 

 このような結果になりました。それぞれ試してみてください。同じ条件で走らせても結構ばらつきます。ただし、LEDの点灯状態でプログラムのどの部分を実行しているかわかりますので、プログラムの動作確認に大いに役立つことが確認できました。

<神崎康宏>

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/3700

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1