HTU21Dからの温度をLCDにバーグラフとして表示する

HTU21Dからの温度をLCDにバーグラフとして表示する

このチュートリアルでは、HTU21D温度湿度センサーからの温度測定値をLCDスクリーンに棒グラフの形式で表示する方法を学びます。測定値には摂氏、華氏、ケルビン、相対湿度の値が含まれ、環境条件の包括的な概要を提供します。このプロジェクトは、コンポーネントを正しく配線する方法と、すべてをシームレスに動作させるために必要なコードを実装する方法を理解するのに役立ちます。

HTU21D module

このチュートリアルに関連するビデオ(00:00のビデオ)を必ずチェックしてください。視覚的なガイドを求めている方におすすめです。

ハードウェアの説明

このプロジェクトの主なコンポーネントには、HTU21DセンサーとLCD 1602ディスプレイが含まれています。HTU21DはI2Cを介して通信するデジタル湿度および温度センサーです。温度と湿度の正確な測定値を提供し、そのライブラリを通じて簡単にアクセスできます。一方、LCD 1602ディスプレイは、人間が読みやすい形式で測定値を表示し、環境条件を迅速に評価できるようにします。

HTU21DはシンプルなI2Cインターフェースを使用しているため、Arduinoのようなマイクロコントローラーとの接続と通信が簡単です。LCD 1602ディスプレイもI2Cを使用しており、Arduinoに接続するために必要なピンの数を減らすことで配線を簡素化します。これにより、クリーンなセットアップが実現でき、なおかつ明確な視覚出力を提供します。

データシートの詳細

メーカーアダフルート
部品番号HTU21D
論理/入出力電圧3.3 V(典型)
供給電圧1.5 - 3.6 V
温度範囲-40から125 °C
湿度範囲0から100%RH
解像度0.01 °C / 0.04 %RH
コミュニケーションI2C
パッケージ4ピンLGA

  • HTU21Dを動作させるには3.3 Vを使用してください; 5 Vに接続すると故障する可能性があります。
  • I2Cライン(SDAおよびSCL)には、適切なプルアップ抵抗が使用されていることを確認してください。
  • テスト中はセンサーを熱源から遠ざけてください。
  • I2Cスキャナースケッチを使用して、正しいI2Cアドレスを確認してください。
  • LCDが正しいアドレスで適切に初期化されていることを確認してください。

配線指示

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD

HTU21DセンサーとLCD 1602ディスプレイを配線するには、以下の手順に従ってください。

まず、HTU21Dセンサーを接続します。最初のピン(VCC)をArduinoの3.3 Vピンに接続します。2番目のピン(GND)はArduinoのグラウンド(GND)に接続する必要があります。3番目のピン(SDA)はArduinoのA4ピンに接続し、4番目のピン(SCL)はA5ピンに接続します。明確さのために正しいワイヤーカラーを使用してください。VCCには赤、GNDには黒、SDAにはオレンジ、SCLには黄色を使用します。

次に、LCD 1602ディスプレイについて、VCCピンをArduinoの5 Vピンに接続し、GNDピンをグラウンドに接続します。LCDのSDAピンはHTU21Dで使用するA4ピンに接続し、SCLピンはA5ピンに接続します。この設定により、センサーとディスプレイはI2Cプロトコルを介して通信できるようになります。

コード例とウォークスルー

コードでは、最初のステップはセンサーとLCDに必要なライブラリを含めることです。#include I2C通信には不可欠です。#include "Adafruit_HTU21DF.h"HTU21Dセンサーを初期化します。次の行はHTU21Dクラスのインスタンスを作成します:

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

この行はプログラムで使用するためにセンサーを設定し、後で温度と湿度の値を読み取るためにそのメソッドを呼び出すことを可能にします。

内でsetup()関数では、シリアルモニターとLCDディスプレイを初期化します。次の行では、センサーが正しく機能しているかどうかを確認します。

if (htu.begin()) {
    lcd.print("HTU21DF Bargraph");  
} else {
    lcd.print("missing HTU21DF"); 
    while(1); // Pause forever.
}

センサーの初期化に失敗した場合、プログラムはエラーメッセージを表示し、実行を停止します。これはデバッグにとって重要であり、センサーが正しく接続されていることを確認します。

In theloop()機能として、温度測定値が取得され表示されます。その行float T = getHTU('H');パラメーターに基づいて温度または湿度を取得します。取得した値はLCDに表示されます:

lcd.setCursor (0,1); 
lcd.print(T); // print  
lcd.print((char)223); // prints degree symbol
lcd.print("C"); //

このコードはカーソルをLCDの2行目に配置し、温度値と度の記号を印刷します。使用する(char)223LCD上に度記号を表示する便利な手段です。

デモンストレーション / 期待されること

すべてが設定され、コードがアップロードされると、LCDに温度測定値がバーグラフとして表示されるはずです。測定値は継続的に更新され、現在の温度と湿度を反映します。センサーに熱い空気を吹きかけると、温度が急速に上昇し、システムが期待通りに動作していることが確認できます。極性の逆転や誤配線には注意してください。これらは故障や損傷を引き起こす可能性があります(動画の02:30)。

動画のタイムスタンプ

  • 00:00- イントロダクション
  • 01:30- 配線の説明
  • 02:30- コードウォークスルー
  • 04:00- デモンストレーション
  • 05:30- 結論

画像

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
214-Arduino code using HTU21D-F Humidity & Temperature on LCD bargraph
言語: C++
コピーしました!

ファイル📁

データシート(pdf)