ちょっと、そこ! 20x4 LCD ディスプレイのサプライヤーとして、これらの気の利いた小さな画面に温度値を表示する方法についてよく質問されます。そこで、プロセス全体を説明するためにこのブログ投稿をまとめようと思いました。


まず最初に、20x4 LCD ディスプレイについて少し説明しましょう。これは、多くのプロジェクト、特に適切な量の情報を表示する必要がある場合に最適です。 「20x4」は、1 行に 20 文字、合計 4 行あることを意味します。これにより、温度だけでなく、単位 (摂氏または華氏) やタイムスタンプなどの追加の詳細を表示するための十分なスペースが得られます。
さて、技術的な内容に入る前に、あなたも興味があるかもしれない他の LCD ディスプレイについて簡単に説明しましょう。もう少し小さいものをお探しの場合は、16x2 液晶ディスプレイ。 1行16文字2行の古典的なものです。それから、20x2 LCD ディスプレイこれにより、幅が少し広がりますが、それでもわずか 2 行になります。もう少し高さが欲しい場合は、16 x 4 液晶ディスプレイ確実な選択肢です。
さて、20x4 LCD と表示温度に戻ります。まず必要になるのは温度センサーです。世の中にはたくさんありますが、人気のあるものは DHT11 または DHT22 です。これらのセンサーは比較的使いやすく、正確な温度測定値を得ることができます。
センサーを入手したら、それをマイクロコントローラーに接続する必要があります。この例では Arduino を使用していると仮定しますが、一般的な概念は他のマイクロコントローラーにも当てはまります。
温度センサーをArduinoに接続する
- 力: DHT センサーの VCC ピンを Arduino の 5V ピンに接続します。これにより、センサーが動作するために必要な電力が供給されます。
- 地面: センサーの GND ピンを Arduino の GND ピンに接続します。これで電気回路は完成です。
- データ: センサーのデータ ピンを Arduino のデジタル ピンの 1 つに接続します。それをピン 2 に接続するとします。
20x4 LCD を Arduino に接続する
- 力: LCD の VSS ピンを GND に、VDD ピンを 5V に接続します。
- 対比: VO ピンをポテンショメータに接続します。ディスプレイのコントラストを調整して、文字をはっきりと見ることができます。
- 制御ピン: RS ピンをデジタル ピン 12 に、EN ピンをデジタル ピン 11 に、D4 ~ D7 ピンをデジタル ピン 5 ~ 8 にそれぞれ接続します。これらのピンは、LCD にコマンドとデータを送信するために使用されます。
コードを書く
すべてが接続されたので、コードを記述します。基本的な例を次に示します。
#include <LiquidCrystal.h> #include <DHT.h> // インターフェイス ピンの番号を使用して LCD ライブラリを初期化します。 LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // DHT センサーを初期化します #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // LCD の列数と行数を設定します: lcd.begin(20, 4); // DHT センサーを開始します dht.begin(); } void loop() { // 温度または湿度の読み取りには約 250 ミリ秒かかります。 // センサーの読み取り値は最大 2 秒ほど「古い」場合もあります (非常に遅いセンサーです) float h = dht.readHumidity(); float t = dht.readTemperature(); // 失敗した読み取りがあるかどうかを確認し、早めに終了します (再試行するため)。 if (isnan(h) || isnan(t)) { lcd.setCursor(0, 0); lcd.print("DHT センサーからの読み取りに失敗しました!");戻る; } // LCD に温度を表示 lcd.setCursor(0, 0); lcd.print("温度: "); lcd.print(t); lcd.print(" C");遅延(2000); }
このコードで何が起こっているのかを詳しく見てみましょう。
- 図書館: を含めています。
液晶LCD とDHT温度センサーを読み取るためのライブラリ。 - 初期化: で
設定()関数では、正しい列数と行数 (20x4) で LCD を初期化します。 DHT センサーも開始します。 - センサーの読み取り: で
ループ()機能では、DHT センサーから湿度と温度を読み取ります。測定値が無効な場合は、LCD にエラー メッセージが表示されます。 - 温度を表示する: 測定値が有効な場合は、カーソルを LCD の最初の行の先頭に設定し、「温度:」というテキストを印刷し、その後に温度値と単位「℃」を表示します。
- 遅れ: センサーを再度読み取る前に 2 秒の遅延を追加します。これにより、センサーが正確な読み取りを行うのに十分な時間が与えられます。
追加の考慮事項
- 単位換算: 温度を摂氏ではなく華氏で表示したい場合は、次の式を使用できます。
t = dht.readTemperature(true);の真実パラメータは、readTemperature()温度を華氏で返す関数。 - エラー処理: 上記のコードでは、センサーの読み取り値が無効な場合にエラー メッセージを表示するだけです。諦める前にセンサーの読み取りを数回再試行するなど、より高度なエラー処理を追加することもできます。
- 表示フォーマット: 表示形式をいじって、見栄えを良くすることができます。たとえば、温度値にパディングを追加して、常に同じ文字数を占めるようにすることができます。
結論
それで終わりです!これで、Arduino と DHT センサーを使用して 20x4 LCD ディスプレイに温度値を表示する方法がわかりました。さまざまな方法で拡張できる、楽しくて便利なプロジェクトです。
20x4 LCD ディスプレイまたはその他の LCD 製品の購入にご興味がございましたら、ぜひご連絡ください。お客様の具体的なニーズについての会話を開始するには、当社までご連絡ください。お客様のプロジェクトに最適なディスプレイ ソリューションを見つけるお手伝いをいたします。
参考文献
- Arduinoのドキュメント
- DHT センサー データシート
- 液晶ライブラリのドキュメント
