きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

タグ「mbed」が付けられているもの


2万円のChromebookを使ってみた

  • 投稿日:
  • by
  • Category:

TwitterにChromebookが2万円というツイートが流れてきました。Amazonのタイムセールのようです。

Chromebookという名前は聞いたことがありますが、これまで実際に使ったことはありません。

思えば、最近はクラウドの利用が多くなり、Google AppsやGoogle Driveをよく使うようになっています。今の利用スタイルであればChromebookでもありなのかもと自分へのお年玉としてChromebookを購入してみました。

購入した機器はHP Chromebook 11 G3です。メモリが4GBなのにこの価格ということで手頃だと思います。

外観はこんな感じです。HPのロゴとChomeのロゴが入っています。11インチなので大きさはMacBook Airぐらいです。残念ながら厚みはそれほど薄くはありません。

chromebook01.jpg

Firefox OS WoTハッカソン on ホワイトデーに参加してみた

  • 投稿日:
  • by
  • Category:

3/14から3/15にかけて開催された au Firefox OS WoTハッカソン on ホワイトデーに参加しました。

前回のau Firefox OS WoTハッカソン on バレンタインデーでは、「わらうフォクすけ」でARM賞をいただきました。今回はこの続きということでキャタピラ基台を持ち込みました。フォクすけ君は事務局のかたに準備していただきました。

旧チームメンバーはホワイトデーにちなんで、フォクすけ君の彼女を準備して、お返しのチョコを届けるようなものを考えていました。

firefox_os_wot_idea1.jpg

他のチームではフォクすけ君が子供のお守りをするアイデアをだしていました。

firefox_os_wot_idea2.jpg

この2つはベースの仕組みは同じになるということで、そちらのチームと合流して作業を進めることになりました。今回のチームは高専のメンバーが参加してフレッシュな雰囲気で始まりました。

材料としては前回作成した「わらうフォクすけ」のキャタピラ基台を使うことは確定で、それに加えて今回新しいデバイスとしてTOCOSのIoT無線タグTWE-Lite-2525Aを使うことにしました。この無線タグは「ハルロック」のネタから実現した「ねこったー」で使われていたものです。この無線タグからの電波強度である程度の距離がわかるとのこと。これを使ってフォクすけ君と彼女の距離や、見守る子供との距離を測ることを目指しました。

もう一つ新たなデバイスとしてOMRONの画像センシングモジュール「HVC-C」を使うことにしました。このモジュールは人の状態を認識する独自の顔画像センシング技術「OKAO Vision」とカメラモジュールをコンパクトに一体化し、センシング結果をBluetoothでスマートフォンに送信することができるものだそうです。これで子供の表情を認識してそれに応じてフォクすけ君にアクションをさせようというアイデアでした。

TOCOSのIoTモジュールはシリアル通信で無線タグの情報が取得できるので、キャタピラ基台を制御しているmbed LPC1768にシリアル接続することにしました。HVC-CはBLE通信になりますので、これに対応できるのはOPEN WEB BOARDかなということで、OPEN WEB BOARDでHVC-Cから表情の情報を取り込むことをめざしました。

最終的なシステム構成図は以下のようになりました。

mimamori_foxkeh_system.jpg

しかし、両方とも初めて使うデバイスであり作業は難航。私が担当したmbedとTOCOS TWE-Lite-DIPの接続の部分はWiFiを使いながらTOCOS TWE-Lite-DIPのシリアル通信を割り込み処理しようとするとハングアップしてしまいます。ARMの雪だるまさんの応援もいただいて、持ち込んだポケットオシロスコープで信号を確認しながら進めましたが、結局原因不明で途中で断念してしまいました。

tocos_mbed_proto.jpg

TOCOS TWE-Lite-DIPはキャタピラ基台への実装まで行ったのですが、残念ながら本番時はこのモジュールは取り外して動かすことになりました。

tocos_mbed.jpg

また、OPEN WEB BOARDとHVC-Cの接続も難易度が高く時間切れとなってしまいました。

