2学期開始!体験授業 受付中 →
ROBO SCIENCE

カラーセンサーは
何を測っているのか

2026.10.09
R1(Robotics1 初級) R2(Robotics2 中級)

ライントレースでは、同じカラーセンサーを「反射光モード」と「色モード」で使ってきました。部品はまったく同じで、変えたのは使い方だけです。

さわって試せる「カラーセンサー実験室」があります

センサーは、白い光を出している

まず、センサーの窓をのぞいてみてください(目を近づけすぎないように)。光っています。

カラーセンサーは、まわりの明るさをただ眺めているのではありません。自分で白い光を出して、それが返ってくる量を測っています。

ここは2つのモードで共通です。出している光は、どちらも同じ白い光。ちがうのは、返ってきた光の受け取り方だけです。

センサー 出した光 返ってきた光 白い床 よく返る → 値が大きい センサー 黒い線 吸いこまれる → 値が小さい
白いものは光をよく跳ね返し、黒いものは吸いこむ。だから白い床では値が大きく、黒い線の上では小さくなる。

センサーを床から離すと読めなくなるのも、これが理由です。出した光が広がってしまい、返ってくる量が減ります。

ロボットの前面。白いカラーセンサーが2つ並んで下を照らしている。
センサーが下を照らしているところ。この光が返ってくる量を測っている。

反射光モード ― 明るさを1つの数字にする

返ってくるのは 0〜100 の数字が1つだけです。色は見ていません。白い床なら大きく、黒い線なら小さくなります。

あとは白と黒を分けるしきい値を、自分で決めるだけ。それより大きければ白、小さければ黒。ライントレースは、これで走らせました。

測るのは1回で済むので速い。何十回も読み直すライントレースでは、この速さが効いてきます。

色モード ― 3つに分けて、色の名前を出す

第1回で使ったのがこちらです。出している光は同じ白い光ですが、返ってきた光をそのまま1つの数字にはしません。3つに分けて測ります。

記号色英語
R赤Red
G緑Green
B青Blue

この3色を光の三原色といいます。混ぜればあらゆる色が作れます。テレビもスマホの画面も、近づいて見ると赤・緑・青の点だけでできています。

返ってきた光 カラーセンサーの中 R 赤だけ に反応 G 緑だけ に反応 B 青だけ に反応 この3つの数字の組み合わせで色を見分けている
センサーの中には、赤だけ・緑だけ・青だけに反応する部分が3つ入っている。出す光は白のまま。

赤・緑・青の光を順番に出しているわけではありません。出す光は白のままで、分けているのは受け取る側です。白い光を1回当てて、返ってきたものを3つに仕分けています(技術仕様 ↗)。

これは市販のカラーセンサーICでも同じ作りです。よく使われる TCS3200 や TCS34725 も、受光部に赤・緑・青のフィルタが並んでいます。白い光+受け取る側で分けています。

ここで1つ、勘違いしやすいところがあります。赤いりんごは、赤い光を出しているわけではありません。当たった白い光のうち赤だけを返して、残りを吸いこんでいます。だから赤く見えます。人の目で見ているときも、起きていることは同じです。

白い光 赤・緑・青が混ざっている 赤いりんご 緑と青は吸いこまれる 赤だけ返る 目/センサー
白い光には赤・緑・青が混ざっている。りんごは赤だけを返し、緑と青を吸いこむ。だから赤く見える。

白い光を当てるからこそ、紙がどの色を返すかがわかります。もし赤い光だけを当てていたら、緑の紙も青の紙も「返ってこない」としか言えません。

色によって、3つの数字はこう出ます。

色RGB
白大大大全部返ってくる
黒小小小全部吸われる
赤大小小赤だけ返す
緑小大小緑だけ返す
青小小大青だけ返す

この3つの組み合わせから、センサーが「これは緑」と名前を決めて返します。3つ測ったうえで、最後に何色かを決める手間が加わります。色モードが少し遅いのは、これが理由です。

返ってくるのは名前だけではありません。赤・緑・青の数字そのものを読むこともできます。SPIKEでは「RAWカラー」というブロックで、赤・緑・青それぞれを 0〜255 の数字として取り出せます。センサーが名前を決める前の、もとの数字です。

読み方は3つ ― 反射光・色・RAWカラー

ここまでに出てきたものを並べます。同じセンサーから、3通りの読み方ができます。

読むもの測っているもの返ってくるもの
反射光返ってきた光の量だけ明るさの値(0〜100)
色R・G・B の3つ色の名前
RAWカラーR・G・B の3つ赤・緑・青それぞれの値(0〜255)

同じセンサー、同じ白い光。返ってきた光を1つにまとめるか、3つに分けるかだけのちがいです。そして3つに分けたあと、名前にするか、数字のまま受け取るかを選べます。

速さは、反射光がいちばん速くなります。測るのが1回で済むからです。色は3つ測ったうえで名前を決めるぶん、時間がかかります。

