Arduinoでラジコンを作る(1)

0325001

ようやく、ラジコンが形になってきました!

操作は、Bluetoothで行うことにしました。
「s」で前進
「d」で後退
「a」で停止
0325002

モータの制御はモータードライバー TA7267BPを使用した。

モータドライバとArduinoの接続は
PIN1 <--> pin2
PIN2 <--> pin3
PIN3 <--> モータ +
PIN4 <--> GND,電池-
PIN5 <--> モータ –
PIN6 <--> 電池 +
PIN7 <--> 5V

で接続している。

Bluetoothは
SBDBTとUSBのBluetoothを使用している。

SBDBTとの接続は
PIN2 <--> 3.3V
PIN3 <--> GND
PIN7 <--> PIN0
PIN8 <--> PIN1
SBDBTをPIN6とPIN9でショート

Windowsからは「Bluetoothデバイスの追加」メニューからデバイスの追加ができる。
これで認識できる。

制御するためのコード

const int baudRate = 9600, numCommand = 3, numOutput = 2;
const int command[numCommand] = { 'a','s','d'};
const int outputPin[numOutput] = {2,3};
const int output[numCommand][numOutput] = {{0,0},{1,0},{0,1}};
const char *outputp[] = {"停止","正転","逆転"};

void setup(){
  Serial.begin(baudRate);
  for(int i = 0; i < numOutput; ++i) pinMode(outputPin[i],OUTPUT);
  for(int i = 0;i < numOutput ; ++i) digitalWrite(outputPin[i],0);
}

int Serialread(){
  while(!Serial.available());
  return Serial.read();
}

void loop(){
  int r = Serialread();
  int i,j;
  for (i = 0; i < numCommand; ++i){
    if (r == command[i]){
      Serial.println(outputp[i]);
      for(j=0;j<numOutput;++j) {
        digitalWrite(outputPin[j],output[i][j]);
      }
    }
  }
}

一応ここまででモータが回るようになった。

次は、左右で曲がるようにしなければならない。
今のところ、2つの案を考えている
1つめはモータを2つ取り付けて 右と左で制御する。
2つめはサーボモータを取り付けて回転させる。

多分1つめのほうになると思います!

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Related Post