DCモーター制御
盆休み前から雨天が続いているので、盆休み中に予定していた塗装作業を延期し、
Arduinoのプラグラミング学習を行うことにした。
スターターキットに付属していた電子部品を使い、DCモーターを制御してみる。
ピックアップ製作では、モーターにピックアップボビンを取り付け、
回転させてワイヤを巻いていくのだが、
モーターは正転・逆転切り替えが出来、回転スピードも調整できなくてはならない。
タクトスイッチ2個とPOTとトグルSWを使い、
DCモーターのON・OFF、回転方向、回転スピードを制御する単純なプログラムを作る。
キットには、モーター制御ICも付属していたので活用。
2個のモーター制御が個別に行える。
ON・OFFスイッチも付属のタクトスイッチ(モーメンタリ)を使用。
左側2個をArduinoのデジタル入出力の2・3番に接続。
2番がON、3番がOFF。
Arduinoのデジタル入出力には、プルアップ抵抗が内蔵されているので利用。
HIGHとLOWのロジックが逆になるが、
抵抗を用意する必要が無いし、配線もシンプルになる。
モーターの回転スピードを調整する10kΩPOTもキット付属の物を使用。
アナログ入力の0番に接続。
POTを回すことにより0〜1023の値をArduinoに送る。
キットにはトグルSWは入っていなかったので、手持ちのSWを使用。
これでモーターの正転・逆転を切り替える。
上の画像がプログラムの内容。
内臓のプルアップ抵抗を利用している為、入力2・3・6のLOW・HIGHが逆になっている。
アナログ入力0番で受け取った0〜1023の値を1/4の値にして、11番にPWM出力しているが、
これは、PWM出力は0〜255までの値しか出力できない為。
悪戦苦闘しながら、なんとか予定通りの動作を確認。
Arduinoプログラムの基本は、なんとなく理解できた。
電子工作やArduinoプログラミングに興味のない方には、
チンプンカンプンな内容かもしれないが、しばらくの間はご容赦を。