Seeed Xiaoと秋月のDRV8835基板を使って、さくっと動かします。
モーターはオリジナルマインドから中古で買ったオリエントモーターの42mmサイズバイポーラー。定格17V。
XIAOとDRV8835の結線は以下の通り。
今回、両手が塞がる用途でモーターを使うので、ミシン用のフットペダルを用意しました。3.5mmφのモノラル用ミニプラグ出力で踏まないと0Ω、踏むと約10kΩになります。GND - ペダルの片方 - XIAOの7ピン - 10kΩの抵抗 - 3.3V出力、という風につなぎました。こうするとXIAOへの電圧は0-約1.65Vの間で変化します。これをアナログポートで読み取ります。
ところで、リファレンスやググると出てくるサンプルコードを見るとスピード指定関数setSpeedの引数が rpm になっているけど、試したところではpps(1秒あたりのパルス数)みたいです。本家ArduinoでStepperクラスを使ったことないけど(あるいは忘れている)、少なくともXIAOでは。
ところで、リファレンスやググると出てくるサンプルコードを見るとスピード指定関数setSpeedの引数が rpm になっているけど、試したところではpps(1秒あたりのパルス数)みたいです。本家ArduinoでStepperクラスを使ったことないけど(あるいは忘れている)、少なくともXIAOでは。
ということで、ソースコードはこんな感じ。
#include <Stepper.h> Stepper myStepper(200, 3, 5); bool running = false; void setup() { Serial.begin(115200); pinMode(4, OUTPUT); pinMode(6, OUTPUT); } void loop() { int value = analogRead(7) / 2 - 5; if (value < 0) { if (running) { digitalWrite(4, LOW); digitalWrite(6, LOW); running = false; } delay(50); } else { if (!running) { digitalWrite(4, HIGH); digitalWrite(6, HIGH); running = true; } Serial.println(value); myStepper.setSpeed(value) ; myStepper.step(value / 10); } }
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。