使い方
ラズベリーパイで温湿度センサー(DHT-20)の使い方
ラズベリーパイでは、I2CやUART、SPIなど、デジタルのインターフェースを搭載し、かつライブラリーが提供されているセンサーを使うのが最も簡単です。
この記事では、ラズベリーパイでI2C接続の温湿度センサー(DHT-20)の使い方を紹介します。DTH20はライブラリーがありますので、温度と湿度を簡単に測ることができます。
温湿度センサーDHT-20のスペック
主なスペックは以下のとおりです。
測定対象 | 温度(-40〜80℃)、相対湿度(0〜100%RH) |
電源 | DC 2.2〜5.5V |
消費電流 | 0.98 mA(測定時)、0.25μA(待機時) |
インターフェース | I2C(アドレス: 0x38) |
精度 | 温度: ±0.5℃、湿度: ±3%RH |
推奨測定間隔 | 2s |
Pythonライブラリー | adafruit-circuitpython-ahtx0 |
ラズベリーパイと温湿度センサーDTH20の接続
I2Cタイプのセンサーは3.3V、SDA、SCL、GNDの4つをラズベリーパイと接続します。SDAはSDAどうし、SCLはSCLどうしに接続します。
具体的には以下のようにします。
DHT20 | ラズベリーパイ |
VDD | 3.3Vピン |
SDA | GPIO 2 |
SCL | GPIO 3 |
GND | GND(どこのGNDでもOK) |
ラズベリーパイの準備
I2Cの有効化
$ sudo raspi-config もしくはデスクトップのGUIからI2Cインターフェースを有効化します。
ライブラリー等のインストール
以下のコマンドでインストールできます。
$ sudo pip3 install adafruit-circuitpython-ahtx0
$ pip3 install board
サンプルプログラム
以下のプログラムが使用できます。
import time # 必要なライブラリーのインポート
import board
import adafruit_ahtx0
i2c = board.I2C() # I2Cバスの準備
sensor = adafruit_ahtx0.AHTx0(i2c) # センサーオブジェクトを作成
while True:
print("\nTemperature: %0.1f C" % sensor.temperature) #温度を表示
print("Humidity: %0.1f %%" % sensor.relative_humidity) #湿度を表示
time.sleep(2)
プログラムを実行すると以下のように表示されます。
おわりに
いかがだったでしょうか? ライブラリーを使用しないとプログラムが複雑になりますが、ライブラリーを使用するととてもすっきりしますので、おすすめです😊