この記事の結論
- 車輪ロボットの基本構成は「シャーシキット+DCモーター2個+モータードライバ+電池ボックス」の4点
- モーター用の電源とArduino用の電源は分けるのが、動作を安定させる一番のコツ
- モータードライバ(L298N)の配線パターンさえ覚えれば、前進・後退・旋回は数行のコードで動かせる
- 慣れてきたらフォトリフレクタセンサーを追加して、ライントレースカーへ発展させられる
LEDを光らせたりセンサーの値を読んだりする工作に慣れてくると、次は「自分で動くもの」を作ってみたくなるはずです。
Arduinoでの車輪ロボット作りは、電子工作の中でもとくに達成感が大きいテーマです。
この記事では、初めて車輪ロボットに挑戦する人に向けて、必要な部品・配線・基本のコードの流れを整理します。
回路理論の深い説明には踏み込まず、まずは「動かす」ところまでを目標にします。
Arduinoロボット製作の全体像、どんな種類が作れるか
車輪型ロボットとライントレースカーの違い
Arduinoで作る移動ロボットは、大きく分けると「車輪型ロボット」と「ライントレースカー」の2つに分類できます。
車輪型ロボットは、モーターを直接コードで制御して前進・後退・旋回させるシンプルな構成です。
一方のライントレースカーは、床に貼った黒いテープなどのラインをセンサーで検知しながら、自動でその上を走り続ける仕組みを持っています。
自作かキットか、初めてはキットがおすすめな理由
車体(シャーシ)は、木材やアクリル板を切り出して自作することもできます。
ただ、初めての1台としては、モーター取り付け穴やタイヤの位置があらかじめ設計されている「シャーシキット」を使うほうが失敗しにくくなります。
市販のシャーシキットには、車体・タイヤ・DCモーター2個があらかじめセットになっている製品が多く販売されています。

この記事でも、こうした「2輪駆動(2WD)シャーシキット」を土台にした構成で解説します。
車輪ロボットに必要な部品リスト
シャーシ・モーター・タイヤ
車輪ロボットに最低限必要な部品は、次の4つに整理できます。
| 部品 | 役割 | 価格帯の目安 |
|---|---|---|
| 2WDシャーシキット(車体・タイヤ・DCモーター2個) | 車体の土台とタイヤの回転 | 800〜1,500円程度 |
| モータードライバ(L298Nモジュール) | Arduinoからの信号でモーターの方向・速度を制御 | 販売店により300円台〜2,000円台と幅があります |
| 単3形電池ボックス(4本用など)とジャンパー線 | モーター用の電源供給 | 200〜400円程度 |
| ブレッドボード用ジャンパー線一式 | Arduino・L298N・電池ボックス間の配線 | 300円程度 |
価格は購入する店舗や時期によって変動するため、あくまで目安として参考にしてください。
ジャンパー線やブレッドボードといった基礎工具については、電子工作に必要な道具リストと予算別の早見表の記事でまとめて紹介しています。
紹介した商品:2WDスマートカーシャーシキット
RASBEE 2WDロボットスマートカーシャーシ(車体・タイヤ・DCモーター2個)
この記事で紹介した構成そのままの、車体・タイヤ・モーターがセットになったキットです。
Amazon ¥1,699
※価格は記事執筆時点のものです。購入前に最新価格をご確認ください。
紹介した商品:ダブルギヤボックス(左右独立4速タイプ)
タミヤ ダブルギヤボックス(左右独立4速タイプ)(TAMIYA SHOP ONLINE)
左右のモーターを独立制御できる組み立て式ギヤボックスで、シャーシを自作したい人や、より本格的な駆動部にこだわりたい人向けの選択肢です。
¥1,100(税込)
※価格は記事執筆時点のものです。購入前に最新価格をご確認ください。
モータードライバ(L298N)と電池ボックス
ロボット製作で初めて出てくる部品が「モータードライバ」です。

Arduinoのピンは電流を少ししか流せないため、モーターに直接つないでも十分な力で回すことができません。
モータードライバは、Arduinoからの小さな信号を受け取って、モーターを動かすための大きな電流に変換する「仲介役」の部品です。
入門用としてもっとも定番なのが「L298N」という名前のモータードライバモジュールで、DCモーター2個までを同時に方向・速度制御できます。
L298Nには、IN1〜IN4という4本の方向制御ピンと、ENA・ENBという2本の速度制御ピンがあります。
IN1・IN2がモーターA、IN3・IN4がモーターBの回転方向を決め、ENA・ENBで速度(PWM)を調整する、という役割分担を覚えておくと配線図が読みやすくなります。
紹介した商品:モータードライバモジュール(L298N)
L298N モータードライブコントローラーボード 2個セット
予備を含めた2個セットなので、配線をやり直すときにも安心です。
Amazon ¥750(2個)
※価格は記事執筆時点のものです。購入前に最新価格をご確認ください。
L298Nモータードライバの配線とArduinoへの接続
配線は、Arduino側とモーター側で電源を分けて考えると理解しやすくなります。
まず、L298NのIN1・IN2・IN3・IN4を、Arduinoのデジタルピン8・9・10・11にそれぞれつなぎます。
次に、ENA・ENBはPWM対応ピン(基板に「〜」マークが付いているピン)であるデジタルピン5・6につなぎます。
ここで見落としやすいのが、ENA・ENBのピンヘッダに工場出荷時から刺さっている黒いジャンパキャップです。
このジャンパキャップはENA・ENBを基板上で5Vに直結する部品で、付けたままだとモーターは常に最大速度で回り続け、analogWriteによる速度調整も、0を送っての停止命令も効きません。
配線する前に、ENA・ENBのジャンパキャップを2つとも指でつまんで抜き取ってから、Arduinoの5番・6番ピンに接続してください。

