大気圧計LPS331を動かせるようになった

 GW中に仕入れた、秋月電子で扱っていた大気圧計LPS331。比較的新しいセンサーらしい。値段は\650とSCP-1000の半分以下で、SPIかI2Cのどちらかを選べる。ネットでの情報ではMPL115A2のようなふらつきもなく、精度もよさそうだ。SCP-1000の場合、データ線だけでも5本必要だが、LPS331はI2Cだと2本で良い。しかも他のI2C機器を芋蔓式に繋げる。
 スケッチはSCP-1000もMPL115A2もネットでの動作例を参考にさせてもらい、自分の力で動かせた訳ではない。I2Cの勉強がてら自力で作ってみた。一番はまったのは機器のアドレスだ。SA0=GNDで0xB8,SA0=VDDで0xBAという指定があり、0xB8(10111000)にして0x0f番地を読みに行っても-1(FFFFだったか)しか返さない。正常に動作していればBBが返ってくる。なんでもアドレス8bitに対し7bitしか読まず、右にシフトして01011100=0x5Cと指定しなくては駄目だそうだ。無事にBBが返ってくるようになり、圧力値が得られるようになった。ただ温度の値がおかしい。