mbedを使ってみた

何かと話題のmbedをいまさらながら買ってみた
これひとつでI2C,SPI,USB,Ethernet,A/D,D/A,PWMやらが使えるすごいやつ

早速サインアップしてHelloWorld_LPC1768.binをダウンロード。mbedドライブにコピー後
mbedのリセットスイッチを押せばmbedのLEDが点滅する。簡単!

早速wiiヌンチャクと接続してみる

wiiヌンチャクのデータを読めるライブラリ*1があったのでこれでwiiヌンチャクのデータをPCに表示するコードを書いてみた。
こんな感じでmbedと接続して

コード書いて

#include "mbed.h"
#include "WiiNunchuck.h"

Serial pc(USBTX, USBRX); // tx, rx
WiiNunchuck wii(p9, p10);

int main() {
    pc.printf("WiiNunchuck Test\n");
    
    while(1) {
        char jx = wii.joyx();
        char jy = wii.joyy();
        int ax = wii.accx();
        int ay = wii.accy();
        int az = wii.accz();
        
        printf("joy(%d,%d) accel(%d,%d,%d)", jx, jy, ax, ay, az);
        if( wii.buttonc() ) {
            printf(" C:true");
        }else{
            printf(" C:false");
        }
        if( wii.buttonz() ) {
            printf(" Z:true\n");
        }else{
            printf(" Z:false\n");
        }
        wait_ms(50);
    }
}

するとコンソールにヌンチャクの状態が表示される

joy(135,123) accel(677,523,513) C:false Z:false

初mbedプログラミングなのでエラーでるだろうなと思っていたら一発で動いてびっくり。mbed恐るべし

mbedドライブについて

mbedはバイナリの書き込み方法がちょっと特殊。そしていろいろ操作してたらtouchコマンドでバイナリの切り替えが出来ることを発見しtwitterでつぶやく。


とつぶやいたら結構RTされてたので。意外と知られていないことなのかなと思い一応メモ

*1:http://mbed.org/users/knaka/libraries/WiiNunchuck/ljkynp/docs/