フォクすけ君の表情は彼女用にハートマークの表示も追加され、リモコンとなるFx0のUIが洗練されたものになりました。またフォクすけ君本体のFx0からは彼女との出会いを盛り上げるための音楽も鳴るようになりました。

remote_control_ui.jpg

ただ、mbedのところで時間をかけすぎてしまったため、前回大きな課題だった足回りの改良がまったく行えず、電池切れの不安を抱えながらのデモになりました。

残念ながら予感は的中し、デモのときはモーターがまったく動かず、手で押して彼女に接近させ、ハートマーク表示ができたという結果に終わってしまいました。

foxkeh2.jpg

今回は他のチームでも同じようなキャタピラを使った作品がありましたが、そちらでは電源周りがモバイルバッテリーだったり、デジタル回路とモーター回路の電源系統を分けることで安定して走行していました。また、バッテリーや制御基板の搭載を行うために100円ショップのカゴを乗せる工夫もされていました。もし次回があるようであれば、今回できなかったところを全部クリアしたいと思います。

何はともあれ高専生のかたと一緒に作業できたのは楽しかったですし、組み込みデバイスやFirefox OSに大変興味をもっていただけたようでした。

なお、今回の作品はMozilla賞をいただき、3匹のフォクすけ君が賞品となりましたが、このフォクすけ君は高専生のかたに贈られました。

foxkeh_4.jpg

今回のプロジェクトで作成したFiddleのページはこちらになります。

http://fiddle.cc/yamasy1549/mimamori-foxkeh

なかなか難易度が高かったですが楽しかったです。また機会があれば参加したいと思います。

関連ページ

Firefox OS WoTハッカソンに参加してみた

  • 投稿日:
  • by
  • Category:

Firefox OS WoTハッカソンに参加してみました。参加のきっかけはFx0を持っていることと、mbedを使うというところ、実際にIoTが経験できるという点からです。やはり1人で考えていても良いアイデアはでてきません。チームで取り組むことで全く思いもよらない応用が見つかるのではと思ったのです。

ハッカソンは初めての参加でしたので、やや不安もありましたが、mbedのあたりなら貢献できそうなので思い切って参加しました。

チーム分けを行い、アイデアを練りはじめましたが、部材として持って行ったLEDマトリクスやNFCタグとかを眺めながら、Fx0とmbedを使ってIoT(WoT)を試して見るということで、まず「すごろく」というアイデアが出ました。すごろくのコースにスイッチを取り付けたり、NFCタグを使ってコースを進むと、LEDが光ったり、音がでたりとかそのようなものをイメージしていました。そしてそのすごろくの駒としてFx0にタイヤを付けたものを動かすのはどうだろうというアイデアもでてきました。

wot_hackathon_idea1.jpg

結局、すごろくを作るか、Fx0の車を作るかの二択になりましたが、今回はFx0の車を作って、時間があったらすごろくを作ろうという話になりました。mbedやArduinoを使った車は作ったことがありますので、そのあたりのノウハウが役立つかなということで、モーター基台の担当となりました。そうこうしているうちにフォクすけくんのぬいぐるみを載せようということになり、アイデアが膨らんでいきました。また、「しっぽ」を振りたいという強い要望が加わりました。

wot_hackathon_idea5.jpg

秋葉原に出かけて買って来たブルドーザーの基台にフォクすけ君をのせて実装イメージを確認しながら進めました。

wot_hackathon_idea4.jpg

フォクすけ君の実装イメージを確認したあとに、しっぽを振るための材料をまたまた秋葉原に買いに行きました。会場からそんなに遠くないので助かりましたが、結局1日目は秋葉原まで二往復しました。

以降、どのように作り上げたのかは、Fabbleにまとめておきましたのでそちらを参照ください。

http://fabble.cc/dobogo/pitagoraxsugoroku

完成したフォクすけ君はこんな感じです。顔のFx0の画面で感情を表示します。このFx0がWebサーバとして動いていて、もう1台のFx0がリモコンとなりフォクすけ君が進む向きや表情の変更、しっぽ振りのON/OFFを行います。また、Fx0の近接センサーを利用して、目の前に手をかざすと目を閉じたり、後進するようなしかけも入っています。顔のFx0からmbedのWebサーバAPIをアクセスすることで3つのモータ(左、右、しっぽ)を制御します。