人の目も、同じことをしている

人の目も、同じやり方で色を見ています。目のおくには色を感じる錐体細胞(すいたいさいぼう)が3種類あり、それぞれ青(約420nm)・緑(約530nm)・赤(約560nm)に反応します。センサーの受光部と同じ分け方です。

分け方のしくみまで同じでした。錐体細胞の中のオプシンというタンパク質が、決まった波長の光だけを通すフィルタとして働きます。

カラーセンサー 自分で白い光を出す 赤 緑 青 赤・緑・青のフィルタ付き素子 センサーの中で計算 「緑」 人の目 まわりの光を使う 赤 緑 青 錐体細胞 3種類 脳で判断 「緑」
どちらも、3つに分けて受け取ってから、あとでまとめて色を決める。
カラーセンサー人の目
色を見る赤・緑・青のフィルタ付き素子錐体細胞 3種類
明るさだけ反射光モード桿体細胞(かんたいさいぼう)
光自分で白い光を出すまわりの光を使う
決める場所センサーの中の計算脳

黒と緑は、反射光では見分けられない

授業では、白・黒・緑・赤・青・銀の6色を用意して、両方のモードで自分で測ります。

色反射光の値色モードの答え
白・・・・・・・・・・
黒・・・・・・・・・・
緑・・・・・・・・・・
赤・・・・・・・・・・
青・・・・・・・・・・
銀・・・・・・・・・・

測ってみると、黒と緑は反射光では近い数字になります。どちらも光をあまり返さないからです。

0 20 40 60 80 100 反射光 黒 緑 白 この差で「緑だ」と言い切れるか 反射光モードで6色を測ると、黒と緑はここに並ぶ
黒も緑も光をあまり返さない。反射光の数字だけでは、この2つは重なってしまう。

この差で「いま緑の上にいる」と言い切るのは無理があります。つまり、反射光だけでは緑を見つけられません。ここで色モード(RGB)の出番になります。

さわって試せる
カラーセンサー実験室

紙が返す赤・緑・青をスライダーで動かすと、反射光モードの数字と色モードの答えが、その場で両方変わります。ここで出てきた「黒と緑が重なる」も、自分の手で確かめられます。

ひらく →

緑の印 ― 救助ゾーンの人か、曲がる方向か

レスキューラインのコースには、黒い線のほかに色のついた目印が出てきます。代表的なのが緑の印と銀色のテープです。

緑の印はカテゴリによって違います。

レスキューライン エントリー ― 救助ゾーンの人が緑

黒い線をたどっていくと、その先に救助ゾーンがあります。そこで助ける人が緑です。緑が見つけられれば、人を見つけたことになります。

黒い線をたどっていく ロボット 救助ゾーン 中に線はない 人(緑)
救助ゾーンの中に線はない。線をたどるのはここまでで、そこから先は緑をたよりに人をさがす。

レスキューライン ワールド ― 交差点の緑が曲がる方向

上のカテゴリでは、同じ緑が別の意味で出てきます。分かれ道に置かれた緑が、どちらへ曲がるかを指示します。ライントレースのときに「黒・黒」の場所をわざと空けておきましたが、その答えがこれです。

ロボットはここから来る 左へ曲がる ロボットはここから来る 右へ曲がる 分かれ道の手前、線の横に緑の印が置かれる
線の左に緑があれば左、右にあれば右。どちらへ進むかが色で指示される。

同じ緑でも、置かれている場所で意味が変わります。見分け方そのものは、どちらも同じです。だから今回ここをやっておくと、上のカテゴリへそのまま持っていけます。

ただし、印の意味や置かれ方は年度ごとに変わります。実際に組むときは、その年のルールブックで必ず確かめます。

緑を見分ける ― 色の名前か、RGBの数字か

① 色の名前で判定する

「色が緑なら」と書きます。簡単です。ただし、センサーが「緑」と認めてくれないと使えません。

② RGB の数字で判定する

「G が大きくて、R と B が小さければ緑」と自分で決めます。少し色が薄くても、印刷が多少ちがっても拾えます。反射光モードでしきい値を自分で決めたのと同じ考え方で、センサーの判定にまかせず、数字を見て自分で線を引きます。

大会会場では②のほうが頼りになることが多いです。照明も紙も、教室と同じではないからです。

うまくいかないとき

センサーが床から離れすぎている(離れると全部の値が下がります)。モードが目的に合っていない。緑と認識されない場合は、紙の緑が薄いか、暗すぎるか。緑と青をとりちがえる場合は、RGBの数字で判定する方式に切りかえます。

ロボサイエンスについて

ロボカップジュニア2027 に向けて、レスキュー(災害救助)とサッカーの2種目に取り組みます。プログラミングと電子工作の経験は問いません。

前回:ライントレース ― しきい値を自分で決める →
ロボサイエンスの記録一覧 →
体験授業・お問い合わせ →

← ロボサイエンスの記録一覧へ戻る