17 I2c通信で温度,湿度を取得しよう.(SHT-21 温度・湿度センサ)

 前回I2c通信のセッティングをしたので,早速,SHT-21 1チップ温度・湿度センサ・モジュールを使ってみましょう.

DSC00280

1.まずは以下の回路を製作してください.

回路図

1

外観

DSC00295

2.ラズベリーパイを起動,ログインし, $ sudo i2cdetect -y 1 を入力

184

40という値が見えると思います.この値が接続したSHT-21のアドレスになります.アドレスというのは,このセンサの住所みたいなものです.I2c通信は複数のセンサを取り扱うため,各センサにアドレスが決められています.つまり,各センサがPC内でどこに位置しているのかをこのアドレスで各センサに割り振っています.今わからなくても,やってくうちにすぐ理解できると思います.ここでは,SHT-21のアドレスは40である,ということだけわかればそれでいいです.

3.SHT-21のドライバをダウンロードする.
SHT-21センサの操作を簡単にするためのプログラムライブラリがあるので,そちらを利用させていただきます.
https://github.com/jaques/sht21_pythonを見てください.sht21.pyというファイルがあるので,ダウンロードします.

3.IDLEで以下のプログラムを作成.

4.ダウンロードしたプログラムと作成したプログラムを同じフォルダに入れます.

185

5.作成したほうのプログラムを実行すると,温度及び湿度が表示されます.

186

次はLPS331AP気圧センサを使ってみましょう.
18 I2c通信で気圧,標高を取得しよう.(LPS331AP気圧センサ) に続く.

参考図書(よかったらどうぞ)

You may also like...

3 Responses

  1. noda より:

    電子工作初心者です。シンプルでわかりやすい説明ありがとうございます。
    もしよろしければ教えてください。
    strawberry linaxの販売サイトによるとSHT-21のSCLとSDAはプルアップが必要、とあるのですが、ここでは必要ないのでしょうか?

    • lumenbolk より:

      nodaさん。こんにちは。
      質問ありがとうございます。私もプルアップしてないことに今更ながら気づきました。調べたところ、ラズベリーパイのGPIO0と1は基板上で既にプルアップをしているようです。(参考にしたサイト:http://openrtm.org/openrtm/ja/content/pirt-unit_with_i2cdevices)ということで、ラズベリーパイでの動作でしたらプルアップ抵抗を挿す必要はないみたいです。

      • noda より:

        lumenbolkさん。
        しばらく時間を空けてしまい、大変失礼しました。
        ご返答ありがとうございました。raspberry piを使った初めての工作だったのですが、うまく動作しました。
        これからもこちらのサイトで色々勉強させていただきたいと思います。
        よろしくお願い致します。

lumenbolk にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">