wot_hackathon_idea6.jpg

この手のものは発表のときに動かないということがよくあるのですが、今回はリトライしながらもなんとか動いてくれました。ちゃんとしっぽも振りましたし、電源ケーブルを乗り越えて元気よく走り回ってくれました。

wot_hackathon_testrun1.jpg

おかげさまでARM賞をいただくことができました。チームメンバーがそれぞれ得意な部分に取り組むことができ、マッチングが非常に良かったです。また、短時間で実際に動くものを作りあげることができ、Fx0のWebアプリの可能性が見えたように思います。

Team4のみなさん、参加されたみなさん、スタッフのみなさん、お疲れさまでした!

関連ページ

WebSocketでmbedからFx0に情報を渡してみた

  • 投稿日:
  • by
  • Category:

今週末はいよいよFirefox OS WoTハッカソンです。

mbedはこれまでいろいろ使っていて慣れているのですが、mbedからスマホへのリアルタイム通信は経験がありません。少しは勉強しておかなければとWebsocketについて試してみました。

Websocketのサーバはmbedでも提供されているのですが、今回はNode.jsを自分のVPSにインストールしてWebSocketサーバーをたちあげました。

mbedのデベロッパーサイトにWebsocketのサンプルプログラムがあるので楽勝と考えていたのですが、私の環境だと、このサンプルプログラムではNode.jsと通信できたり、できなかったりで非常に不安定でした。コンパイル後のメモリをみてみるとRAMが120%ぐらいになっていて、mbed-rtosを使うとメモリが厳しいのかもしれません。いろいろ探していたらSuga koubouさんのテストプログラムだとNode.jsのサーバに安定して接続できることが確認できました。

これで以下のような環境ができました。

websocket_mbed_fx0.png

mbedアプリケーションボードに実装されている加速度センサーと温度センサーの情報を読み出し、WebSocketでNode.jsのサーバーからブロードキャストして、Fx0に通知し、Fx0のHTML5アプリケーションで表示するものを作りました。

mbed_application_board.jpg

WebSocketとかCANVASとかは初めてでしたが、あちこちのプログラム例を参考にしてなんとか形にできました。

websocket_fx0_app.png

この仕組みをハッカソンで使うかどうかはわかりませんが、良い経験ができたと思います。

mbed LPC1114FN28で8桁7セグLEDモジュールを制御してみた

  • 投稿日:
  • by
  • Category:

mbed LPC1114FN28で秋月電子の3-Wire 8桁7セグLEDモジュールを動かしてみました。

LEDモジュールとmbedとの接続は以下の3本のみです。

mbed LEDモジュール

dp9 DATA

dp10 LATCH

dp11 CLOCK

LEDモジュールにはUSBからの5Vを供給しています。LEDモジュールの消費電力は最大300mAぐらいなので問題なさそうです。LPC1114FN28にはFT232RL内蔵の3.3Vレギュレータの出力を使っています。

本体はこんな感じです。

mbed_7degLEDMod.jpg

制御プログラムはDFROBOT社のサイトにArduino用のサンプルプログラムがありましたのでそれを参考にしました。サンプルプログラムはこちらにPublishしておきました。

動作中の様子をYouTubeにアップしておきました。

今回はこのLEDモジュール1台で8桁の数字を表示していますが、表示データを用意すれば数字以外の表示もできますし、LEDモジュールにあるOUTPUT端子にさらにLEDモジュールを接続することで表示桁数を増やすこともできます。工夫次第で面白い使い方ができそうです。

mbed LPC1114FN28を使ってみた

  • 投稿日:
  • by
  • Category:

LPC1114FN28がmbedになるという@ytsuboiさんのmbed LPC1114での遊び方の記事は拝見していましたが、なかなか時間が無くて試せませんでした。

