LM75A温度センサー(LCD1602 I2C付き)

LM75A温度センサー(LCD1602 I2C付き)

このチュートリアルでは、I2C通信を使ってLM75A温度センサーを用い、温度をLCD1602ディスプレイに摂氏(°C)および華氏(°F)の両方で表示する方法を学びます。LM75Aは-55°Cから+125°Cまでの温度を測定でき、さまざまな用途に適しています。セットアップが完了すると、LCDディスプレイでリアルタイムの温度表示を確認できるようになります。

LCD1602-I2C display module with 4 wires

このプロジェクトでは、LM75AセンサーとI2C接続のLCD1602モジュールを使用します。これにより配線が簡素化され、Arduinoで使用するピン数を減らせます。目的は温度を継続的に読み取り、それをLCDに表示するシステムを作ることです。手順のどの部分についても不明な点があれば、ビデオチュートリアル(動画の00:00)を必ず確認してください。

ハードウェアの解説

このプロジェクトの主な構成要素は、LM75A温度センサーとLCD1602ディスプレイです。LM75Aは正確な温度測定を提供するI2C温度センサーで、SDA(データ線)とSCL(クロック線)のわずか2本の配線でArduinoと通信し、プロジェクトへの統合が容易です。

LCD1602は16×2の文字表示モジュールで、一度に最大32文字を表示できます。I2Cインターフェースを使用することで、追加の配線はわずか2本で制御でき、配線作業が大幅に簡素化されます。LCDのバックライト機能は、暗所での視認性も向上させます。

データシートの詳細

製造業者テキサス・インスツルメンツ
部品番号LM75A
ロジック/IO電圧2.7V~5.5V
電源電圧2.7 V から 5.5 V
出力電流(チャンネルあたり)該当なし
ピーク電流(チャンネルあたり)該当なし
PWM周波数に関するガイダンス該当なし
入力論理の閾値0.3×Vcc(低)、0.7×Vcc(高)
電圧降下 / Rドレイン・ソース(オン)/ 彩度該当なし
熱限界動作温度:-55°C〜+125°C
パッケージSOT-23
備考/バリエーション複数のI2Cアドレスで利用可能

  • 適切な電源(2.7 V〜5.5 V)を確保してください。
  • 必要に応じてSDAおよびSCLラインにプルアップ抵抗を使用してください。
  • 複数のデバイスのI2Cアドレス設定を確認してください。
  • 干渉を最小限に抑えるため、配線は短くしてください。
  • 監視温度範囲:-55°C~+125°C。
  • 温度の読み取りをデバッグするにはシリアルモニタを使用してください。
  • コード内のエラー状態を効果的に処理する。
  • ディスプレイの電源要件には注意してください。

配線手順

Arduino_wiring_LM75A_LCD_bb

LM75A温度センサーとLCD1602を配線するには、まず電源を接続します。LM75AとLCD1602の両方のVCCピンをArduinoの5Vピンに接続します。次に、両モジュールのグラウンド(GND)ピンをArduinoのGNDピンに接続します。

次に、I2C通信ラインを接続します。LM75AのSDAピンはArduinoのA4ピンに、SCLピンはA5ピンに接続してください。これによりセンサーとArduinoの間でI2C通信が行えます。通信エラーを防ぐため、接続が確実であることを確認してください。

コード例と解説

コードでは、まずLM75AセンサーとLCD1602ディスプレイ用の必要なライブラリをインクルードします。以下の抜粋はLM75Aセンサーのインスタンスを作成する方法を示しています:

LM75A lm75a_sensor(false, false, false);

この行でLM75Aセンサーオブジェクトを初期化します。ブール値のパラメータはLM75AのA0、A1、A2ピンに対応しており、必要に応じて異なるI2Cアドレスを割り当てられます。

次に、シリアルモニターを設定し、LCDディスプレイを初期化します:

void setup(void) {
  Serial.begin(9600);
  lcd.begin();  
  lcd.backlight();
  lcd.print("Robojax LM75A");
}

ここでは、シリアル通信を9600ボーで開始し、LCDディスプレイを初期化します。バックライトが点灯し、初期メッセージが画面に表示されます。

メインループでは、温度を継続的に読み取り、それを表示します:

float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
  Serial.println("Error while getting temperature");
}

このセクションではセンサーから温度を取得します。読み取りが無効な場合、エラーメッセージがシリアルモニタに送信されます。そうでなければ、温度を処理してLCDに表示できます。

デモ/期待できること

配線とコードの書き込みが完了すると、LCD1602ディスプレイに温度が表示され、摂氏と華氏が交互に切り替わります。LM75Aセンサーが正常に動作していれば、表示される温度は1秒ごとに更新されます。極性の逆接続や配線ミスなど問題がある場合は、配線を確認し、正しいピンが使われていることを確認してください(ビデオの00:00参照)。

画像

LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LM75a-1
LM75a-1
LM75a-3
LM75a-3
LM75a-12
LM75a-12
Arduino_wiring_LM75A_LCD_bb
Arduino_wiring_LM75A_LCD_bb
129-LM75A temperature sensor with LCD1602 I2C
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

ファイル📁

フリッツィングファイル

他のファイル