Arduino 可変抵抗を使用したモーターの制御
可変抵抗のつまみを動かすことでモーターの速度、回転方向が変わります。
参考にしたサイト↓
建築発明工作ゼミ2008: Arduino 小型DCモータ/TA7291P
回路図も参考にしましたが、
モーターに使用する外部電源の部分(ICの8番)は本来電池や直流電源が必要ですが、
今回はめんどくさかったのでICの7番に使用しているArduinoの5Vピンをそのまま使用しました。
正しい使い方だとは思いませんので、皆さんは外部電源を使用しましょう。
ちなみに禁止事項は↓
動作↓
スケッチ↓(青文字部分)
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
}
}
問題なく動きました。
結構参考になっているサイト↓