これではいかんと、mbed祭り2013 in Yokohamaの当日の朝に手持ちのパーツを集めてブレッドボードで組んでみました。

ISPには秋月電子のFT232RL USBシリアル変換モジュールを使いました。

ブレッドボード1枚にまとめたかったので、少し横長のブレッドボードを使い、LPC1114FN28の右側はフリースペースとしました。今回はこのスペースにLEDアレイと抵抗を実装し動作確認用としました。

USBシリアル変換モジュールはJ1でVCCIOを内蔵レギュレーターの3.3Vにするか、VCCにするかを切り替えることができます。LPC1114FN28は3.3V電源ですので、1-2間のジャンパーをショートして、VCCIOは3.3Vにしました。J2はUSBの電源を使いますのでショートしておきます。3.3Vレギュレーターの出力がモジュールの19番ピンにありますので、これをLPC1114FN28のVIN(3.3V)に接続します。

本来ですと、リセットスイッチとかもつけたかったのですが、スペースが無かったのでケーブルでGNDに落とすという適当な作りです。ISPモードに切り替えるための330Ωもその都度ブレッドボードに取り付けるという適当さです。

完成したブレッドボードの写真です。

mbed_LPC1114FN28.jpg

MacOS Xでmbedのオンラインコンパイラを使って生成されたバイナリをFlashMagicとbin2hexを使ってLPC1114FN28に書き込みました。リセットすると問題なくLチカができました。このLEDアレイはカラーLEDなので適当に制御して遊んでみたいと思います。

mbed FRDM-KL25Zで遊んでみた

  • 投稿日:
  • by
  • Category:

freescale社のFRDM-KL25Zという評価ボードがmbedになるとのことなので試してみました。今回は2枚購入しました。

frdm-kl25z.jpg

mbedのサイトにあるようにFRDM-KL25Zのファームウェアを書き換える必要がありますが、最初にMacのParallels DesktopにあるWindows7の環境で書き換えようとしたのですが、どうも不安定で書き込めたとおもっても書き込めていなかったりしてしまいました。

しかたないので、ThinkPadのWindows8でファームウェアを書き込んだところ、一発で書き込めてmbedに変身しました。

mbed.orgのコンパイラには「Freescale KL25Z」という選択肢が増えているので、それを選びLチカのプログラムを動かしたところ、LEDが点滅をはじめました。

この評価ボードはArduinoのピン配置を意識したものになっていて、mbedコンパイラでもArduinoのD0〜D13とA0〜A5の名前を使うことができます。

DigitalOut d0(D0);
DigitalOut d1(D1);

折角ですので、ピンソケットをハンダ付けして、先日ハンダ付けしたDecoシールドを取りつけて点滅するプログラムを書きました。ついでにKL25Zに搭載されているタッチセンサーの値を読み取って、点滅速度が変化するようにしてみました。他にもKL25Zのデバイスが利用できるサンプルプログラムがすでに準備されているので参考になります。

今回作成したプログラムはhttp://mbed.org/users/kanpapa/code/FRDM_Deco/においておきます。

このようにArduinoのシールドを活用して楽しむことができそうです。

mbedとLEDマトリクス基板でニュース掲示板を作ってみました

  • 投稿日:
  • by
  • Category:

以前VFDによる電光掲示板を作りましたが、このVFDはもう入手が厳しいようなので、今回は秋月電子のLEDマトリクスユニッ­トを接続してみました。

mbedとの接続は簡単で、ダイナミック表示も容易に行うことができました。

ダイナミック表示テスト中の動画をYouTubeにアップしておきました。

この仕組みを使い、前回同様にmbedを直接インターネットに接続し、Yahoo!ニュースWebAPIでニュースのヘッドラ­インを表示しました。

この動画では3セットのLEDマトリクス基板を使っています。もう1セット増設できるのでそこまで拡張してみようと思っています。

また、今回は新しいネットワークライブラリとmbedのサイトに公開されているspxmlexpatなどのXMLパーサを使ってみましたが、少しデータが多いとハングアップするので表示件数を絞っています。このあたりは試行錯誤中です。もし、使い勝手の良いXMLパーサーがあったらぜひ教えてください。

