ホーム 🔊 アクチュエータ Lesson 17
🔊 Chapter 4 • アクチュエータ&表示

DCモーターをまわそう!
スピードときを制御せいぎょ

⏱ やく60ぷん
🤖 Arduino使用しよう
🌀 L298N・PWM
🤖
エンジくん ロボットカーや扇風機に使われるDCモーター!サーボと違って「ぐるぐる回り続ける」のが特徴。L298Nモータードライバーを使って、スピードと向きを自由に変えよう!

1
このレッスンでまなぶこと

  • 🌀 DCモーターまわつづけるモーターの特徴とくちょう
  • 🔌 L298Nドライバー — モーターを安全あんぜんにArduinoで制御せいぎょするIC
  • 🔢 PWM(analogWrite) — 0〜255でスピードをえる
  • 🔄 IN1・IN2 — HIGH/LOWのわせできを切替きりかえ
  • 🎮 ファンシミュレーター — スライダーでモーターを仮想かそう制御せいぎょ

2
用意よういするもの

3
L298Nモータードライバーのしくみ

🔌 なぜモータードライバーが必要?

❌ 直接つなぐと…

モーターの大電流でArduinoのピンが壊れる!(ピンは最大40mA)

✅ L298Nを使うと…

外部電源でモーターを動かし、ArduinoはL298Nに信号だけ送ればOK!

📋 L298Nのピン説明

ENA
速さ制御ピン。analogWrite(ENA, 0〜255)でスピード調整
IN1
向き制御ピン1。HIGH/LOWで方向を決める
IN2
向き制御ピン2。IN1と逆にすると逆転
OUT1/2
モーターの2本の線をつなぐ端子
VCC
モーター用電源(7〜12V。外部電源推奨)

⚙️ IN1・IN2の組み合わせ表

IN1 IN2 モーターの動き
HIGH LOW 🔄 正転(前向き)
LOW HIGH 🔃 逆転(後ろ向き)
LOW / LOW または HIGH / HIGH 停止(ブレーキ)

4
コードをてみよう

// L298Nのピン定義 const int ENA = 3; // PWMピン(速さ) const int IN1 = 4; // 方向制御1 const int IN2 = 5; // 方向制御2 void setup() { pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); Serial.begin(9600); } void loop() { // 正転・フルスピード(3秒) digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, 255); Serial.println("正転 フルスピード"); delay(3000); // 正転・半分のスピード(3秒) analogWrite(ENA, 128); Serial.println("正転 ハーフスピード"); delay(3000); // 停止(1秒) analogWrite(ENA, 0); Serial.println("停止"); delay(1000); // 逆転・フルスピード(3秒) digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); analogWrite(ENA, 255); Serial.println("逆転 フルスピード"); delay(3000); // 停止(1秒) analogWrite(ENA, 0); delay(1000); }

💡 ENAにPWMを使うにはD3・D5・D6・D9・D10・D11などのPWM対応ピン(〜マーク付き)を使おう。デジタルの奇数ピンでも動きますが速さ調整はできません。

5
回路のつなぎかた

L298Nのピン つなぐ先
ENA D3(PWMピン)
IN1 D4
IN2 D5
VCC(モーター電源) 外部電源 7〜12V
GND GND(外部電源とArduino共通)
OUT1・OUT2 DCモーターの2本の線(どちらでもOK)

⚠️ 外部電源(9V電池など)のGNDとArduinoのGNDを必ずつなぐこと!共通GNDがないと動作しません。

6
実際じっさいにつないでみよう!

🎉 DCモーターマスター!スピードすぴーど向きむき制御せいぎょができるようになったね!

7
クイズに挑戦ちょうせん

🤖
エンジくん L298NのIN1・IN2の組み合わせとPWMでのスピード制御をしっかり覚えよう!
クイズをちゅう

8
ファンシミュレーター 🌀

🤖
エンジくん スライダーでスピードを変えて、方向ボタンで向きを切り替えてみよう!
0%
スピード
⏹ 停止
🌀 スピードを変える
停止(0) ハーフ(128) フル(255)
0
analogWrite(ENA)
LOW
IN1
LOW
IN2
0%
スピード
🏆

Lesson 17 完了かんりょう

DCモーターの制御せいぎょ完璧かんぺき!次はLCDディスプレイに文字もじ表示ひょうじしよう!

つぎのレッスンへ → LCD表示ひょうじ

9
まとめ

  • ✅ DCモーターは直接つながず、L298Nモータードライバーを使う
  • analogWrite(ENA, 0〜255) でスピード制御(PWM)
  • ✅ IN1=HIGH・IN2=LOW → 正転 / IN1=LOW・IN2=HIGH → 逆転
  • ✅ 外部電源のGNDとArduinoのGNDを必ず共通にする
  • ✅ L298Nにはフライバックダイオードが内蔵されているので安全!
← Lesson 16にもど 🏠 ホーム つぎのレッスン →