HOME > natural science Laboratory > ものづくり講座 > ものづくり講座 授業日誌 > 応用編

【2009.09.03】
ループ処理を用いてロボットに複雑な命令をさせよう!!

文責:八重樫 和之 (2009年9月 4日) カテゴリ:応用編(156)

前回、ロボットのモータ制御ができたS木君(ものづくり講座1年4ヶ月,小学校6年生)。 ロボットの左右のモーターについて、それぞれ回転方向を制御し、好きな方向へ走らせてきました。 これに対し、今回は命令を組み合わせて、ロボットが目標地点でUターンして戻ってくるプログラミングを考えます。 Uターンなどある程度複雑な命令になる場合、以前AVRマイコン学習ボードで学んだfor文によるループ処理を使います。 前進の命令、回転の命令をそれぞれ組み合わせ、ループ文で繰り返します。

しかし、なぜかループ文を2つ並列にマイコンに書き込むと、時々プログラムどおりモーターが動かないというバグが発生してしまいました。 原因を探してみると、今回はプログラミングに問題がありました。ポート処理の際に同時に2つのPINを制御した状態でループ文を2つ使うと誤作動を起こすようです。 そこで、PINを1つずつ、1ミリ秒間隔で交互にまわすことでこの問題を回避しました。 次回は、センサー回路を取り付け、自ら障害物を避けるようなロボット製作を目指しましょう!!

yattemiyou_090903.gif



▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました