レッスン35: ArduinoでHTU21D温度センサーを使う

レッスン35: ArduinoでHTU21D温度センサーを使う

このプロジェクトでは、Arduinoを使ってHTU21D-Fセンサーから温度と湿度のデータを読み取る方法を案内します。このセンサーは安価で入手しやすく、さまざまなプロジェクトに最適です。センサーは一般的なデジタル通信プロトコルであるI2Cでデータを出力します。このセンサーとI2Cの使い方を学ぶことで、プロジェクトの可能性が大きく広がります。

HTU21D module

実用例:

  • スマートホーム向け環境モニターの構築
  • 気象観測所を作る
  • 敏感な電子機器向けの温湿度制御型筐体の開発
  • 温室やテラリウム内の温度と湿度の監視

ハードウェア/コンポーネント

以下の部品が必要です:

  • Arduinoボード(例:Uno、Nano)
  • HTU21D-F 温湿度センサー(動画の00:22で)
  • 接続用ワイヤー
  • ブレッドボード(任意だが推奨)

配線ガイド

配線は簡単です。センサーを次のようにArduinoに接続してください (動画の02:28で):

  • センサーのVCCをArduinoの3.3Vに接続
  • センサーのGNDをArduinoのGNDに接続する
  • センサーのSDAをArduinoのA4に接続
  • センサーのSCLをArduinoのA5に接続

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

コードの説明

提供されたコードは、センサーとやり取りするために Adafruit HTU21D-F ライブラリ(動画の03:03で)を使用しています。重要な部分は次のとおりです:


// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change

inPin: 温度センサーに接続されているアナログピンを指定します。配線に合わせて変更できます。

iterationこの変数は温度を平均化するために行う読み取り回数を制御します。増やすと精度は向上しますが、読み取りは遅くなります(動画の00:22)。

そのgetHTU()動画の08:46で示された関数は、文字('C'、'F'、'K'、または 'H')を引数として渡すことで、摂氏・華氏・ケルビンの温度、または湿度を取得できます。コードはこの関数を使ってシリアルモニタにデータを表示します。


float getTemperature(char type) {
  // ... (code to read temperature and humidity) ...
  if (type == 'F') {
    value = averageTemperature * 9 / 5 + 32; // Fahrenheit
  } else if (type == 'K') {
    value = averageTemperature + 273.15; // Kelvin
  } else {
    value = averageTemperature; // Celsius
  }
  return value;
}

ライブプロジェクト/デモンストレーション

動画の07:34でセンサーの機能が示されています。シリアルモニターには温度と湿度の測定値が表示されます。動画の06:45では、プレゼンターがコードで温度の閾値に応じて動作を実行する方法も示しています。

  • [00:00] はじめに
  • [00:22] センサーの概要
  • [01:22] データシートレビュー
  • [02:28] 配線
  • [03:03] ライブラリのインストール
  • [04:05] コードの解説 (パート1)
  • [08:33] コードの解説(パート2)
  • [07:34] ライブ実演

画像

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
503-Lesson 42: Using an LM35 Temperature Sensor with Arduino
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

ファイル📁

他のファイル