ESP32 チュートリアル 11/55 - ESP32 と LCD1602 LCD2004 の使用 - SunFounder の ESP32 IoT 学習キット

ESP32 チュートリアル 11/55 - ESP32 と LCD1602 LCD2004 の使用 - SunFounder の ESP32 IoT 学習キット

このチュートリアルでは、ESP32マイクロコントローラーを使用してLCD1602およびLCD2004を使う方法を探ります。これらのLCDスクリーンは、テキストやその他の情報を効果的に表示でき、プロジェクトに視覚的なフィードバックを追加します。また、読みやすさを確保するためのコントラストの調整方法も説明します。

ESP32は、SunFounder ESP32 IoT Learningキットの一部であり、内蔵のWi-FiおよびBluetooth機能を備えているため、さまざまなIoTアプリケーションに強力なツールとなります。LCDをESP32に接続することで、コードからのメッセージやデータ出力を簡単に表示でき、プロジェクトをよりインタラクティブでユーザーフレンドリーにすることができます(ビデオの00:30で)。

ハードウェアの解説

私たちが使用する主なコンポーネントには、ESP32 マイコンと LCD1602 または LCD2004 ディスプレイモジュールが含まれます。ESP32 はプロジェクトの脳として機能し、入力を処理し、LCD ディスプレイを含む出力を制御します。

LCDモジュールはI2Cを介して通信し、通信には電力および接地接続とともに、わずか2つのデータピン(SDAおよびSCL)を使用することで配線を簡素化しています。この構成により、複数のピンを接続する際の複雑さが大幅に軽減され、よりクリーンで管理しやすい回路が可能になります。

データシートの詳細

製造業者 サンファウンダー
部品番号 LCD1602
ロジック/IO電圧 5 V
供給電圧 5 V
表示サイズ 16 x 2 文字
バックライト はい
インターフェース I2C
寸法 80 x 36 mm
ノート / バリアント 一般的に使用されるI2Cアドレス0x27と共に

  • 適切な電圧供給(5 V)を確保して、損傷を防ぎます。
  • I2Cラインでの干渉を最小限に抑えるために、短いワイヤを使用してください。
  • コントラストの視認性を最適化するためにポテンショメーターを調整してください。
  • 表示が初期化されない場合はI2Cアドレスを確認してください(一般的なアドレス:0x27、0x3F)。
  • メッセージを更新する前に表示をクリアして、重複を避けてください。

配線指示書

ESP32-11_LCD配線図
ESP32-11_LCD-wiring

LCD1602をESP32に接続するには、まずLCDのグラウンドピンをESP32のグラウンドピンに接続します。次に、LCDのVCCピンをESP32の5V出力に接続します。I2C通信のために、LCDのSDAピンをESP32の21番ピンに接続し、LCDのSCLピンをESP32の22番ピンに接続します。接続が確実であることを確認して、通信の問題を避けてください。

ESP32は3.3Vのロジックレベルで動作する一方で、LCD1602は正常に動作するために5Vを必要とすることに注意することが重要です。したがって、LCDを損傷しないように正しい電圧供給を使用していることを確認してください。異なるLCDサイズを使用している場合は、I2Cアドレスと仕様に基づいて配線を調整してください。

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

コードでは、I2C通信とLCDのために必要なライブラリを含めることから始めます。I2Cアドレス0x27を使用してLCDのインスタンスを作成し、16列と2行を持つことを指定します。

#include  
#include 

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

この設定では、LCDを簡単に制御することができます。setup()関数では、LCDを初期化し、バックライトをオンにした後、歓迎メッセージを印刷します。

void setup()
{
  lcd.init(); // initialize the lcd 
  lcd.backlight(); // Turns on the LCD backlight.
  lcd.print("Hello, world!");   // Print a message to the LCD.
  delay(3000);
}

中でloop()関数では、ディスプレイをクリアし、カーソル位置を設定し、現在のカウント値を印刷することで、ディスプレイを継続的に更新します。これにより、LCDが動的に変化する情報を表示できることを示しています。

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Prints the current value of the count variable.
  delay(1000);
  count++; // Increments the counter by 1. 
}

記事の下に完全なコードが読み込まれますので、プロジェクトに追加された完全な実装やその他の機能を確認できます。

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

すべてが接続され、コードがアップロードされると、LCDに「Hello, world!」と表示され、3秒後に毎秒増加するカウントが始まります。テキストが読みやすいようにポテンショメータを使用してコントラストを調整できます(動画の08:45にて)。

問題が発生した場合は、配線接続を確認し、正しいI2Cアドレスが使用されていることを確認してください。よくある間違いは、LCDのI2Cアドレスがコードで設定されているものと一致しないことで、これによりディスプレイが正常に機能しなくなることがあります。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 1:47 LCDの紹介
  • 3:26 ドキュメンテーションページ
  • 5:06 ESP32でLCDを配線する方法
  • 9:07 ArduinoでESP32ボードとCOMPポートを選択中
  • 8:51 LCDライブラリのインストール
  • 10:06 LCDのI2Cアドレスを探しています
  • 14:00 Arduinoコードの説明
  • 17:50 デモンストレーション
  • 20:54 ESP32を使用したLCD2004
  • 22:58 緑のLCD1602は青より優れています

画像

ESP32_11-5-l2C.MOV_snapshot_00.02.763
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

ファイルは利用できません。