Skip to main content

Grove - 温湿度センサー (DHT11)

この温湿度センサーは、事前校正されたデジタル出力を提供します。独自の容量式センサー素子が相対湿度を測定し、温度は負の温度係数(NTC)サーミスタによって測定されます。優れた信頼性と長期安定性を備えています。このセンサーは0度以下の温度では動作しないことにご注意ください。

産業用センサーへのアップグレード

SenseCAP S2110 コントローラーS2100 データロガーを使用することで、Grove を LoRaWAN® センサーに簡単に変換できます。Seeed はプロトタイピングをサポートするだけでなく、堅牢な産業用センサーの SenseCAP シリーズでプロジェクトを拡張する可能性も提供します。

SenseCAP S210x シリーズの産業用センサーは、環境センシングのためのすぐに使える体験を提供します。大気質監視のためのより高い性能と堅牢性を持つ S2101 ワイヤレス温湿度センサーをご参照ください。このシリーズには、土壌水分、気温・湿度、光強度、CO2、EC、および8-in-1気象ステーションのセンサーが含まれています。次の成功する産業プロジェクトには、最新のSenseCAP S210xをお試しください。

SenseCAP 産業用センサー
S2101 気温・湿度センサー

特徴


  • 相対湿度と温度測定
  • 全範囲温度補償校正済み
  • デジタル信号
  • 長期安定性
  • 長距離伝送(>20m)
  • 低消費電力
tip

Grove モジュールの詳細については、Grove システムをご参照ください

応用例


  • 消費者製品
  • 気象ステーション
  • 湿度調整器
  • エアコン

仕様


主要仕様

項目最小値
PCB サイズ2.0cm*4.0cm
インターフェース2.0mm ピッチピンヘッダー
IO 構造SIG,VCC,GND,NC
ROHSYES

電気的特性

項目

条件

最小値

標準値

最大値

単位

VCC

3.3

5

Volts

測定時電流供給

1.3

2.1

mA

平均電流供給

0.5

1.1

mA

測定範囲

湿度

20%

90%

RH

温度

0

50

°C

精度

湿度

±5%

RH

温度

±2

°C

 感度

湿度

1%

RH

温度

1

°C

再現性

湿度

±1%

RH

温度

±1

°C

長期安定性

±1%

RH/年

信号収集周期

2

S

対応プラットフォーム

ArduinoRaspberry Pi
note

上記で対応として言及されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示すものです。ほとんどの場合、Arduino プラットフォーム用のソフトウェアライブラリまたはコード例のみを提供しています。すべての可能な MCU プラットフォーム用のソフトウェアライブラリ/デモコードを提供することは不可能です。したがって、ユーザーは独自のソフトウェアライブラリを作成する必要があります。

はじめに

MCU がトリガー信号を送信すると、センサーは低消費電力モードからアクティブモードに変わります。トリガー信号の後、センサーは MCU に応答信号を送り返し、その後40ビットの収集データが送信され、新しい信号収集がトリガーされます。(センサーから MCU に送信される40ビットの収集データは、トリガー信号が来る前にすでに収集されていることに注意してください。)1つのトリガー信号で、センサーから1回の40ビット応答データを受信します。MCU とセンサー間の通信には、シングルバスデータが使用されます。 通信プロセスは以下に示されています:

1回の通信には5msかかります。データの上位ビットが最初に送信されます。信号データは40ビットで、16ビットの湿度データ、16ビットの温度データ、8ビットのチェックサムで構成されています。データ形式は以下の通りです:

湿度の整数部8ビット+湿度の小数部8ビット +温度の整数部8ビット+温度の小数部8ビット +チェックサム8ビット。

note

Arduino を初めて使用する場合は、開始前にArduino 入門ガイドを参照することを強くお勧めします。

