気圧センサー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マシンはコンパイルするとそれなりにコンパクトなコードになるみたいですね。
動きが分かればさすがに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マシンはコンパイルするとそれなりにコンパクトなコードになるみたいですね。