SSブログ

Arduino Pro Mini でビュートローバーを動かしてみた(5) [ロボット]

ものすごく久しぶりの Arduino ネタです。3連休なのですが息子も風邪をひいてあまりやることないので、しばらく埃をかぶっていた Arduino Pro Mino on Beauto Rover を引っ張り出してきました。


Arudino on BeautoRover.JPG


久しぶりなので、まともに動くか心配しましたが、通電したところ問題はなさそう。前回は前後動作まで出来たので、今回は回転動作に加えてBluetooth でスマホからコントロールできるようにしてみたいと思います。


ということで、早速 Bluetooth モジュールをつけてみました。新しいスマホでもペアリングまでは無事できました。


Arduino on BeautoRover with BT.JPG


Bluetooth についてはスマホ側のソフトも作らなければならないので、今回は回転動作をするところまで確認したいと思います。


スケッチを下記のように作りました。前回のスケッチに回転動作を追加したものです。

#include <Wire.h>

const int DRV8830_A = 0x60;
const int DRV8830_B = 0x68;

void writeMotorRegister_A(byte vset, byte data) {
  int vdata = vset << 2 | data;
  Wire.beginTransmission(DRV8830_A);
  Wire.write(0x00);
  Wire.write(vdata);
  Wire.endTransmission(true);
}

void writeMotorRegister_B(byte vset, byte data) {
  int vdata = vset << 2 | data;
  Wire.beginTransmission(DRV8830_B);
  Wire.write(0x00);
  Wire.write(vdata);
  Wire.endTransmission(true);
}

void setup() {
  Wire.begin();
  Serial.begin(9600);
  
  Serial.println("Motor Standby");
  writeMotorRegister_A(0x0b, 0x00);
  writeMotorRegister_B(0x0b, 0x00);
  delay(2000);
}

void loop() {
  // 正転
  Serial.println("Motor Forward");
  writeMotorRegister_A(0x0b, 0x01);
  writeMotorRegister_B(0x0b, 0x01);
  delay(2000);
  
  // スタンバイ
  Serial.println("Motor Standby");
  writeMotorRegister_A(0x00, 0x00);
  writeMotorRegister_B(0x00, 0x00);
  delay(1000);
  
  // 逆転
  Serial.println("Motor Reverse");
  writeMotorRegister_A(0x0b, 0x02);
  writeMotorRegister_B(0x0b, 0x02);
  delay(2000);
  
  // スタンバイ
  Serial.println("Motor Standby");
  writeMotorRegister_A(0x00, 0x00);
  writeMotorRegister_B(0x00, 0x00);
  delay(1000);  

  // 旋回
  Serial.println("Motor Rotate");
  writeMotorRegister_A(0x0b, 0x02);
  writeMotorRegister_B(0x0b, 0x01);
  delay(2000);

  // スタンバイ
  Serial.println("Motor Standby");
  writeMotorRegister_A(0x00, 0x00);
  writeMotorRegister_B(0x00, 0x00);
  delay(1000);  

  // 旋回
  Serial.println("Motor Rotate");
  writeMotorRegister_A(0x0b, 0x01);
  writeMotorRegister_B(0x0b, 0x02);
  delay(2000);

  // スタンバイ
  Serial.println("Motor Standby");
  writeMotorRegister_A(0x00, 0x00);
  writeMotorRegister_B(0x00, 0x00);
  delay(1000);  
}



早速動きを確認してみましょう。






いい感じに動いてくれています。次はスマホからコントロールできるようにしていきたいと思います。
(^_^)/~



関連記事
Arduino Pro Mini でビュートローバーを動かしてみた(8)
http://makers-with-myson.blog.so-net.ne.jp/2014-12-01

Arduino Pro Mini でビュートローバーを動かしてみた(7)
http://makers-with-myson.blog.so-net.ne.jp/2014-11-29

Arduino Pro Mini でビュートローバーを動かしてみた(6)
http://makers-with-myson.blog.so-net.ne.jp/2014-11-24

Arduino Pro Mini でビュートローバーを動かしてみた(4)
http://makers-with-myson.blog.so-net.ne.jp/2014-08-10

Arduino Pro Mini でビュートローバーを動かしてみた(3)
http://makers-with-myson.blog.so-net.ne.jp/2014-08-09

Arduino Pro Mini でビュートローバーを動かしてみた(2)
http://makers-with-myson.blog.so-net.ne.jp/2014-08-02

Arduino Pro Mini でビュートローバーを動かしてみた(1)
http://makers-with-myson.blog.so-net.ne.jp/2014-08-01

Arudino に接続するBluetoothモジュールが中国からやってきた
http://makers-with-myson.blog.so-net.ne.jp/2014-05-23






Arduino Pro Mini 328 3.3V 8MHz

Arduino Pro Mini 328 3.3V 8MHz

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ビュートローバー H8

ビュートローバー H8

  • 出版社/メーカー: ヴイストン株式会社
  • メディア: おもちゃ&ホビー




nice!(20)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 20

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。