Arduino で遊ぶ

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Seeeduino V4.2Base Shield温湿度センサー
今すぐ入手今すぐ入手今すぐ入手
  • ステップ 2. Grove - 温湿度センサーを Grove-Base Shield のポート D2 に接続します。

  • ステップ 3. Grove - Base Shield を Seeeduino に差し込みます。

  • ステップ 4. USB ケーブルで Seeeduino を PC に接続します。

note

Grove Base Shield がない場合でも、Grove - Temperature and Humidity Sensor Pro を以下のように Seeeduino に直接接続することができます。

SeeeduinoTemperature&Humidity Sensor
5VRed
GNDBlack
Not ConenctedWhite
D2Yellow

ソフトウェア

  • ステップ 1. Github から Seeed DHT ライブラリ をダウンロードします。

  • ステップ 2. ライブラリのインストール方法 を参照して Arduino 用ライブラリをインストールします。

  • ステップ 3. Arduino IDE を再起動します。パス File --> Examples --> Grove_Humidity_Temperature_Sensor-master --> DHTtester から "DHTtester" サンプルを開きます。このデモを通じて、環境の温度と相対湿度の情報を読み取ることができます。

note

この Grove - Temperature&Humidity Sensor と弊社の別製品 Grove-Temperature&Humidity Sensor pro は同じライブラリを共有しています。どちらの製品を使用している場合でも、お使いのボードのセンサーの定義行を有効にし、他の仕様の定義行をコメントアウトしていることを確認してください。例えば、Grove - Temperature&Humidity Sensor で使用しているセンサーは DHT 11 です。そのため、センサー仕様の定義部分は以下のようになります:

#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)

ライブラリのデフォルト設定は DHT 22 なので、手動で DHT 11 に変更する必要があります。

  • ステップ 4. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法 を確認してください。

  • ステップ 5. Tool-> Serial Monitor をクリックして Arduino IDE の Serial Monitor を開きます。または ++ctrl+shift+m++ キーを同時に押します。すべてが正常に動作すれば、温度が取得できます。

結果は以下のようになります:

Codecraft で遊ぶ

ハードウェア

ステップ 1. Grove - Temperature&Humidity Sensor を Base Shield のポート D2 に接続します。

ステップ 2. Base Shield を Seeeduino/Arduino に接続します。

ステップ 3. USB ケーブルで Seeeduino/Arduino を PC に接続します。

ソフトウェア

ステップ 1. Codecraft を開き、Arduino サポートを追加し、メインプロシージャを作業エリアにドラッグします。

note

Codecraft を初めて使用する場合は、Arduino を使用した Codecraft ガイド も参照してください。

ステップ 2. 下の画像のようにブロックをドラッグするか、このページの最後でダウンロードできる cdc ファイルを開きます。

プログラムを Arduino/Seeeduino にアップロードします。

tip

コードのアップロードが完了すると、Serial Monitor に温度と湿度が表示されます。

Raspberry Pi で遊ぶ(Grove Base Hat for Raspberry Pi 使用)

ハードウェア

  • ステップ 1. このプロジェクトで使用するもの:
Raspberry piGrove Base Hat for RasPiGrove - Temp & Hum Sensor
今すぐ入手今すぐ入手今すぐ入手
  • ステップ 2. Grove Base Hat を Raspberry に接続します。
  • ステップ 3. 温湿度センサーを Base Hat のポート 12 に接続します。
  • ステップ 4. USB ケーブルで Raspberry Pi を PC に接続します。
note

ステップ 3 では、温湿度センサーを 任意の GPIO ポート に接続できますが、対応するポート番号でコマンドを変更することを確認してください。

ソフトウェア

caution

Raspberrypi OS >= Bullseye の Raspberry Pi を使用している場合は、このコマンドラインを Python3 でのみ 使用する必要があります。

tip

ステップの一つは必要な DHT ライブラリを追加することです。インストールされていることを確認してください。

  • ステップ 2.関連する仮想環境に入ります。
