ArduinoでL9110を使用します

Using the L9110S With the Arduino

L9110Sモータードライバーは、ArduinoプロジェクトでDCモーターとステッピングモーターを制御するためのコンパクトで効率的なソリューションです。シンプルなロボットを構築するか、より複雑な自動化システムを構築するかにかかわらず、L9110Sは、最小限の配線とプログラミングの複雑さでモーター操作を管理する信頼できる方法を提供します。このブログ投稿では、L9110Sモータードライバーの機能、それをArduinoに接続する方法を調べ、サンプルコードを提供して開始することを検討します。

L9110とは何ですか?

L9110Sは、2つのDCモーターまたは1つのステッパーモーターの速度と方向を制御するように設計されたデュアルチャネルモータードライバーICです。 2.5V〜12Vの電圧範囲で動作し、さまざまなアプリケーションに汎用性があります。 L9110Sは、コンパクトなサイズ、低消費電力、およびArduinoのようなマイクロコントローラーとの統合の容易さで知られています。

なぜL9110を選ぶのですか?

  • コンパクトデザイン: その小さなフットプリントは、スペースが限られているプロジェクトに最適です。
  • デュアルチャネル: 2つのモーターを独立して制御し、複雑な動きを可能にします。
  • 使いやすい: 簡単な接続のための明確なラベル付きのシンプルなインターフェース。
  • 費用対効果: 機能に妥協することなく、手頃な価格設定。

L9110をArduinoに接続します

ArduinoでL9110をセットアップするのは簡単です。以下は、接続を作成するための段階的なガイドです。

  1. パワー接続:
    • 接続します VCC Arduinoの5VピンからL9110のピン。
    • 接続します GND ArduinoのGNDピンへのL9110のピン。
  2. モーター接続:
    • 最初のモーターをに接続します OUT1 そして OUT2 ピン。
    • 2番目のモーターを使用する場合は、に接続します OUT3 そして OUT4 ピン。
  3. コントロールピン:
    • 接続します AIN1 そして AIN2 Arduinoの2つのデジタルピンにピン(例:ピン2および3)。
    • 2番目のモーターを使用する場合は、接続します BIN1 そして BIN2 他の2つのデジタルピン(例:ピン4および5)。

接続の視覚的表現については、以下の図を参照してください。

L9110S Arduino接続図

Arduinoのプログラミング

ハードウェアをセットアップした後、次のステップは、モーターを制御するためにArduinoをプログラムすることです。以下は、L9110Sモータードライバーを使用してDCモーターの方向と速度を制御する方法を示すサンプルコードです。


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

説明:

  • AIN1 そして AIN2 モーターの方向を制御するために使用されます。
  • 設定 AIN1 高くて AIN2 低いモーターが前方に回転します。
  • 設定 AIN1 低く AIN2 高さはモーターを後方に回転させます。
  • 両方を設定します AIN1 そして AIN2 ローはモーターを止めます。

PWMで速度を制御します

L9110Sは、速度制御のためにPWM(パルス幅変調)をサポートします。 PWM信号のデューティサイクルを変更することにより、モーターの速度を調整できます。以前のコードを変更して速度制御を含める方法は次のとおりです。


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

説明: analogWrite() 関数はPWM信号をモーターに送信し、その速度を制御できるようにします。値の範囲は0(停止)の範囲です。

Arduinoを使用したL9110のアプリケーション

L9110SモータードライバーとArduinoの組み合わせは、幅広いプロジェクトの可能性を開きます。

  • ロボット工学: 正確なモーター制御でロボットアームまたはモバイルロボットの動きを制御します。
  • 自動化システム: アセンブリラインの開閉/閉鎖、バルブの調整、移動コンポーネントなどのタスクを自動化します。
  • DIYプロジェクト: 電動カメラスライダー、自動植物散水システム、またはリモート制御車両などのカスタムエレクトロニクスプロジェクトを作成します。
  • 教育ツール: 実践的なプロジェクトを通じて、モーター制御、電子機器、プログラミングについて生徒に教えます。

結論

L9110Sモータードライバーは、Arduinoを使用してモーターを制御しようとしている人にとっては、多用途で使いやすいコンポーネントです。そのデュアルチャネル機能は、配線とプログラミングのシンプルさと組み合わせて、初心者と経験豊富な愛好家の両方に最適な選択となります。この投稿で概説されている手順に従うことにより、モーター制御をプロジェクトにすばやく統合し、Arduinoベースのシステムの機能を拡大できます。

L9110Sモータードライバーの可能性を完全に活用するために、さまざまなモーター速度、方向、およびアプリケーションを試してください。幸せな留め!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.