ラズパイで温湿度を測定(DHT11) | そう備忘録

ラズパイで温湿度を測定(DHT11)

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

11件のフィードバック

  1. ゆーじ より:

    最近、ラズパイを始めた者です。わたしは、元機械エンジニアなので、電気はおろかPCプログラムについて知識が乏しいです。それでも、本ページを参考にさせて頂いて、温湿度の表示が出せました。ありがとうございます。プログラムのコマンドの使い方も分からないのに、ちゃんとPCを動かせたので、うれしくなりました。これからも参考にさせて頂きたいと思います。
    今回分かった事は、DHT11センサーを使うのに、事前にdht11.pyのプログラムをPC内に入れておかないと使えない、という事が分かりました。
    それまでは、PCが3番ピンのsiganl bus?の信号を勝手に読んでくれるのだと、思っていました。
    また、恐らくそうなんだろうな、と思っているのが、dht11.pyのプログラムが、モニタへの表示させる動作もやってくれているんだろうな、と思っています。
    まだまだ、プログラムのことはよくわかりませんが、PCが思った通りに動作してくれるとうれしいですね。
    将来的には、クラウドサーバーみたいなところにデータを集約させて、どこからでもデータを見れるようになりたいと思っています。
    ありがとうございました。

    • souichirou より:

      ゆーじさん
      コメントありがとうございます。
      また温湿度の表示が出来たとの事、良かったですね。
      プログラムの動作について補足しますね。

      おっしゃる通りピンの信号をラズパイで読んでいるのですが信号はこちらのデータシート
      (http://akizukidenshi.com/download/ds/aosong/DHT11_20180119.pdf)の6ページ目以降の
      のフォーマットの信号を元に数値に変換する必要があります。
      このデータシートのロジックを自分でコーディングしても良いのですが既に先人の方が
      dht11.pyというモジュールをgithubに用意してくれていたので、ありがたく使わせて
      もらったという事です。
      自分のプログラムから既に用意してもらったモジュール(プログラム)を11行目で読み込み(インポート)しています。

      from DHT11_Python import dht11 # 温湿度センサーモジュール

      ちなみにモニターへの表示は自分のプログラムの中でやっています。
      記事中のソースコードの40行目の

        print("温度 = ", temp, " 湿度 = ", hum, "%")

      がモニターへの表示のコーディングです。

      プログラミングを楽しんで下さい。

  2. ヤッチャ より:

    こんにちは。
    いつも参考にさせていただいております。
    これまでラズパイzeroを使用していましたが、この度ラズパイ4Bにグレードアップしました。
    しかしzeroで動作していたdht11ですが、4Bでは動作してくれません。
    温度、湿度共に99.9が永遠に表示されます。GPIOピンを変更しても変わりませんでした。
    4Bになり動作速度がかなり速くなっていると思いますが、それが原因でしょうか?
    他のサンプルプログラムでも同様に4Bでは動作しませんでした。
    何かヒントがありましたら教えていただけないでしょうか?

    よろしくお願いします。

    • ヤッチャ より:

      おはようございます。
      自己解決しました。 4BではGPIOピンにプルアップが必要だったようです。
      プルアップを付けたら問題なく動作しました。

      • souichirou より:

        ヤッチャさん
        コメントありがとうございます。既に自己解決しているとの事ですが、
        GPIO.setmode の下に、

        GPIO.setup(TEMP_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

        を入れた方が良いかも知れませんね。
        ご指摘ありがとうございます。

  3. ホアン より:

    こんにちは
    いつも参考にさせていただいております。
    今日はラズパイ4でテストをやってみましたが、”ModuleNotFoundError: No module named ‘DHT11_Python’” という異常を出てしまった。どうすればいいですか?
    よろしくお願いします。

    • souichirou より:

      ホアンさん
      こんにちは

      git clone https://github.com/szazo/DHT11_Python.git

      のコマンドをプログラムと同じディレクトリで実行するとDHT11_Python配下にdht11ディレクトリが作成される思いますが、ディレクトリは作成されていますか?

      • ホアン より:

        はい、作成しましたが、その異常を出ました

        • souichirou より:

          ホアンさん

          今回のプログラムの場所とディレクトリ構造とファイル名を教えて下さい。
          今回のスクリプト と __init__.py はどの様な位置関係にありますか?

  1. 2020年8月13日

    […] 温湿度センサーはDHT11を使っています。KKHMF DHT11 湿度センサーモジュール 温度センサーが安価です。コードはラズパイで温湿度を測定(DHT11) | そう備忘録を参考にさせてもらいました。 […]

  2. 2022年7月3日

    […] ラズパイで温湿度を測定(DHT11) | そう備忘録 https://www.souichi.club/raspberrypi/temperature-and-humidity/ […]

souichirou へ返信する コメントをキャンセル

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。