37
学校法人山口学園 ECCコンピュータ専門学校 高度情報処理研究学科 国際ITエキスパートコース 4秋山 範継 AndroidからBluetooth遠隔操作するArduinoロボット カー「Andy」の紹介

AndroidからBluetoothで 遠隔操作するArduinoロ …¦校法人山口学園 ECCコンピュータ専門学校 高度情報処理研究学科 国際ITエキスパートコース

  • Upload
    lecong

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

学校法人山口学園 ECCコンピュータ専門学校

高度情報処理研究学科 国際ITエキスパートコース

4年 秋山 範継

AndroidからBluetoothで 遠隔操作するArduinoロボット

カー「Andy」の紹介

目次

1.学校紹介

2. Andyについて

3.HEXAPODについて

1.学校紹介

ECCコンピュータ専門学校とは?

大阪・梅田から徒歩10分の「中崎町」に位置するIT業界・ゲーム業界・デジタルクリエイターなどの人材を育成する専門学校

山口学園とは?

• 学校法人山口学園 3つの専門学校

▫ ECC国際外語専門学校

▫ ECCアーティスト専門学校

▫ ECCコンピュータ専門学校

• 英会話教室からはじまったECC(Education

Communication Community)が前身

ECCコン専の学校コンセプト

• 専門性の高い教育で、専門力・国際力・人間力を磨き・育てる。

国際ITエキスパートコース

• ITスキル+英語力 • 4年制コース • 2年次に海外留学がある

コース

2.Andyについて

Andy

• AndyButton ▫ ボタンによる操作

• AndySensor ▫ 加速度センサー(傾き)による操作

• AndyVoice ▫ Google音声認識による操作

• 赤外線センサー ▫ 障害物検知機能

Andyとは?

• AndroidとArduino(アルドゥイーノ)

を掛け合わせた造語

• どちらも読みにくいのでAndyにw

• Andy Rubinサン知りませんでしたorz Wikipedia, Rubin at 2008 Google Developer Day in Japan

Androidについて – 開発環境 • Eclipse3.5 + ADTを使用

ADT = Android Developement ToolKit

Androidについて – プログラミング

•プログラム言語:Java

• Activityクラスを継承したクラスを記述

Android開発画面

Activityクラスを継承

onCreateメソッドに メインの処理を記述

Arduinoについて – 開発環境 Arduino IDE

Winodws,MacOSで動作 (フリーソフト) USB接続 コンパイルしたプログラムを送信しArduino側にロード

Arduinoについて – プログラミング

• プログラム言語:Processing

▫ C,C++のような文法

• プログラムのことをスケッチと呼ぶ

• setup()メソッド、loop()メソッドにコードを記述

起動時に一度だけ実行

繰り返し実行 メインの処理を記述

Arduino 開発画面

Andyについて(上から見た図)

1 2

1. Arduino(アルドゥイーノ)基板

Andyについて(上から見た図)

1 2

2.Bluetooth送受信モジュール

Andyについて(上から見た図)

1 2

3.赤外線センサー

赤外線送信部 赤外線センサー

左右両輪独立駆動機構

2 5 5

両輪独立駆動の仕組み

2 5 5

(1) (2) (3) (4) (5) (6)(7) (8)

F…正転 B…逆転

F F

左モーター 右モーター

Bluetooth通信によるAndyの操作

操作アプリ

F255F255

Bluetooth通信

前に進む

Android携帯 Andy

AndroidとのBluetooth通信

• 8文字操作プロトコル(F255F255なら前進)

F000F000 停止 F000F255 左旋回 F255F000 右旋回 F255F255 前進 B255B255 後進 F255B127 右にカーブ(緩く) F127F255 左にカーブ(緩く) ・ ・ ・ ・ ・ ・ ・ ・ ・

サンプルBluetoothChat • Android SDKのサンプルソース「BluetoothChat」から作成する。

Bluetooth API Android 2.0(API Level 5)以降 のサンプルから利用可能

BluetoothChatService.java

• MY_UUID定数を変更してデバイスを利用可能にする。

• write(byte[])メソッドであらかじめバイト配列にした8文字操作プロトコル文字列を送信する。

3.HEXAPODについて

6本足のシールド・ロボット

• 日本橋「ガリレオセブン」さんから寄贈

• シールド(Shield)とは? ▫ Arduinoを覆うように接続する拡張用回路基板

• 基板でありながらサーボモータで進む6本足ロボットになる

Make:に取り上げられていました

• これにBluetoothモジュールを取り付けて、Androidから操作できるようにしました。

http://jp.makezine.com/blog/2011/07/hexapod.html

Bluetooth通信によるHEXAPOD

• 上部シールドコネクタ

部に自作Bluetoothシー

ルドを装着

• 下部コネクタにArduino

を装着

• Android端末から

Bluetoothで遠隔操作

Bluetooth通信によるHEXAPODの操作

操作アプリ

‘f’,‘l’,‘r’ ,‘s’

Bluetooth通信 動作

Android携帯 HEXAPOD

1文字操作プロトコル f 前進 l 左旋回 r 右旋回 s 停止

HEXAPOD側Arduinoスケッチ

• 1文字受信ごとに操作を振り分ける処理

HEXAPOD

• BT Hexapod 十字キー ▫ 十字ボタンによる操作

バザー会場で展示しています

• 8号館3F コミュニティ

ブース3

• 神戸支部ロボ部ブース内

• 見に来てください

最後に ・ソースコードを公開中

バージョン管理システムSubversionでソースコードをダウンロードできます。 http://code.google.com/p/ecc-andy/