/a/センサー
Published on

Arduinoに「SHT31」を接続し制御する

1391文字3分で読めます–––
閲覧数
Authors
  • avatar
    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」として知られています。

  1. Arduino IDEを開き、メニューバーから「スケッチ」→「ライブラリを管理」を選択します。
  2. 検索バーに「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 🚚
avatar

将 有坂

電子部品専門家 / ラズベリーパイのプロ / 数多くのセンサーやモジュールの導入実績
ラズベリーパイやArduinoの電子工作に関わるソフトウェアエンジニア。これまで100種類以上のセンサーやモジュールの導入を行い、その知識と経験を活かして、多くの人々に電子工作の楽しさを伝えることを使命としている。

タグ ->