メインコンテンツまでスキップ

温度を測定する - Raspberry Pi

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

ハードウェア

使用するセンサーはDHT11湿度および温度センサーで、1つのパッケージに2つのセンサーが組み合わされています。これは非常に人気があり、温度、湿度、時には気圧を組み合わせた市販のセンサーが多数あります。温度センサーコンポーネントは負の温度係数(NTC)サーミスタで、温度が上がると抵抗が減少するサーミスタです。

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

温度センサーを接続する

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

タスク

温度センサーを接続する

A grove temperature sensor

  1. Groveケーブルの一端を湿度および温度センサーのソケットに挿入します。片方の方向にしか入りません。

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

The grove temperature sensor connected to socket A0

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

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

タスク

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

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

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

    ⚠️ 必要に応じて、レッスン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ベースハットのデジタルポート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フォルダーにあります。

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