Android端末で操作できるArduinoラジコンカーを作る
Arduino+Bluetoothモジュールを使って、Android端末から操作できるラジコンカーを作成します。
作成手順に沿って参考にしたサイト等を書いていきます。
できたもの
動作確認時の動画が以下になります。youtu.be
Android端末でArduinoに数字を送るとその数字に対応した移動を行います。
送る数字と、行う移動の対応は以下のようになっています。
0 → 右に1秒回転
1 → 1秒前進
2 → 1秒後退
3 → 左に1秒回転
動画では1,2,0,3の順に送信しています。
参考にしたサイト
機体の作成
以下のページを参考にしました。sites.google.com
使用部品の写真や、回路図が載せられていて、非常にわかりやすいです。
ただ、モータドライバの回路図が少し間違っているのかな。
回路図だと右モータ用モータドライバの1番端子が3V電池につながっていますが、GNDにつなげるのが正しいと思います。
今回ライントレースは行わないので、センサは使っていません。
また、Arduinoの電源はUSBから供給しています。
Bluetooh通信
以下のページを参考にしました。http://osoyoo.com/ja/2016/10/27/bluetooth-4-0-hm-10-android-arduino/
配線例が写真で載せられており、サンプルコードも用意されているのでわかりやすいです。
ただ、参考ページに書いてある"BleSerialPort"というアプリがGooglePlayで見つからなかったので、代わりに"Serial Bluetooth Terminal"というアプリを使いました。
同様のターミナルアプリを幾つか使いましたが、僕の場合"Serial Bluetooth Terminal"のみうまく通信できました。
また、今回僕はHM10搭載のBluetoothモジュールを以下のサイト(サイエンスYahoo!店)で購入しました。
store.shopping.yahoo.co.jp
いろいろ調べた中でここが一番安そうだったのでここにしました。
商品説明にはペアリングコード不要と書いてありますが、ペアリングコードとして"000000"と入力するとペアリングできました。
ソースコード
今回使ったソースコードを以下に載せます。まとめ
Arduino+Bluetoothモジュールを使って、Android端末から操作できるラジコンカーを作成しました。Bluetooth通信は思っていたよりも苦労しました。
次はBluetooth通信が標準で搭載されているラズベリーパイもいじってみたいです。