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して正転・逆回転・停止するだけのスケッチです。
下記は、シリアルで上記PINをHigh/Lowして正転・逆回転・停止するだけのスケッチです。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); | |
} | |
} | |
} |
とりあえず動いたので、これでミニ四駆作成を進めます。
0 件のコメント:
コメントを投稿