レッドインベーダーの部屋

なんか色々なことをしています。

Arduino 可変抵抗を使用したモーターの制御

可変抵抗のつまみを動かすことでモーターの速度、回転方向が変わります。

 参考にしたサイト↓

建築発明工作ゼミ2008: Arduino 小型DCモータ/TA7291P

回路図も参考にしましたが、

モーターに使用する外部電源の部分(ICの8番)は本来電池や直流電源が必要ですが、

今回はめんどくさかったのでICの7番に使用しているArduinoの5Vピンをそのまま使用しました。

正しい使い方だとは思いませんので、皆さんは外部電源を使用しましょう。

ちなみに禁止事項は↓

ideahack.me

 

動作↓

www.youtube.com

 

スケッチ↓(青文字部分)

const int mot1 = 7;
const int mot2 = 8;
const int mot12_PWM = 9;

void setup(){
pinMode(mot1,OUTPUT); //信号用ピン
pinMode(mot2,OUTPUT); //信号用ピン
}

void loop(){
//アナログ入力:0番ピンの値を2で割る
int val=analogRead(0)/2; //0~511の値にする

//静止/正転/逆転の状態に分けてプログラムする
if(val>=255 && val<=256){ //静止:255~256
//LOW,LOWでデジタル出力
digitalWrite(mot1,LOW);
digitalWrite(mot2,LOW);
}else if(val>256){ //正転:257~511
//HIGH,LOWでデジタル出力
digitalWrite(mot1,HIGH);
digitalWrite(mot2,LOW);
//valが大きいほど出力値も大きくなる
analogWrite(mot12_PWM,val-256); //出力値:1~255
}else{ //逆転:0~254
//LOW,HIGHでデジタル出力
digitalWrite(mot1,LOW);
digitalWrite(mot2,HIGH);
//valが小さいほど出力値は大きくなる
analogWrite(mot12_PWM,255-val); //出力値:1~255
}
}

 

問題なく動きました。

結構参考になっているサイト↓

Arduinoでモーターを制御する!モーターの基本を勉強してみる。 | Device Plus - デバプラ

Arduinoでモーターを制御する!モータードライバって何? | Device Plus - デバプラ