source ~/grove_env/env/bin/activate
cd ~/grove_env/grove.py/grove
  • ステップ 3. 以下のコマンドを実行してコードを実行します。
nano ~/grove_env/dht11_demo.py

以下のコードをコピーします

import time
import seeed_dht

sensor = seeed_dht.DHT("11", 12)
print("DHT11 reading every second, Ctrl+C to quit")
try:
while True:
humi, temp = sensor.read()
print(f"DHT11 Humidity {humi:.1f}% Temperature {temp:.1f}°C")
time.sleep(1)
except KeyboardInterrupt:
print("\nBye")

tip

保存して終了: Ctrl+O → Enter → Ctrl+X

すべてが正常に動作すれば、以下の結果を確認できます


pi@raspberrypi:~/Seeed_Python_DHT/examples $ python ~/grove_env/dht11_demo.py
DHT11, humidity 39.2%, temperature 29.1*
DHT11, humidity 39.2%, temperature 29.1*
DHT11, humidity 39.2%, temperature 29.1*
DHT11, humidity 39.1%, temperature 29.1*
DHT11, humidity 40.0%, temperature 29.1*
DHT11, humidity 39.9%, temperature 29.1*
DHT11, humidity 40.3%, temperature 29.1*
DHT11, humidity 42.0%, temperature 29.1*

++ctrl+c++ を押すだけでこのプログラムを終了できます。

Raspberry Pi で遊ぶ(GrovePi_Plus 使用)

ハードウェア

まず、以下のものを準備する必要があります:

  • ステップ 1. 以下のものを準備します:
Raspberry piGrovePi_PlusTemperature&Humidity Sensor
今すぐ入手今すぐ入手今すぐ入手
  • ステップ 2. GrovePi_Plus を Raspberry に接続します。

  • ステップ 3. Grove - Temperature&Humidity Sensor を GrovePi_Plus の D4 ポートに接続します。

  • ステップ 4. USB ケーブルで Raspberry を PC に接続します。

ソフトウェア

tip

この wiki では /home/pi/Desktop/GrovePi の代わりにパス ~/GrovePi/ を使用しています。ステップ 2 とステップ 3 で同じパスを使用することを確認してください。

note

ファームウェアの更新を強く推奨します。一部のセンサーでエラーが発生する可能性があります。

caution

Raspberrypi OS >= Bullseye の Raspberry Pi を使用している場合は、このコマンドラインを Python3 でのみ 使用する必要があります。

  • ステップ 3. Github リポジトリを Git クローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git

  • ステップ 4. コードを確認します。

cd ~/GrovePi/Software/Python
sudo nano grove_dht_pro.py

コードは以下のようになります:

import grovepi
import math
# Connect the Grove Temperature & Humidity Sensor Pro to digital port D4
# This example uses the blue colored sensor.
# SIG,NC,VCC,GND
sensor = 4 # The Sensor goes on digital port 4.

# temp_humidity_sensor_type
# Grove Base Kit comes with the blue sensor.
blue = 0 # The Blue colored sensor.
white = 1 # The White colored sensor.

while True:
try:
# This example uses the blue colored sensor.
# The first parameter is the port, the second parameter is the type of sensor.
[temp,humidity] = grovepi.dht(sensor,blue)
if math.isnan(temp) == False and math.isnan(humidity) == False:
print("temp = %.02f C humidity =%.02f%%"%(temp, humidity))

except IOError:
print ("Error")

次に ++ctrl+x++ を押して nano を終了します。

note

Grove - Temperature&Humidity Sensor と Grove - Temperature&Humidity Sensor pro は grove_dht_pro.py という名前の同じ Python コードを共有しています。唯一の違いは、[temp,humidity] = grovepi.dht(sensor,blue) の文で、Grove - Temperature&Humidity Sensor には blue パラメータを使用し、Grove - Temperature&Humidity Sensor pro には white を使用することです。デフォルト値は blue なので、このセンサーではコードを変更する必要はありません。

  • ステップ 5. 以下のコマンドを実行して値を取得します。
