Arduino + モータドライバ + DCモーター

バージョン情報
Arduino IDE 1.0.6 ,windows 8.1

Amazonでモータドライバを¥350でゲットしたのでArduinoとつないでDCモーターを回してみた。

予備実験

Arduinoにつなぐ前にモータドライバとモータのみで正転・逆転の動作を確認してみた。
回路1

正転スイッチを押すと正転、逆転スイッチを押すと逆転することが確認できた。

材料

Arduino
モータドライバ:L9110S
DCモータ
ボリューム(可変抵抗)
エネループ:4本

回路

回路2

ソースコード

//DCモーター
 
#define AIN 1
#define M1_A 5
#define M1_B 9

int val = 0;
int out = 0;
 
void setup() {
  pinMode(M1_A, OUTPUT);     
  pinMode(M1_B, OUTPUT);
}

void loop() {
  
  val = analogRead(AIN) - 512;
  
  if (val < 0){                    //正転
    out = map(val,-512,0,255,0);
    analogWrite(M1_A,0);
    analogWrite(M1_B,out);
  }else{                            //逆転
    out = map(val,0,512,0,255);
    analogWrite(M1_B,0);
    analogWrite(M1_A,out);
  }
  
  delay(500);
  
}

動作確認

ボリュームを回すと回転速度が変動し、正転逆転をきりかえるのも成功!
IMG_2015032322246

Arduino + モータドライバ + DCモーター」への2件のフィードバック

  1. 初めまして。
    古い記事にコメント失礼いたします。
    自分はArduino nanoとジョイスティックとモータードライバー等使用して、メカナムホイールの有線制御車両を製作しようとしています。
    ですが自分、まだ中学生でプログラミング等習ったりもしておらず、周りに詳しい方もいないので細かく詳しいことがわかりません。自分でネットを使い調べ、ちょっと理解してはコピペでスケッチを完成させてきました。

    そこでお力をお貸しいただきたくご相談させてください。
    車体そのものは既に完成しております。
    三角関数などはまだわからないので、とりあえず簡易的にこの向きにジョイスティックを倒したらこのモーターとこのモーターが動く。という割り当てをしたいです。
    ジョイスティックが中立ですと500ほどですが、それを0、両限界点を1000とし、ジョイスティックの倒し具合とモーターの回転数(出力)を比例させるスケッチはどう書けばいいのでしょうか?さらに詳しい点必要でしたらお伝えください。
    不躾なのは承知です。ですがもしよければこの際、どうかお力添えをお願いいたします。

    1. コメントありがとうございます。
      以下の順序で試してみることをお勧めします。

      ①ジョイスティックの入力の確認
        どの方向にどの程度倒したらどれくらいの入力になるのか
        参考:http://shirotsuku.sakura.ne.jp/blog/?p=299

      ②モータの回転数の変更方法の確認
        (モータ・モータドライバの種類により異なる)
        ・回転方向の変え方
        ・回転速度の変え方

      ③、①②がわかれば、変換する計算式もわかるのではないかと思います。

shirotsuku へ返信する コメントをキャンセル

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