Make: Tokyo Meeting 07 (MTM07)に出展しました

  • 投稿日:
  • by
  • Category:

2011/12/3-4に東工大で開催されたMake: Tokyo Meeting 07 (MTM07) に出展しました。
出展風景をFlickrにアップしておきました。

mbedが中心だったのですが、ネットワークは自前で準備しなければならず、b-mobileのイオン980円プランと怪しいxperiaのテザリングでなんとか助かりました。
今回出展した作品の詳しい紹介は落ち着いてからまとめたいと思います。

VFDでお天気情報を表示できました。

  • 投稿日:
  • by
  • Category:

あと2週間に迫ったMTM07に向けて、mbedをネットワークに接続し、何らかの情報をVFDに表示することを考えていましたが、なかなか良いネタがなくて結局Google Weather APIのお天気情報をVFDに表示することにしました。漢字フォントはFONTX2の16ドットのものを使用します。Google Weather APIを使った理由はサンプルプログラムが流用できることと、結果がS-JISで返ってくるので、そのままFONTX2のテーブルに当ててフォントデータを取り出せるからです。
試行錯誤したあげく、特定の地域の天気情報が漢字フォントでVFDに表示されるようになりました。

vfd_mbed_weather.jpg

32ドットフォントとか使えば、横スクロールとかもできると思いますが、やはりフォントファイルが大きくなってしまうので、今回は16ドットフォントでいきたいと思います。

LPCXpresso LPC1768にVFDを接続してみました

  • 投稿日:
  • by
  • Category:

mbedにVFDを接続して遊んでいましたが、mbedと同じマイコンが載っているLPCXpresso LPC1768 にVFDを接続してみました。
プログラムはmbedサイトでコンパイルしたバイナリをLPCXpresso-IDEを使って、LPCXpresso LPC1768に書き込みました。
microSDカードはSparkFunのマイクロSDカードスロット・ピッチ変換基板を使って接続しています。
LPCXpressoは基板に少し幅があるので、少し大きめのブレッドボードを使うしかありません。もう少し小さいと良いのですが。
とりあえずVFDとの接続はmbedと同様にして、内蔵LEDのポートだけLPCXpressoに合わせたところ問題なく動作しました。
microSDカードからBMPを読み込んで表示するだけであればこれで十分ですし、ブレッドホードの空きスペースには+70VのDC-DCコンバータを組むことができそうです。
mbed + StarBoard Orangeはネットワークに接続して使うことにしましょう。

VFD_LPCXpresso.jpg

これでMTM07のネタが1つできました。

mbedでBMPファイルを読み込んでVFDに表示してみました

  • 投稿日:
  • by
  • Category:

最近はまっているジャンク品のVFDいじりですが、もう少し汎用的に使うために標準的な画像データを表示できないかと考えました。
たとえば、Windowsのペイントで書いたものが、そのままVFDに表示できればいろんな使い道ができそうです。

BMPフォーマットを扱っているプログラムがないかなとmbedサイトで探したところ、@tedd_okanoさんの、bmp_8bit_per_pixel_formatというテストプログラムがみつかりました。これだと8bit color用なので、このソースとBMPフォーマットの資料を見ながら、1bit color用に書き換えました。
試しにモノクロBMPファイルを作成して、mbedのローカルストレージにコピーし、読み込ませて数字の「0」、「1」として画面に表示したところ、上下が反転したイメージデータを確認できました。この上下が反転しているのはBMPフォーマットの仕様のようです。
これをVFDに転送すればいいのですが、ドットの並びがBMPは横方向、VFDは縦方向になっている点と、上下反転の仕様がありますので、ちょっとした変換ロジックをかませてからVFDに転送することで表示することができました。

電車が好きな息子が電車の方向幕を表示してみたいということなので、Windowsのペイントで書いてもらいデータ化しました。それを表示したところ本物の電車の方向幕の雰囲気です。うまくできたので他にもいろいろな方向幕を作っているようです。
今回はお手軽にUSB経由でストレージにBMPデータを置きましたが、今使っているmbedのベースボードStarBoard☆Orangeには、microSDカードのスロットもありますので、そちらからデータを取り込むのも良いかなと思います。

