【11月16日】スキー活動量計ーMPU9250接続手間取りと脈波センサ変更ー

中華IMUセンサ格安だったので、5個買って2週間でようやく届いた。
早速、i2c接続して、サンプルプログラムを探して接続をこころみたが
whoamiで変なアドレスしか返ってこないので、配線不良かと思って
オシロでSDAとSCL波形をみながら、あれこれいじって一日終わってしまいました。

●オシロでみた結果
I2Cは正常に動作しているのでハードではない。
mbedでi2cの基礎を説明してあります。

https://developer.mbed.org/users/okano/notebook/i2c-access-examples/

https://i0.wp.com/mbed.org/media/uploads/okano/i2c_write_3bytes.png?w=474

https://i0.wp.com/mbed.org/media/uploads/okano/i2c_read_1byte.png?w=474
i2Cが正常かどの判断は、下記ブログで御世話になってます。
「I2Cの話し」:http://sudoteck.way-nifty.com/blog/2010/03/i2c-8d8b.html

「ACKのはなし」:http://sudoteck.way-nifty.com/blog/2010/05/i2c-ack-afff.html

「I2Cトラブルのはなし」:
http://sudoteck.waynifty.com/blog/2010/04/i2c-1b2e.html

これらを読みながら、オシロでSDAとSCLのタイミングを数えて、2進数で読んでみて、おかしくないか確認するという作業しました。

●原因は、
サンプルプログラムとの相性が悪かったみたいです。
①”MPU8250 “というプログラムですが、REVISION 0でした。
=>Arduino用をmbedに持ってきたみたいで、ピン名もARDUINOのままで、あちこちにARDUINOという表記がでていて、わけのわからない割り込みが入っていて、見た瞬間にやめておけば時間の無駄はなかったです。

②”i2c_MPU6050″リビジョン7で、これが動作しました。
これは、NUCLEO-F411RE用でMPU6050.hが作ってあったので、SDAとSCLのピン名をp9,p10に書き換えるだけで動作1発OKでした。

●心拍センサをGROVEに変更
心拍系は、昔から電子工作ネタで、ARDUINOの作例が多く、販売されているセンサもARDUINO対応品でした。これをMBEDで使うには、サンプルプログラムが無いものは避けないといけない、しかもサプルプログラムがあったとしても実績のありそうなものが必要だと思います。
先週末に思い立って、衝動買いしたセンサをオシロで接続してみたけど
あまりにも出力電圧が小さくてノイズに埋もれてました。
おかしいと思って、使っている人のブログみると、結構回路を組んで
波形を得るために苦労するみたいでした。しかもArduinoでした。
http://yujimiyano.tumblr.com/post/112883870573/%E8%84%88%E6%B3%A2%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F
この方が参考にしたリンクがここで、
http://protolab.sakura.ne.jp/OPPL/?page_id=165

みているうちに手間がうんとかかることがわかったので、
mbedで使えそうなセンサを探しました。
これが下記Groveの耳センサです。
mbedでもいくつか作例があったので、これも検討することにしました。
箱があって大きいのですが、接続で苦労するよりはいいだろうと思ってます。http://wiki.seeedstudio.com/wiki/Grove_-_Heart_rate_ear_clip_kit

Heart rate ear clip kit.jpg

新たなセンサをどんどん組み込むたびに何かはまるのですが、
これも修行だと思って、懲りずにやっていきます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です