L298Nの「+12V」「GND」の端子には、単3形電池ボックスなどのモーター用電源をつなぎます。
ここでもっとも重要なのが、Arduinoの電源(USBまたは電池)とモーター用電源のGND(マイナス)同士は、必ず一本の線でつないでおくという点です。
GNDが共通になっていないと、Arduinoが送った信号の基準がモーター側とずれてしまい、モーターが正しく反応しません。
逆に電源のプラス側(+12Vと5V)は共通にする必要はなく、混ぜてつなぐと故障の原因になるので分けたままにしてください。
Arduino本体は、USBケーブルからの給電か、Arduino専用の電源ジャックからの給電で問題ありません。
「Arduino用の電源」と「モーター用の電源」を分けておくことで、モーターが動いた瞬間の電圧の揺れがArduino本体に影響し、リセットがかかってしまうトラブルを防げます。
前進・後退・旋回を動かす基本のコード
digitalWriteで回転方向を決める
モーターの回転方向は、IN1〜IN4のHIGH・LOWの組み合わせで決まります。
たとえば「IN1をHIGH、IN2をLOW」にするとモーターAが正転し、逆に「IN1をLOW、IN2をHIGH」にすると逆転する、という関係です。
この組み合わせを、モーターAとモーターBそれぞれに設定することで、前進・後退・その場旋回といった動きを作れます。
analogWriteで速度を調整する
ENA・ENBには、0〜255の数値でモーターの速度を指定できる「analogWrite」という命令を使います。

数値が大きいほどモーターに流れる電流(実質的な出力)が増え、回転が速くなるイメージです。
実際の基本コードの例は、次のようになります。
const int IN1 = 8;
const int IN2 = 9;
const int IN3 = 10;
const int IN4 = 11;
const int ENA = 5;
const int ENB = 6;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
}
void forward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 150);
analogWrite(ENB, 150);
}
void stopMotors() {
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}
void loop() {
forward();
delay(2000);
stopMotors();
delay(1000);
}
このコードでは、2秒間前進してから1秒間停止する、という動きを繰り返します。
後退や旋回を作りたい場合は、forward関数と同じ要領でHIGH・LOWの組み合わせを変えた関数を追加すれば対応できます。
ライントレースカーへの発展、必要なセンサーの考え方
前進・後退が思い通りに動かせるようになったら、次のステップとしてライントレースカーへの発展を考えてみましょう。
ライントレースカーで使うのは「フォトリフレクタ」と呼ばれる、赤外線LEDと受光素子がセットになった反射型のセンサーです。
白い床と黒いラインでは光の反射率が異なるため、センサーの値の変化から「今どちらの上にいるか」を判定できます。
フォトリフレクタの読み取り値は、配線や周囲の明るさによってばらつきが出やすい部品です。
実際に動かしながら、シリアルモニタでセンサーの数値を確認し、境目となる数値(しきい値)を自分の環境に合わせて調整する作業が必要になります。

紹介した商品:フォトリフレクタセンサー(TCRT5000)
TCRT5000赤外線反射センサーモジュール 10個セット ジャンパー線付き
ライントレースカーで使う反射型センサーです。左右2個の取り付けでも予備を含めた数量で扱いやすいセットです。
Amazon ¥1,309(10個セット)
※価格は記事執筆時点のものです。購入前に最新価格をご確認ください。
よくあるつまずきポイント
車輪ロボットの製作でつまずきやすいポイントは、あらかじめ知っておくと対処が早くなります。
モーターが動かない、または動きが不安定な場合、多くはモーター用電源の電池残量不足が原因です。
新品の電池に交換しても改善しない場合は、GND同士の配線が外れていないかを次に確認してください。
それでも解決しない場合は、書き込みできない・反応しないときのチェックリスト記事の電源・配線の切り分け手順も参考になります。
「前進のつもりが後退した」「片方だけ逆回転する」といった場合は、配線ミスではなくコードの中のHIGH・LOWの組み合わせが実際の配線と逆になっていることが多いです。
配線を直すより先に、コード側のHIGH・LOWを入れ替えて試すほうが早く解決できるケースがほとんどです。
また、シャーシキットの組み立て時にモーターの軸とタイヤの取り付けが緩いと、動かしているうちに空回りすることがあります。
動作確認は、タイヤを浮かせた状態で1度行ってから、実際に床に置いて走らせる順番がおすすめです。
まとめ:ロボット製作前のチェックリスト
車輪ロボットの製作に取りかかる前に、以下の点がなんとなくつかめているか確認してみてください。
- シャーシキット・L298N・モーター用電源の役割分担が、なんとなく区別できている
- ArduinoとL298Nは、GND(マイナス)だけ共通にして、電源のプラス側は分ける必要があることが頭に入っている
- IN1〜IN4のHIGH・LOWの組み合わせで回転方向が決まる仕組みが、だいたいわかっている
- 動かない・逆回転するといったトラブルが起きても、電源→配線→コードの順に切り分けられる見当がついている


コメント