見出し画像

カムロボにラインセンサを搭載する

マイコンロボットの定番アプリケーションであるライントレースができるようセンサを追加します.通常の白黒(明暗)の検出に加えて色も検出できるラインセンサを搭載します.

今回使用する「カラーラインセンサ」は,近所のロボカップジュニア教室の手伝いで使うために数年前に作ったものです.
・フルカラーLEDとフォトトランジスタでカラーセンサを構成
・センサは5組搭載
・I2Cで通信

基板

フルカラーLEDとフォトトランジスタでセンサを構成
部品代を安く済ませるため,専用のカラーセンサICは使用せずにフルカラーLEDとフォトトランジスタを組み合わせてカラーセンサとして使います.フルカラーLEDの赤,緑,青を順番に点灯させ,それぞれの反射の強さの比から色を計算するという仕組みです.
この制御はマイコンで行います.この基板でもマイコンはMicrochip社の8bit AVR ATmega328を使用しています.

センサを5組搭載
ライントレースでは複数のセンサを並べて使用することが多いので,このカラーラインセンサでは5組のセンサを並べて配置してあります.

I2Cで通信
ロボカップジュニアでよく使われるロボットキットTJ3Bに接続できるようにI2Cで通信します.通信内容はTJ3Bの子機に合わせてあります.

カムロボに搭載しM5Stack/UIFlowから制御
今回はこのセンサをカムロボに搭載しました.TJ3Bに接続することを想定した作ったセンサですが,通信はI2CなのでM5Stack/UIFlowでもプログラムを作ればそのまま使うことができます.
ひとまず,ラインの明暗と色を読み取って前回カムロボに取り付けた目と口(?)のLEDで表示するプログラムを作ってみました.(プログラムが長くなるので,実際使うときはカスタムブロックを作った方が良いかもしれません.)

プログラム

まとめ
カムロボにカラーラインセンサを搭載しました.これで一般的な黒ラインのライントレースに加えて,色の判定が必要なちょっと複雑なライントレースも可能になります.


この記事が気に入ったらサポートをしてみませんか?