sudo python3 grove_dht_pro.py

結果は次のようになります:


pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 grove_dht_pro.py
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%
temp = 26.00 C humidity =40.00%

Wio Terminal で遊ぶ(ArduPy)

ハードウェア

  • ステップ 1. 以下を準備します:
Wio TerminalGrove - 温湿度センサー(DHT11)
今すぐ入手今すぐ入手
  • ステップ 2. Grove - 温湿度センサーを Wio Terminal の D0 ポートに接続します。

  • ステップ 3. USB Type-C ケーブルで Wio Terminal を PC に接続します。

ソフトウェア

  • ステップ 1. ArduPy 入門ガイド に従って、Wio Terminal で ArduPy 開発環境を設定します。

  • ステップ 2. 以下のコマンドを使用して、ArduPy ファームウェアに DHT ライブラリが含まれていることを確認します。詳細については、こちら を参照してください。

aip install Seeed-Studio/seeed-ardupy-dht/archive/main.zip
aip build
aip flash
  • ステップ 3. 以下のコードをコピーして ArduPy-DHT.py として保存します:
from arduino import grove_dht
from machine import LCD, Sprite
import time

dht = grove_dht(0,11)
lcd = LCD() # initialize TFT LCD
spr = Sprite(lcd) # initialize buffer

def main(): # main function
spr.createSprite(320, 240) # create buffer
while True: # while loop
spr.fillSprite(spr.color.WHITE) # fill background

# two fill rectangles
spr.fillRect(0,0,160,240,spr.color.DARKGREEN) # fill rectangle in color
spr.fillRect(160,0,160,240,spr.color.BLUE)

# temp and humid text draw
spr.setTextSize(2) # set text size
spr.setTextColor(spr.color.WHITE,spr.color.DARKGREEN) # set text color
spr.drawString("Temperature", 15, 65) # draw string
spr.setTextColor(spr.color.WHITE,spr.color.BLUE)
spr.drawString("Humidity", 190, 65)

# obtain readings
t = dht.temperature # store temperature readings in variable
h = dht.humidity # store humidity readings in variable

# display temp readings
spr.setTextSize(4)
spr.setTextColor(spr.color.WHITE,spr.color.DARKGREEN)
spr.drawNumber(int(t),50,110) # display number
spr.drawString("C", 100, 110)

# display humi readings
spr.setTextColor(spr.color.WHITE,spr.color.BLUE) # set text color
spr.drawNumber(int(h),180,110)
spr.drawString("%RH", 235, 110)

spr.pushSprite(0,0) # push to LCD
time.sleep_ms(100)

print("temperature:",t,"C", end =" ")
print("humidity:",h,"%RH")

if __name__ == "__main__": # check whether this is run from main.py
main() # execute function
  • ステップ 4. ArduPy-DHT.py を分かりやすい場所に保存します。以下のコマンドを実行し、<YourPythonFilePath>ArduPy-DHT.py の場所に置き換えてください。
aip shell -n -c "runfile <YourPythonFilePath>"
# Example:
# aip shell -n -c "runfile /Users/user/Desktop/ArduPy-DHT.py"

これで、温度と湿度の情報がコマンドプロンプト/ターミナルウィンドウと Wio Terminal の LCD の両方に表示されます。

C:\Users\user>aip shell -n -c "runfile /Users/user/Desktop/ArduPy-DHT.py"
Positional argument (COM4) takes precedence over --open.
Connected to ardupy
temperature: 31.0 C humidity: 85.0 %RH
temperature: 31.0 C humidity: 85.0 %RH
temperature: 31.0 C humidity: 85.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH
temperature: 31.0 C humidity: 87.0 %RH

回路図オンラインビューア

リソース

プロジェクト

トイレ管理システム:このシステムを使用することで、複数の人が一つのトイレを効率的に共有できます。

技術サポートと製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...