« Cortex-M0版mbed ファーストタッチ(その1) | トップページ | Cortex-M0版mbed ファーストタッチ(その3) ライブラリ »

2011年10月30日 (日)

Cortex-M0版mbed ファーストタッチ(その2) USBデバイス機能

Cortex-M0版mbedことmbed NXP LPC11U24のサンプルを頂いたので数回に分けてレビュー致します。
(ここでは今までのmbed NXP LPC1768をM3版、レビュー対象のmbed NXP LPC11U24をM0版と略しています。)

M0版とM3版のスペック比較はこちらをご覧下さい。
ファーストタッチ(その1)

今回はUSBデバイス機能を使ってみました。
M3板はUSBホストもデバイスも対応していましたがM0版はデバイスのみとなっています。

USBデバイス機能を使うのに難しいことは必要なくD+とD-をホスト(パソコンなど)に繋ぐだけです。
Circit
Pic0
電源もホストから供給するようにしています。

プログラムはサンプルをそのまま使いました。
mbedをUSBマウス(HID)として動かし、マウスのカーソルをグルグル円を書くように動かすプログラムです。


#include "mbed.h"
#include "USBMouse.h"
#include <math.h>

USBMouse mouse;

int main(void) {

    int16_t x = 0;
    int16_t y = 0;
    int32_t radius = 10;
    int32_t angle = 0;

    while (1) {
        x = cos((double)angle*3.14/180.0)*radius;
        y = sin((double)angle*3.14/180.0)*radius;
        mouse.move(x, y);
        angle += 3;
        wait(0.001);
    }
}


HIDマウスのクラスは用意されているので座標を計算してAPIに渡すのみです。
他にもUSBキーボードとして動かすサンプルも用意されていました。

Android端末でUSBホストがあるICONIA TAB A500で試してみました。
Android3.1であればマウスが使えるので繋ぐだけです。

Pic
赤丸のマウスカーソルがぐるぐる動きます。
Android端末のアクセサリ接続もAndrodi側がホストになる方法でも可能だったと思うので、
Android端末にセンサーなどを接続することも手軽にできますね。

次は何を試そうかな。

|

« Cortex-M0版mbed ファーストタッチ(その1) | トップページ | Cortex-M0版mbed ファーストタッチ(その3) ライブラリ »

mbed」カテゴリの記事

コメント

センサの読み取りならadkとか使わなくても今回のエントリの内容をちょっと換えてジョイスティックにすれば既に終わっている感じが

投稿: mbedもってない | 2011年10月30日 (日) 09時31分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/189587/53116746

この記事へのトラックバック一覧です: Cortex-M0版mbed ファーストタッチ(その2) USBデバイス機能:

« Cortex-M0版mbed ファーストタッチ(その1) | トップページ | Cortex-M0版mbed ファーストタッチ(その3) ライブラリ »