android と ARDUINO と Bluetoothと †Androidでなんかおもろいことできんかなと思っていたところ、Bluetooth経由でARDUINOを動かせることを知り早速チャレンジ。 目次 †design †ANDROID端末(HTC Desire)からBluetooth経由でARDUINOをコントロール。ARDUINOからはモータを駆動し、ミニカーを走らせて見ようというもの。 ANDROID †Google提供のANDORID SDKでプログラムを書く。ARDUINOをコントロールするにはBluettoothのSPP(serial port profile)を実装すればよいらしい。 幸いANDROIDのAPIにはこれが用意されている。よってデバイスの捜索とコネクションあたりのコードを書けばそれなりに動く。 Bluetooth †Bluetoothチップは電波法に抵触するブツであるだけに公的機関の技術認証を得たものは非常に高価!
そこで怪しげな中国輸入品を扱うサイトで調達することとした。 たまたま手元に転がっていたBluetoothUSBドングルをPC1号機に、調達したBTchipをPC2号機に挿す。ドングル側でデバイスを捜索し、BTChipとペアリング。 両方のPCでTeraTerm?を起動して1号機でキーをたたくと、2号機の画面に出力された。逆も成功。てなわけで動作確認完了。 今度はPC1号機ではなくAndroid端末からテスト。ペアリングは無事成功。 つづいて、SPPを実装しているターミナルアプリケーションをAPPストアからダウンロード。先ほどのPC間のテストと同様に通信可能であることを確認。 ほいで、自作ANDROIDプログラムからの動作テスト。あれなんかうまくいかんぞ?デバイスのUUIDを指定するところがダメらしい。 WindowsPCにBluetoothChip?をつないだときのデバイスID(だったか?)を指定するとうまくいった。この辺はBluetoothプログラミングをもうちょい知らんといかんな。 んだけど、本題ではないのでUUIDを直接指定することで華麗にスルー。 ARDUINO NANO †こいつもUSBで電力供給できることを大前提に選定し、千石電商のリアル店舗@秋葉原で調達。 BTchipからのシリアル通信を受けてモータをコントロール。 マイコンに書き込むプログラムは無料の開発環境をダウンロードして:http://www.arduino.cc/en/Main/Software 。 ARDUINOとPCをMINI USBで接続し、C言語で書いたプログラムを転送するだけでOK。すげー簡単だ! BTChipからの出力をARDUINOでの入力とし、モータ駆動したりLED光らせたりのコードを書いてみた。 実際にモータを駆動しようとしたところ、ARDUINOからの出力だと電力不足のため、別途モータコントローラを調達して駆動した。 駆動部(ミニカー) †TAMIYA製のギヤボックス付きモータキットを購入。値段の割りにギヤボックスはしっかりとつくってあって、 ギヤ比が4パターンから選べたりした。 本課題ではゆっくりでも着実に動いてほしいので、最大ギヤ比のセッティングとした。 result †ANDROID→BTchip→ARDUINO→モータ と動作させることに成功。後で動画さらします。 出先でiPhoneを充電できる!みたいな「乾電池→USB電源供給キット」を購入し、PCやAC電源がなくても機器を駆動できるようにした。 感想・・・ †試行錯誤しながらの製作であったため、家で開発しては不足部品を買いに秋葉原に走ったり秋月のネット通販を利用したり、、、 苦労の分だけ完成時の感動は大きいですな! 今後 †単純に車が走るだけじゃなく、なにがしか意味のあることにこのトルク(回転力)を活かせないか、検討中。 comment †#comment_kcaptcha |