AdSense

2015年11月3日火曜日

ミニ四駆をワイヤレス(Wi-Fi)で動かす② モーターコントローラ(DRV8832)をArduinoで制御


ESP-WROOM-02を動かしてみる

上記の記事の続きです。
ミニ四駆wifi遠隔操作環境作成のため、モーター側の制御を確認します。

今回はDRV8832のDCモータードライブキットを使用します。




Arduinoで動かすスケッチをググって探すと、DRV8830の記事は見つかりますが、
DRV8832の記事が見つかりません。
どうやら品番間違って買ってたようです。

サンプルスケッチが無いけどめげません。
どうやら、DRV8830はI2Cタイプ、DRV8832はポート制御タイプのようです。

なので正転、逆回転の制御ですが、DRV8832はシンプルで、
IN1, IN2をHIGH, LOW設定することで制御できました。

●正転
 IN1 HIGH
 IN2 LOW
●逆回転
 IN1 LOW
 IN2 HIGH
●停止
 IN1 LOW
 IN2 LOW

で動きました。
とりあえずArduinoとシリアル通信でモーターの動きを確認します。

下記は、シリアルで上記PINをHigh/Lowして正転・逆回転・停止するだけのスケッチです。


void setup() {
Serial.begin(115200);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
Serial.write("setup\n");
}
void loop() {
if (Serial.available() > 0) { // シリアル通信でデータが送られてくるまで待つ。
char c = Serial.read(); // 一文字分データを取り出す。
if (c == 's') { // nが送られてきたら正転
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
Serial.write("start\n");
} else if(c == 'r') { // rが送られてきたら逆回転。
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
Serial.write("reverse\n");
} else if(c == 'n') { // nが送られてきたら停止。
digitalWrite(12, LOW);
digitalWrite(13, LOW);
Serial.write("non\n");
}
}
}
view raw Serial DRV8832 hosted with ❤ by GitHub
とりあえず動いたので、これでミニ四駆作成を進めます。

0 件のコメント:

コメントを投稿