きょうのかんぱぱ

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

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


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

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

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分間あたり何回検出ということもできると思いますし、音を付けるのも良いかなと思います。

警告とメッセージ