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でつぶやく。
@_strobo: mbedドライブにいくつかバイナリを保存しといて、実行したいバイナリに対してtouchしてやればリセット後実行するバイナリの切り替えができるみたいだ
とつぶやいたら結構RTされてたので。意外と知られていないことなのかなと思い一応メモ
*1:http://mbed.org/users/knaka/libraries/WiiNunchuck/ljkynp/docs/