FRDM-KL25Zで実験してみるネタを探していましたが、少し前に秋月で新しい気圧センサーLPS25Hが発売されたので、こいつを使ってみることにしました。
メッシュ基板を使って配線すると配線作業はとっても楽になります。LPS25Hのとなりは、I2C EEPROMのAT24C1024Bです。気圧データの記録に使おうかと思います。どちらもI2Cで動かして、プルアップ抵抗はLPS25Hの基板上に実装されているものを使用。
LPS25Hを実際に見て感心したのは、その大きさ。もちろんパッケージも小さいのですが、気圧センスのための穴がとっても小さい。まさしくピンホールです。機能的には、FIFOを内臓しており連続計測データをFIFOにためておいて、必要な時に一度に読み出すことが可能です。加速度センサーと同じですね。さらにハードウェアで移動平均をとってくれるモードも用意されているので、ソフト側の負担を軽減できます。ほんと、一度設定してしまえば、あとはレジスタから読み出したデータをそのまま計測データとして使えちゃいます。
単にデータを読み出すだけではあまりに単純なので、今回は1HzのODRで割り込みをかけてもらいデータを読み出すことにしました。気圧データはレジスタから読み出した24ビットの値を4096で割るとhPa単位の値になります。温度の方はレジスタから読み出した16ビットの値を480で割ってから42.5を足すと℃単位の値になります。
メッシュ基板を使って配線すると配線作業はとっても楽になります。LPS25Hのとなりは、I2C EEPROMのAT24C1024Bです。気圧データの記録に使おうかと思います。どちらもI2Cで動かして、プルアップ抵抗はLPS25Hの基板上に実装されているものを使用。
LPS25Hを実際に見て感心したのは、その大きさ。もちろんパッケージも小さいのですが、気圧センスのための穴がとっても小さい。まさしくピンホールです。機能的には、FIFOを内臓しており連続計測データをFIFOにためておいて、必要な時に一度に読み出すことが可能です。加速度センサーと同じですね。さらにハードウェアで移動平均をとってくれるモードも用意されているので、ソフト側の負担を軽減できます。ほんと、一度設定してしまえば、あとはレジスタから読み出したデータをそのまま計測データとして使えちゃいます。
単にデータを読み出すだけではあまりに単純なので、今回は1HzのODRで割り込みをかけてもらいデータを読み出すことにしました。気圧データはレジスタから読み出した24ビットの値を4096で割るとhPa単位の値になります。温度の方はレジスタから読み出した16ビットの値を480で割ってから42.5を足すと℃単位の値になります。