ここのところ・・・簡易Arduinoの研究をやっています。
CPUはATMEGA168なんですが・・・
センサーをArduino化したATMEGA168に接続したりしてます。
そんな状況で・・・
I2C( Inter-Integrated Circuit のこと、我家では I-squared-C と発音します)接続の温度センサーを接続して実験してみると・・・
電源を入れて最初の計測がなんか不安定です。 17度と表示したり、25度と表示したり・・・
一旦電源を切り、再度起動すると・・・今度は安定します。
それ以降は、ずっと安定して計測できるのですが・・・
長い時間電源を切ってから、電源を入れると最初の計測がやっぱり不安定です。
原因不明!
理系でも、数学屋の私には全くのお手上げです。
いかし、本やインターネットを調べながら、いろいろやっていると解決しました。
原因は、I2Cの2本の信号線のプルアップ抵抗が合っていなかったようです。
私の記憶には・・・ I2Cのプルアップ抵抗=10kΩ ・・・と、刷り込まれて居るのですが、これがダメでした。 プルアップ抵抗を1kΩにしたら・・・あっさり不安定が解決しました。
そんなときに、都合よく(長野方面から)救世主が我家に来てくれました。
電子回路に詳しい彼の説明で、原因と対応が判りました。
ありがとう RAIN