IMG_5007

MONOXIT の無線ロボット MI100ライントレースをやってみましたが、100均のLEDライトを取り付ける必要がありました。今回は内蔵LEDを点灯することでMI100単独でライントレースさせてみます。

MI100にはもともと内蔵のLEDが付いています。せっかく付いている内蔵LEDを使わない手はない!ということで、MI100本体のファームウェアMI100制御プログラムを改造することにしました。

プログラムの改造方法については別記事にしますが、なんとか内蔵LEDを点灯/消灯させることが出来るようになりました。
(→・無線ロボット MI100 のファームウェアを書き換えてみた

MI100自体の改造方法は前回通りです。光センサーを含む基盤部分はやはりなるべく前方に取り付けないと方向制御がうまくいきませんでした。また、外部LEDライトを取り付ける必要がなくなりましたが、それでも前部が重いので、バランスの関係で本体最後部には重りがあった方が良いようです。

(2014.11.30 追記;
IMG_5095

15cm定規に貼り付けてみました。この方が、光センサーの位置や重量バランスが良いようです。)


ライントレースの様子です;




その時のプログラムです;
(turn_led を実装した gemの mi100と、ファームウェアの MI100firmware が必要です。
⚪︎ mi100(gem)
→・GitHub のブランチにある gem をインストールする方法
→・noanoa07/mi100 at turn_led_spike

⚪︎ MI100firmware(本体内のファームウェア)
→・無線ロボット MI100 のファームウェアを書き換えてみた 
→・noanoa07/MI100firmware at turnLedRgbSpike ) 

(2014.12.21 追記;
Windows版 Ruby で gem がインストールできない場合はこちらを;
→・Windowsでgem installするとSSLエラーが出る場合の解決策 - Qiita


(2015.1.23 追記;
設定法をまとめました。
→・MI100 でライントレースをする設定(Windows編、Mac編) )

(2015.2.18 追記;
drive_right 命令を追加しました。下記記事の記述も改めました。
→・MI100 でライントレースをする設定(Windows編、Mac編)


------------------------------------------------------------------------------------------
require "mi100"

robo = Mi100.new "/dev/tty.RNBT-BB24-RNI-SPP"  #ブルートゥースの接続COM名は自分のものを
robo.good
puts robo.power

robo.turn_led 100,100,100
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

turn_led 0,0,0
robo.close
------------------------------------------------------------------------------------------ 


⚪︎関連記事;
→・MI100 でライントレースをする設定(Windows編、Mac編)
→・「MI100ロボットでライントレース大会」のスライドを公開しました
→・「MI100ロボットでライントレース大会(第2回)」のスライドを公開しました