MONOXIT の無線ロボット MI100 でちゃんとしたライントレースをやってみようと思い、最小限の改造をしてみました。
(2014.11.25 追記;
外部にLEDライトを取り付けなくてもライントレースできるようにしました。
→・無線ロボット MI100改 でライントレースをやってみた(決定版?))
まず、光センサーが MI100 の上面に付いているのが問題なので、基盤を下向きにひっくり返すことにしました。さらに、光センサーの位置はなるべく先端に近い方が方向制御がしやすいので、モーター(車輪)の位置よりも前に取り付けることにしました。
MI100 は両面テープで組み立ててあるだけなので、改造といっても各部品を剥がして、もう一度貼り付け直すだけです。あと、先端が重くなって後ろが浮いてしまうので、適当な重りを最後部にくっつけます。
ただし、光センサーを下向きにしただけでは、暗すぎて床面の明るさの差を測定できないので、どうしても照明が必要です。基盤に付いている LEDが使えないかとも考えたのですが、現状では難しそうなので、LEDライトを100円ショップで買ってきて取り付けることにしました。
こうして、部品としては(ほぼ)LEDライトの追加だけで「MI100改 ライントレーサー」の完成です!
そこで、すごく安直なプログラムを Ruby で書いて試しに動かしてみました。
これがなんとちゃんとライン通りに動いてくれるじゃないですか〜
そのライントレースの様子です;
その時のプログラムです;
------------------------------------------------------------------------------------------
require "mi100"
robo = Mi100.new "/dev/tty.RNBT-BB24-RNI-SPP" #ブルートゥースの接続COM名は自分のものを
robo.good
puts robo.power
robo.speed 200
dark = 10 #黒と白の閾値は実際に測って決める
loop do
bright = robo.light
puts bright
if bright >= dark
robo.turn_right! 30
else
robo.turn_left! 30
end
end
robo.speed
robo.close
------------------------------------------------------------------------------------------これで、いろいろ遊べそう
(2014.11.26 追記;
MONOXITさんのページで紹介していただきました。
→・MI100でライントレースカーの記事のご紹介 - MONOXIT )
⚪︎関連記事;
→・Rubyで動かす無線ロボット MI100 の設定法(Mac編、Windows編)
→・Rubyで動かす無線ロボット MI100 の命令一覧とその追加
→・無線ロボット MI100 でライントレース(もどき)をやってみた
→・無線ロボット MI100改 でライントレースをやってみた(決定版?)
→・無線ロボット MI100 のファームウェアを書き換えてみた
→・無線ロボット MI100改 のファームウェアでライントレースをやってみた
→・MI100 でライントレースをする設定(Windows編、Mac編)
→・「MI100ロボットでライントレース大会」のスライドを公開しました