ようやく、ラジコンが形になってきました!
操作は、Bluetoothで行うことにしました。
「s」で前進
「d」で後退
「a」で停止
モータの制御はモータードライバー 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つめのほうになると思います!