MARY CB基板にガイガーカウンタを載せました

  • 投稿日:
  • by
  • Category:

MARYシステムのCB基板(ユニバーサル基板)に秋月で購入したGM管 D3372を載せてみました。さすがに高圧発生部(600V)は外付けです。
CB基板はやはり狭くパーツのレイアウト決めに時間がかかってしまいました。
GM管との接続回路自体は秋月のキットの回路図を参考にしています。
プログラムのことを考えて、UB基板と互換を持たせるように配線しました。圧電ブザーはCN2_1に、GM管からの出力パルスはCN4_7に接続しています。
MB基板を2枚接続し、1枚はこのGM管基板、もう1枚はOB基板を接続し、mbedのときのようにOLEDに計数とグラフを表示するようにプログラムしました。

mary_gmtube_ob.jpg

うまく動いてくれています。プログラムはかなり適当につくったのであまり良い出来ではないのですが、APIに助けられています。

現状だと電源が2系統必要です。コンパクトに組めたので持ち運びができるようにしてみたいですね。

mbedガイガーカウンターの検出情報をOLEDに表示してみました

  • 投稿日:
  • by
  • Category:

mbedにMARYシステムのOB基板(OLED)が接続できましたので、これに先日製作した秋月のGM管を使用したmbedガイガーカウンターの情報を出力してみました。
最初はLCDに表示していた情報だけをOLEDに表示してみました。

mbed_gm_oled1.jpg

これだとLCDとあまり変わらずに文字ばかりで面白くありません。
そこで128×128ピクセルのフルカラーグラフィック表示を活用して、毎分の検出数をグラフ表示してみました。

mbed_gm_oled2.jpg

プログラムなどはmbedのNotebookにまとめておきました。

実にわかりやすくなりました。
使用している秋月のGM管 D3372では毎分2〜3回の自然放射線が検出されますが、このOLEDにより時系列で128分間の状況を一目で把握できるようになりました。

MARY OB基板(OLED)をmbedに接続してみました

  • 投稿日:
  • by
  • Category:

mbedにMARYシステムのOB基板(OLED)を接続してみました。
というのも@nxpfanさんがmbed で MARMEX_OB 基板(OLED表示)を制御するライブラリ(MAPLE基板を利用)を公開されていたからです。
今まではキャラクタLCDをStarboard Orangeで接続していましたが、ガイガーカウンタの出力をもう少し見やすくできないかという目的もありました。

とりあえず、回路図とMARMEX_OB基板用のライブラリをにらめっこして、mbedに直接接続して、@nxpfanさんのサンプルプログラムを動かしたところ、問題なく表示されました。
接続方法はこんな感じです。この接続は@nxpfanさんのサンプルプログラムに合わせています。

OB基板 mbed
----------------------
CN1_1 GND(0V)
CN1_2 VU(+5V)
CN1_3 VOUT(+3.3V)
CN4_4 p5 (SPI mosi)
CN4_2 p7 (SPI sck)
CN3_2 p8 (cs)
CN3_1 p30 (rst)
CN2_1 p11 (power control)

このOB基板はMARYシステム用に開発されたものではありますが、2.54mmピッチの基板に簡単に取り付けができ、使いやすいものになっています。OB以外の各種基板もいろんな用途に活用できると思います。

mbed_oled1.jpg

でもこのままでは配線が宙ぶらりんで実用にはなりません。
そこで思いたったのが前回のMake Tokyo Meetingで@shintamainjpさんからいただいた StarBoard Orange 専用拡張基板:LCDインターフェースユニバーサル基板に実装してしまうことです。
StarBoard Orangeとユニバーサル基板の接続はLCDで使用している14Pのピンヘッダで接続しますが、その中で4つのピンが未使用です。ここにOB基板で使用しているSPI信号と+3.3Vを引き出すことにしました。その他の制御信号はLCD用のものを流用することにしました。具体的には以下のようになります。

