You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ja/2-farm/lessons/1-predict-plant-growth/pi-temp.md

6.8 KiB

温度を測定する - Raspberry Pi

このレッスンのこの部分では、Raspberry Pi に温度センサーを追加します。

ハードウェア

使用するセンサーは DHT11 湿度・温度センサー です。このセンサーは 2 つのセンサーを 1 つのパッケージに組み合わせたものです。これは非常に一般的で、温度、湿度、時には気圧を組み合わせた市販のセンサーが数多く存在します。温度センサーのコンポーネントは負の温度係数NTCサーミスタで、温度が上昇すると抵抗が減少する特性を持っています。

このセンサーはデジタルセンサーであり、温度と湿度のデータを含むデジタル信号を生成するオンボード ADC を備えています。この信号をマイクロコントローラーが読み取ることができます。

温度センサーを接続する

Grove 温度センサーを Raspberry Pi に接続できます。

タスク

温度センサーを接続する

Grove 温度センサー

  1. Grove ケーブルの片方の端を湿度・温度センサーのソケットに差し込みます。ケーブルは一方向にしか差し込めません。

  2. Raspberry Pi の電源を切った状態で、Grove ケーブルのもう一方の端を Pi に接続された Grove Base Hat のデジタルソケット D5 に接続します。このソケットは GPIO ピンの隣のソケット列の左から 2 番目にあります。

ソケット A0 に接続された Grove 温度センサー

温度センサーをプログラムする

これで、接続された温度センサーを使用するようにデバイスをプログラムできます。

タスク

デバイスをプログラムする

  1. Pi の電源を入れ、起動を待ちます。

  2. VS Code を起動します。Pi 上で直接起動するか、Remote SSH 拡張機能を使用して接続します。

    ⚠️ 必要に応じて、レッスン 1 の VS Code のセットアップと起動に関する手順を参照してください。

  3. ターミナルから、pi ユーザーのホームディレクトリに temperature-sensor という新しいフォルダを作成します。このフォルダ内に app.py というファイルを作成します:

    mkdir temperature-sensor
    cd temperature-sensor
    touch app.py
    
  4. このフォルダを VS Code で開きます。

  5. 温度・湿度センサーを使用するには、追加の Pip パッケージをインストールする必要があります。VS Code のターミナルから、以下のコマンドを実行して Pi に Pip パッケージをインストールします:

    pip3 install seeed-python-dht
    
  6. 必要なライブラリをインポートするために、以下のコードを app.py ファイルに追加します:

    import time
    from seeed_dht import DHT
    

    from seeed_dht import DHT ステートメントは、seeed_dht モジュールから Grove 温度センサーとやり取りするための DHT センサークラスをインポートします。

  7. 上記のコードの後に、温度センサーを管理するクラスのインスタンスを作成するための以下のコードを追加します:

    sensor = DHT("11", 5)
    

    これは、Digital Humidity and Temperature センサーを管理する DHT クラスのインスタンスを宣言します。最初のパラメータは、使用しているセンサーが DHT11 センサーであることをコードに伝えます。使用しているライブラリは、このセンサーの他のバリエーションもサポートしています。2 番目のパラメータは、センサーが Grove Base Hat のデジタルポート D5 に接続されていることをコードに伝えます。

    すべてのソケットには固有のピン番号があります。ピン 0、2、4、6 はアナログピン、ピン 5、16、18、22、24、26 はデジタルピンです。

  8. 上記のコードの後に無限ループを追加し、温度センサーの値をポーリングしてコンソールに出力します:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    sensor.read() の呼び出しは、湿度と温度のタプルを返します。必要なのは温度値だけなので、湿度は無視します。その後、温度値をコンソールに出力します。

  9. ループの最後に 10 秒間のスリープを追加します。温度レベルを継続的にチェックする必要はありません。スリープを追加することで、デバイスの消費電力を削減できます。

    time.sleep(10)
    
  10. VS Code のターミナルから、以下を実行して Python アプリを実行します:

    python3 app.py
    

    コンソールに温度値が出力されるのが確認できるはずです。センサーを温めるために、親指で押さえたり、ファンを使用したりして値が変化するのを確認してください:

    pi@raspberrypi:~/temperature-sensor $ python3 app.py 
    Temperature 26°C
    Temperature 26°C
    Temperature 28°C
    Temperature 30°C
    Temperature 32°C
    

💁 このコードは code-temperature/pi フォルダにあります。

😀 温度センサーのプログラムが成功しました!

免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を期すよう努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された原文が公式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。