- Published on
Arduinoに「SHT31」を接続し制御する
1391文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Arduinoを利用することで、様々なセンサーやモジュールを組み込んだプロジェクトを手軽に開発することができます。この記事では、温湿度センサー「SHT31」をArduinoに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. SHT31温湿度センサーの概要
SHT31は、高精度で信頼性のある温湿度センサーです。I2C通信を利用してデータを取得し、広い温湿度範囲で正確な計測が可能です。Arduinoとの組み合わせにより、室内環境のモニタリングや自動制御システムの構築などに利用されます。
2. SHT31の接続
SHT31は、通常、4つのピン(VCC、GND、SCL、SDA)を持っています。
- VCC: 3.3Vまたは5Vの電源
- GND: 接地
- SCL: I2Cクロックライン
- SDA: I2Cデータライン
これらのピンを対応するArduinoのピンに接続します。通常、Arduino UnoではA4をSDA、A5をSCLに使用します。
3. Arduinoライブラリの導入
SHT31をArduinoで使用するためには、専用のライブラリをArduino IDEに導入する必要があります。ライブラリは「Adafruit SHT31」として知られています。
- Arduino IDEを開き、メニューバーから「スケッチ」→「ライブラリを管理」を選択します。
- 検索バーに「Adafruit SHT31」を入力し、該当するライブラリを選択してインストールします。
4. Arduinoコードの作成
SHT31を制御するための基本的なコード例を以下に示します。
#include <Wire.h>
#include <Adafruit_SHT31.h>
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup() {
Serial.begin(9600);
if (!sht31.begin(0x44)) { // SHT31のI2Cアドレスが0x44の場合
Serial.println("Couldn't find SHT31");
while (1) delay(1);
}
}
void loop() {
float temperature = sht31.readTemperature();
float humidity = sht31.readHumidity();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(1000);
}
このコードは、SHT31から温度と湿度のデータを読み取り、シリアルモニターに表示するものです。
5. コードのアップロードと動作確認
書いたコードをArduinoにアップロードし、シリアルモニターで温度と湿度のデータが正しく表示されるか確認します。
これで、ArduinoにSHT31を接続し、温湿度のモニタリングができるようになりました。利用する際は、プロジェクトの要件に合わせてセンサーデータを活用し、自動制御やデータ収集などのアプリケーションを構築することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