KOOVの作例「機関車」は、線に沿って自動で走る、シンプルかつ楽しいロボットです。
見た目はかわいらしい機関車の形ですが、機能的には「ライントレーサー」に近く、赤外線フォトリフレクタを使って走行経路を認識します。
この記事では、「機関車」のしくみやプログラムをわかりやすく解説し、カスタムのヒントもご紹介します。
作例『機関車』にセンサーを追加した、高精度ライントレースに挑戦した記事はこちら!
作例「機関車」とは?

「機関車」は、黒い線(黒テープなど)をセンサーで読み取り、そのラインに沿って自動で進むロボットです。
DCモーターで前輪を駆動し、前方に設置された赤外線フォトリフレクタによって、地面の線(黒いテープなど)を読み取って進みます。
KOOVの中では比較的シンプルな構造ですが、センサーによる判断とモーターの制御という基本がしっかり詰まっており、初級~中級のステップアップに最適です。
作成可能キット
機関車はアドバンスキットのみで作成可能です。
キット | 作成可否 |
---|---|
エントリーキット | × |
ベーシックキット2 | × |
スターターキット | × |
アドバンスキット | ● |
※必要ブロック数が多いため、アドバンスキットのみで作成可能
「機関車」の遊び方
- 白い紙に黒ラインを書いたコースを準備する(黒いマスキングテープでもOK)
- 黒ライン上に置いた状態で、本体の電源をONする
- 1秒後に走行を開始する
- 赤外線フォトリフレクタがラインを検知し、左右のタイヤを制御して黒ラインに沿って走行する
シンプルな動きながら、コース取りやスピードの微調整によって動き方が大きく変わるため、子どもも大人も熱中できる作例です。
カーブや分岐を含んだコースにすることで、観察力や工夫する力も育まれます。

ライントレース用の黒色ラインの作成には、反射の少ない黒色マスキングテープがお勧めです。
(黒色マジックペンでは、反射してセンサーが黒色を認識しないことがあります)
入力と出力の仕組み

入力要素 | 内容 |
---|---|
赤外線フォトリフレクタ | 白い背景と、黒いラインを検出する |
出力要素 | 内容 |
---|---|
DCモーター | 左右のタイヤを制御する |
車体の中央に赤外線フォトリフレクタがあり、黒いラインの検出を行います。

プログラム解説
機関車のプログラムは、以下のような流れで構成されています。

このプログラムは、次の3つのフェーズで構成されます。
- 『タイヤ速度の初期設定』フェーズ
- 『開始待ち』フェーズ
- 『赤外線フォトリフレクタでライン検知し、タイヤを制御する』フェーズ
フローチャートはそれぞれのフェーズに合わせて色分けしています。
『黒いラインの検出』は「赤外線フォトリフレクタの値 < 80」で判定しています。

白い背景の検出時は値が80より大きく、黒いラインの検出時は80より小さくなると想定されたプログラムの様です。
赤外線フォトリフレクタの値 | 意味 |
---|---|
< 80 | 黒を検出している状態 |
≧ 80 | 白を検出している状態 |
つまり、このライントレーサーの制御方法は次のようになることが分かります。
- 黒を検出した場合、左回転
- 白を検出した場合、右回転
ここを変えるともっと楽しい!カスタムのヒント
「ライントレーサー」は、プログラムの工夫次第でさまざまな挙動にアレンジできます。
ここではプログラム上で変更できるポイントをいくつか紹介します。
モーターの速度を調整する
スピードを上げるとスリリングに、下げると安定した動きに。
初心者は低速スタートがおすすめ。
具体的な変更箇所は、プログラムの開始直後の、DCモーターの速さを設定している箇所。
数字『50』を任意の数字に変更することで対応できます。

曲がり方を調整する
ロボットが右回転するとき、左タイヤは停止状態で、右タイヤのみ動かしていますが、このとき、左タイヤを逆回転させることで、曲がり方を変えることができます。
また、左右の速度を異なる値に設定したりすると、様々なコースに対応できるようになります。
プログラムの場所は、赤外線フォトリフレクタの値を判定している箇所。
『ゆっくりとめる』と設定している箇所を変更してみましょう。

左右で異なるタイヤ速度を設定する場合は、タイヤの速さを設定するブロックが必要です。
是非、様々な動きをさせてみてください。
まとめ:センサーとプログラムで、シンプルな動きに深みをプラス
「機関車」は、見た目はシンプルながら、センサーを使って賢く動く仕組みが詰まった作例です。
自動で動き出すため、ボタン操作なしで手軽に楽しめる一方、プログラムの調整によって学びの幅を広げることができます。
「どうすればもっとスムーズに走るか?」を考えながら試行錯誤することで、プログラミングの基本やロボットの動作原理への理解が自然と深まります。
ぜひ、オリジナルのコースや動きを加えて、自分だけの「機関車」にカスタムしてみてください!
ロボットを作ることを楽しみたい
プログラミングの基本をやさしく体験したい
プログラミングでロボットを細かくコントロールしてみたい
プログラミングで高精度な制御に挑戦したい