気圧センサーLPS25HBはI2CでArduinoのRaspberry Pi Picoにつなげました

動きが分かればさすがにPicoでは牛刀感があり(^^;;;;,ATtiny402に変更して7segLEDにも表示してみました。


[ハード構成]
 LEDドライバーTM1637は5V仕様,気圧センサーLPS25HBは3.3V仕様なので,今回はBSS138でレベル変換を挟んでいます。





 I2CのプルアップとしてBSS138モジュールにはあらかじめ10KΩがついています。また,センサーもLEDドライバーもシリアル接続なので8pinのMPUでも十分対応できます(^^)。





[ソフトの概要]

 LEDドライバ関係は温湿度センサーのプログラムをそのまま使用し,気圧センサーの読み込みはPicoのプログラムを流用しています(^^) 。


 プログラムの変更点(訂正点?)はセンサーの初期設定でオフセット値の計算での変数の型変換(キャスト)部です。

次の部分でATtiny402ではコンパイルにワーニングが出ました。38行で"int"の計算に"Overflow"が起こっているよ!との事で,計算値もおかしくなっていました。




これはキャストの(long)をカッコ内で先に変換する事で治りました。というかこの方が正しい?ですかね。





プログラム全体では2.2KBぐらいで収まっていますし,RAMも余裕がある状態ですので,心配なく動いていますV(^^)。

やはり8bitマシンはコンパイルするとそれなりにコンパクトなコードになるみたいですね。