CN8
-------------------
1 VLCD (+5V)
2 VSS (GND)
3 -2V
4 RS (p24)
5 VSS (GND)
6 E (p26)
7 N.C. ← 【改造】+3.3Vに接続
8 N.C. ← 【改造】SPI mosi(p5)に接続 
9 N.C. ← 【改造】SPI miso(p6)に接続 ※今回は使用しないので接続を省略
10 N.C. ← 【改造】SPI sck(p7)に接続 
11 DB4 (p27)
12 DB5 (p28)
13 DB6 (p29)
14 DB7 (p30)
-------------------

この改造を行った場合は標準のLCDが使えなくなってしまいますが、使用していないLCD側のピンを切断することで、標準のLCDでも使用できるようにしておきました。

mbed_oled3.jpg

完成したStarBoard OrangeのOLED基板はこんな感じになります。右側にフリースペースもできたので、ここにも回路を載せることができます。

mbed_oled2.jpg

表示情報も格段に多くなりますので、非常に気に入りました。
今はMARYシステムと兼用して使っているので、mbed用にもう1枚OB基板が欲しいです。
これをガイガーカウンターで活用してみようと思います。

ガイガーカウンタをmbedにつないでみた

  • 投稿日:
  • by
  • Category:

昨日動くことを確認したガイガーカウンター(秋月のGM管 D3372)mbedに接続してみました。
これでカウントすることもできますし、ネットワークに発信することも可能です。
もちろん、StarBoard Orangeを使用しています。

この映像は約1分間ですが、その間に4回検出があったことがわかります。D3372ではB.Gの検出はこれくらいになります。
現在のプログラムはただカウントするだけなので、数字は増えるばかりですが、
もう少しいじれば1分間あたり何回検出ということもできると思いますし、音を付けるのも良いかなと思います。

mbed robot (m3pi)をBluetooth keyboardでコントロールしてみました

  • 投稿日:
  • by
  • Category:

mbed robot (m3pi)をBluetooth keyboardでコントロールするようにしてみました。
ベースのプログラムはmbedCookbookにリンクされていたPeter Barrett さんのBlueUSBです。
このプログラムではUSBに接続したBluetoothドングルを使って、キーボードやマウスやWiiリモコンなどのデータを受信して表示することができます。
すでに手持ちのBluetoothキーボードでの動作は確認していましたので、あとはm3piのライブラリを組み込むだけです。
BlueUSBの中のTestShell.cppを改造して、m3piのクラスライブラリを組み込んで、キーボードの値によって、m3piに与えるコマンドを決めました。
まずはスピードは控えめに0.1ぐらいにしてみました。
動画はYouTubeにアップしましたが、キーボードで思ったようにコントロールできます。

コントローラがキーボードですので、他にもいろんな機能や動きを組み込むことができそうです。
詳しくはmbed.orgのNotebookにまとめましたので、そちらをご覧ください。

m3piを作ってみました

  • 投稿日:
  • by
  • Category:

m3piを作ってみました。
m3piとはPololu 3pi robotというロボットプラットフォームをmbedで制御しようという試みです。
Pololu 3pi robotには2つのモータ、LED、LCD、5つの光学センサー、ブザー、3つのボタンスイッチを持っており、ATmega328Pマイコンを搭載しています。普通の使いかたであれば、3pi robot本体だけでライントレーサ等を作ることができます。もちろんATmega328Pに書き込むためのISPは必要です。
Pololu 3pi robotの特徴として拡張用の基板を取り付けることができます。これを利用してATmega328Pとmbedをシリアル接続し、Pololu 3pi robotにファームウェアとしてサンプルプログラムであるシリアルスレーブプログラムを載せて、それをmbedから制御することでPololu 3pi robot本体を動かします。このため、mbedと3pi robotの接続はVcc, GND, TXD, RXD, RESETの5本だけで済んでいます。

完成したm3piです。
m3pi_1.jpg

3piと拡張ボードを外すとこうなります。
m3pi_2.jpg

