1.はじめに
SHT31デジタル温湿度センサーモジュールは新世代の温湿度センサーで、2.4〜5.5Vの広電圧で駆動でき、IIC通信を採用し、通信速度は最大1MHz、湿度精度は±2%RH、温度精度は0.3℃、動作電流は800µAです。
名前 | 説明 |
---|---|
VCC | 電源2.4〜5.5V |
GND | 接地 |
SCL | IICシリアルクロックライン/SPIシリアルクロックポート |
SDA | IICシリアルデータライン/SPIシリアルデータ入力 |
2.使用前の準備
SHT31デジタル温度および湿度センサーモジュールI2CGY-SHT31-D環境検出 | 1 |
---|---|
オリジナルのunor3開発ボードプログラミングAtmega328PAVR8ビットマイクロコントローラー | 1 |
USB2.0プリンタデータケーブル高速スクエアポート接続アダプタケーブルAオス-Bオス | 1 |
デュポンライン | 若干 |
3.試験方法
USB2.0プリンターデータケーブル高速スクエアポート接続アダプターケーブルAオスからBオスを使用して、元のunor3開発ボードプログラミングAtmega328PAVR8ビットマイクロコントローラーに接続します。以下に示すように、オリジナルのunor3開発ボードプログラミングAtmega328PAVR8ビットマイクロコントローラーとSHT31デジタル温度および湿度センサーモジュールの接続
5V-VCC
GND-GND
SCL-SCL
SDA-SDA
Arduino IDEをインストールし、Arduino IDEを開き、[プロジェクト]をクリックしてから[ライブラリのロード]をクリックし、ライブラリマネージャーでSHT31を検索して、[インストール]をクリックします。 、下図のように
[ファイル]、[例]、[Adafruit SHT31ライブラリ]、[SHT31test]の順にクリックし、最後に[アップロード]をクリックします。
は次のとおりです。
/***************************************************
This is an example for the SHT31-D Humidity & Temp Sensor
Designed specifically to work with the SHT31-D sensor from Adafruit
----> https://www.adafruit.com/products/2857
These sensors use I2C to communicate, 2 pins are required to
interface
****************************************************/
#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"
bool enableHeater = false;
uint8_t loopCnt = 0;
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup() {
Serial.begin(9600);
while (!Serial)
delay(10); // will pause Zero, Leonardo, etc until serial console opens
Serial.println("SHT31 test");
if (! sht31.begin(0x44)) { // Set to 0x45 for alternate i2c addr
Serial.println("Couldn't find SHT31");
while (1) delay(1);
}
Serial.print("Heater Enabled State: ");
if (sht31.isHeaterEnabled())
Serial.println("ENABLED");
else
Serial.println("DISABLED");
}
void loop() {
float t = sht31.readTemperature();
float h = sht31.readHumidity();
if (! isnan(t)) { // check if 'is not a number'
Serial.print("Temp *C = "); Serial.print(t); Serial.print("\t\t");
} else {
Serial.println("Failed to read temperature");
}
if (! isnan(h)) { // check if 'is not a number'
Serial.print("Hum. % = "); Serial.println(h);
} else {
Serial.println("Failed to read humidity");
}
delay(1000);
// Toggle heater enabled state every 30 seconds
// An ~3.0 degC temperature increase can be noted when heater is enabled
if (loopCnt >= 30) {
enableHeater = !enableHeater;
sht31.heater(enableHeater);
Serial.print("Heater Enabled State: ");
if (sht31.isHeaterEnabled())
Serial.println("ENABLED");
else
Serial.println("DISABLED");
loopCnt = 0;
}
loopCnt++;
}
第四に、実験現象
プログラムをダウンロードした後の気温は30℃、湿度は47%RHです。
V.まとめ
ボーレートは正しく選択する必要があります。そうしないと、測定値が表示されません。