« mbed HRM1017 (1)mbedなBLE開発ボード | トップページ | mbed HRM1017 (6)温度を計測(techBASIC編) »

mbed HRM1017 (4)温度を計測(nRF Toolbox編)

Nrftool

mbed HRM1017をはじめよう」の中で「BLE_Health_Thermometer_IRC」というサンプルプログラムがあります。このサンプルはTMP102というI2Cの温度計を使ったサンプルなんですが、(私が持ってないということで)ADT7410というI2Cの温度計でも動くような、mbed HRM1017で使ってみたいと思います。

ADT7410について

ADT7410は秋月で購入できます。
主な仕様および外観は以下です。

Firefoxscreensnapz001

Screensnapz016

Firefoxscreensnapz002

プログラムをインポートする

今回使用するプログラムは、TMP102用のプログラム(BLE_Health_Thermometer_IRC)をアレンジして作ったADT7410用のプログラムです。こちらのページ(BLE_ADT7410_TMP102_Sample) から「Import this program」で取り込んで下さい。

  • ※プラットフォームは(mbed HRM1017がまだ未登録の場合は)、Nordic nRF51822を選択して下さい。
  • ※ADT7410のライブラリーは、ライブラリーの検索で見つけたものを使っています。

このようなファイルになります。

Safariscreensnapz035

 配線する

Adt410

mbed HRM1017の

  • P0_20 = SCL
  • P0_22 = SDA

と、ADT7410のSCLとSDAを接続します。秋月のADT741のページにあるマニュアルを参考にして下さい。

ADT7410のコード

ADT7410クラスの

コンストラクタ

  • ADT7410(PinName sda, PinName scl, char addr, int hz)

となってます。

アドレスは、0x48x2=0x90で、BUSスピードは400kHzとして、それから、ADT7410とTMP102は、使い分けられるように以下のようにしました。

Safariscreensnapz036

温度取得

  • float getTemp()

で、温度が得られます。updateServiceValuesが周期的に呼ばれるのでそこで温度を取得します。
Safariscreensnapz037

nRF Toolboxで動作テスト

Nordic社のテスト用アプリ「nRF Toolbox」で動作チェックしてみましょう。以下からダウンロードできます。

動作チェック

  1. nRF Toolboxを起動
  2. 「HTM」をタップ
  3. 「Connect」をタップ
  4. 「nRF5x」をタップ

Img_5495 Img_5496

Img_5497 Img_5494

さて、上手く取得できたでしょうか?今回は、以上です。次回は、既存のアプリを使うのではなく、konashi.jsで自作したアプリで温度表示してみたいと思います。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

Photo  

|

« mbed HRM1017 (1)mbedなBLE開発ボード | トップページ | mbed HRM1017 (6)温度を計測(techBASIC編) »

無線(mbed HRM1017)」カテゴリの記事

コメント

最近電子工作を始めたばかりで、大変参考になりました!ありがとうございます

1点基本的な質問で申し訳無いのですが、I2Cのバスアドレスは秋月のデータシートでは0x48としているのを記事の上では「0x48x2=0x90」としているのは何らかの決まり事なのでしょうか?

お手数ですが、参考になるページや考え方など教えて頂けるとありがたいです。

投稿: 初心者(`・ω・´) | 2014年11月11日 (火) 04時17分

コメントありがとうございます。
2倍することは左に1ビットシフトすることです。上位7ビットがアドレスで下位1ビットがRead/Writeのフラグ だったかとおもいます。どちらがReadでWriteか忘れましたが0x90と0x91となります。間違った認識をしてるかもしれませんので完全に鵜呑みにしないで下さいね

投稿: micono | 2014年11月11日 (火) 08時40分

迅速にご回答いただき有り難うございます(´;ω;`)
なるほど!!自分だけで考えていたら、その考えに辿り着くまでかなり時間がかかっていました。。教えて頂いた情報から調べてみると
http://ekousaku.web.fc2.com/doc/I2C.pdfのp13に書かれている内容から最下ビットは0:Write 1:Readに対応しているようですね。

とても勉強になりました。ブログも興味深く読ませて頂いております。今後ともよろしくお願いします((´^ω^))

投稿: 初心者(`・ω・´) | 2014年11月11日 (火) 21時30分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: mbed HRM1017 (4)温度を計測(nRF Toolbox編):

« mbed HRM1017 (1)mbedなBLE開発ボード | トップページ | mbed HRM1017 (6)温度を計測(techBASIC編) »