mbed拡張ボードの拡大写真。配線はほんの少しです。
m3pi_3.jpg

拡張ボードからmbedを外した様子。配線は3本しかみえませんが、裏面で2本接続しています。両方ともStarBoard Orangeのように2x20Pソケットにしたかったのですが、拡張基板のパターンの都合で片側は1x20Pとするしかありませんでした。
m3pi_4.jpg

Pololu 3pi robotとの接続コネクタはこのようになっています。
m3pi_5.jpg

MTM06に間に合わせるために急いで拡張基板のハンダ付けを行い、3piのATmega328Pにserial slaveプログラムを書き込み、m3pi_HelloWorldのサンプルプログラムをコンパイルしてmbedに転送すると、あっさり動いてしまいました。

mbedを使うことで、プログラミング環境も簡単になりますし、mbedに他のセンサーやハードウェアを接続することでより高度なPololu 3pi robotの制御ができるのでは無いかと思います。拡張基板の空きスペースにbluetoothとかNetworkとか搭載すると面白いなと考え中です。

今回1点困ったのが、拡張基板付属のネジです。
今回赤い拡張基板を使ったのですが、付属ネジの長さがなぜか短く、スペーサーを使って基板を取り付けることができませんでした。MTM06にはしかたなくネジ止めせずに持っていきましたが、帰宅して黒い拡張基板の付属ネジを確認したらちょうど良い長さです。
左側が黒い基板の付属ネジで、右側が赤い基板の付属ネジです。明らかに長さが違います。なぜこうなっているのかは謎です。
m3pi_screw.jpg

今回のm3piの記事についてはmbed Notebook m3piを作ってみよう (in Japanese)にまとめておきましたので、そちらも参考にしてください。

Make: Ogaki Meetingに行ってきました

  • 投稿日:
  • by
  • Category:

Make: Ogaki Meetingに行ってきました。
会場では信長候がお出迎え。

mom01.jpg

さっそく、GPS Laboさんのブースでご挨拶して、@logic_starさんに私の☆Board OrangeとP.O.V.をお見せしました。折角の☆Board Orangeの機能は使っていなかったので、回転速度とかをLCDに表示すればよかったと後から思いました。
Make:の会場はこじんまりとしていて回るのは楽でした。子供に受けたのはユビキダスブースにあった「居合切り」とか「野菜切り」でした。他にもいろいろありましたが、他のかたがたくさんレポートしていると思いますのでここでは省略。
私はFPGA-CAFEさんで、レーザースピログラフのキットを購入してしまいました。ちょっと危ないけど面白そう。週末に実験してみたいと思います。オライリーの300円ガチャポンでは見事に缶バッチが3つ当たりました。(はずれ?)
帰りにGPS Laboさんに寄ったら、☆Board Orangeは完売とのことでした。

orange_kanbai.jpg

次回のMake:で☆Board Orangeがどのくらいの使われているか楽しみです。

LPCXpresso NXP LPC1768評価キットをいじってみる

  • 投稿日:
  • by
  • Category:

秋月でLPCXpresso NXP LPC1768評価キットを買ってきました。mbedで開発したバイナリがそのまま動くという話なので。
ボードはこんな感じ。写真にも写っていますが、小さい水晶発振子が飛び出ているので注意しましょう。

lpcxpresso-lpc1768.jpg

開発環境はWindows用なので、MacのParallels Desktopで動いているWindows XPにインストールして無事動きました。サンプルのLEDチカチカも問題なく動作。
とりあえず添付のヘッダピンをハンダ付けしてブレッドボードに差して遊んでみたいと思います。
ちなみにmbedで開発したバイナリを動かす方法は、@nxpfanさんが詳しくまとめています。


開発はmbedで、応用はこのボードでと使い分けができそうです。

追記:mbedとLPCXpresso NXP LPC1768では、EthernetのPHYチップが異なるのでその部分の互換性はないそうです。ちなみにmbedはNS社のDP83848J、LPCXpresso NXP LPC1768はSMSC社のLAN8720を使っています。

警告とメッセージ