2025/05/02 oxxo Arduino, featured 无标签

L298NとArduinoの配線図およびサンプルコード

配線図の説明

L298Nモジュールのピン   Arduinoピン
---------------------------------
ENA                 5 (PWMピン)
IN1                 7
IN2                 8
IN3                 9
IN4                 10
ENB                 6 (PWMピン)
12V                 外部電源の正極 (7〜12V)
GND                 外部電源の負極およびArduinoのGND
5V出力(オプション)   Arduinoの5V(給電が必要な場合)
モーターA           OUT1とOUT2
モーターB           OUT3とOUT4

サンプルコード

// L298Nモジュールのピン接続を定義
#define ENA 5   // Aの有効化 PWMピン
#define IN1 7   // モーターAの回転方向を制御
#define IN2 8   // モーターAの回転方向を制御
#define IN3 9   // モーターBの回転方向を制御
#define IN4 10  // モーターBの回転方向を制御
#define ENB 6   // Bの有効化 PWMピン

void setup() {
  // すべてのモーター制御ピンを出力に設定
  pinMode(ENA, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  
  // 初期状態ではモーターを停止
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  
  Serial.begin(9600);
  Serial.println("L298Nモーター制御サンプル");
}

void loop() {
  // モーターAは正転、モーターBは逆転
  Serial.println("モーターAは正転、モーターBは逆転");
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 200);  // モーターAの速度を設定 (0〜255)
  analogWrite(ENB, 200);  // モーターBの速度を設定 (0〜255)
  delay(2000);
  
  // すべてのモーターを停止
  Serial.println("すべてのモーターを停止");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  delay(1000);
  
  // モーターAは逆転、モーターBは正転
  Serial.println("モーターAは逆転、モーターBは正転");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 150);  // モーターAの速度を設定 (0〜255)
  analogWrite(ENB, 150);  // モーターBの速度を設定 (0〜255)
  delay(2000);
  
  // すべてのモーターを停止
  Serial.println("すべてのモーターを停止");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  delay(1000);
}

コードの機能説明

  1. L298NモジュールとArduinoの接続ピンを定義
  2. setup()関数で全てのピンを出力モードに初期化
  3. loop()関数内で以下を実行:

– モーターAは正転、モーターBは逆転
– すべてのモーターを停止
– モーターAは逆転、モーターBは正転
– 再度すべてのモーターを停止

注意事項

  1. 外部電源電圧は7〜12Vの範囲内にしてください
  2. 速度調整が不要な場合は、ENAとENBを直接5Vに接続可能です
  3. モーターの回転方向制御ロジック:

– IN1=HIGH, IN2=LOW → モーターA正転
– IN1=LOW, IN2=HIGH → モーターA逆転
– IN3=HIGH, IN4=LOW → モーターB正転
– IN3=LOW, IN4=HIGH → モーターB逆転

  1. analogWrite()関数によるPWM出力で、モーター速度を0〜255の範囲で調整可能です

用途に応じてピン接続やモーター制御ロジックを変更してください。

oxxo

发表评论

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

相关文章