ちょっと、そこ!のサプライヤーとしてLCD ディスプレイ 16x2, これらの気の利いた小さなディスプレイを水平方向にスクロールする方法についてよく質問されます。これは、DIY エレクトロニクス プロジェクトに取り組んでいる場合でも、プロのアプリケーションに取り組んでいる場合でも、プロジェクトに多くの機能とセンスを追加できる非常に優れた機能です。それでは、早速本題に入り、これを実現する方法を探ってみましょう。
16x2 LCD ディスプレイの基本を理解する
まず最初に、16x2 LCD ディスプレイとは何なのかを簡単に説明します。 16x2 LCD ディスプレイは、名前が示すように、1 行あたり 16 文字と 2 行を表示します。作業が比較的簡単で、情報を明確に表示する方法を提供するため、多くのエレクトロニクス プロジェクトで人気の選択肢です。
ディスプレイは、コントローラ (通常は HD44780 または互換性のあるコントローラ) を使用して、画面上の文字とその位置を管理します。表示を水平にスクロールするには、特定の方法でこのコントローラーを操作する必要があります。
ハードウェアのセットアップ
コーディングを開始する前に、ハードウェアが正しく設定されていることを確認する必要があります。必要なものの基本的な概要は次のとおりです。


- あLCD ディスプレイ 16x2。選択できます16 * 2 黄色 LCD ディスプレイ別の色をお好みの場合。
- マイクロコントローラー (Arduino など)。これは操作の頭脳となり、LCD ディスプレイにコマンドを送信します。
- マイクロコントローラーを LCD ディスプレイに接続するためのいくつかのジャンパー ワイヤ。
以下は、Arduino を 16x2 LCD ディスプレイに接続するための簡単な配線図です。
- LCD の VSS ピンを Arduino の GND に接続します。
- LCD の VDD ピンを Arduino の 5V に接続します。
- LCD の VO ピンをポテンショメータの中央のピンに接続します。ポテンショメータの他の 2 つのピンは 5V と GND に接続されています。これにより、ディスプレイのコントラストを調整できます。
- LCD の RS ピンを Arduino のデジタル ピン 12 に接続します。
- LCD の E ピンを Arduino のデジタル ピン 11 に接続します。
- LCD の D4 ~ D7 ピンを Arduino のデジタル ピン 5 ~ 8 に接続します。
- LCD の RW ピンを GND に接続します。
- LCD の LED+ ピンと LED- ピンをそれぞれ 5V と GND に接続して、バックライトに電力を供給します。
横スクロールのコーディング
ハードウェアのセットアップが完了したので、コードを記述します。 Arduino IDE を使用してコードを作成し、マイクロコントローラーにアップロードします。
#include <LiquidCrystal.h> // インターフェイス ピンの番号を使用してライブラリを初期化します。 LiquidCrystal lcd(12, 11, 5, 6, 7, 8); void setup() { // LCD の列数と行数を設定します: lcd.begin(16, 2); // LCD にメッセージを出力します。 lcd.print("Hello, World!");遅延(1000); } void loop() { // 表示を左にスクロール for (int i = 0; i < 16; i++) { lcd.scrollDisplayLeft();遅延(200); } // 表示を右にスクロール for (int i = 0; i < 16; i++) { lcd.scrollDisplayRight();遅延(200); } // 表示位置をリセット lcd.setCursor(0, 0);遅延(1000); }
このコードで何が起こっているのかを詳しく見てみましょう。
#include <LiquidCrystal.h>: このラインには、LCD ディスプレイと対話するための関数を提供する LiquidCrystal ライブラリが含まれています。液晶 lcd(12、11、5、6、7、8);: この行は、Arduino 上で LCD を接続したピン番号を使用して LCD オブジェクトを初期化します。lcd.begin(16, 2);: この行は、LCD に 16 列と 2 行があることを伝えます。lcd.print("Hello, World!");: この行は「Hello, World!」というメッセージを出力します。液晶に。lcd.scrollDisplayLeft();: この機能は、LCD ディスプレイの内容全体を 1 文字左にスクロールします。lcd.scrollDisplayRight();: この機能は、LCD ディスプレイの内容全体を 1 文字右にスクロールします。lcd.setCursor(0, 0);: この機能は、カーソルをディスプレイの左上隅に移動します。
高度なスクロールテクニック
スクロールをもう少しクリエイティブにしたい場合は、いくつかの高度なテクニックを試すことができます。たとえば、表示の一部だけをスクロールしたり、異なる速度でスクロールしたりできます。
以下は、表示の 2 行目のみをスクロールする方法の例です。
#include <LiquidCrystal.h> // インターフェイス ピンの番号を使用してライブラリを初期化します。 LiquidCrystal lcd(12, 11, 5, 6, 7, 8); void setup() { // LCD の列数と行数を設定します: lcd.begin(16, 2); // LCD にメッセージを出力します。 lcd.print("トップライン"); lcd.setCursor(0, 1); lcd.print("下の行");遅延(1000); } void loop() { // 2 行目を左にスクロール for (int i = 0; i < 16; i++) { lcd.setCursor(0, 1); lcd.scrollDisplayLeft();遅延(200); } // 2 行目を右にスクロール for (int i = 0; i < 16; i++) { lcd.setCursor(0, 1); lcd.scrollDisplayRight();遅延(200); } // 表示位置をリセット lcd.setCursor(0, 1);遅延(1000); }
このコードでは、lcd.setCursor(0, 1)スクロールする前にカーソルを 2 行目に移動する機能。これにより、2 行目のみがスクロールされるようになります。
トラブルシューティング
LCD ディスプレイの水平スクロールに問題がある場合は、次の点を確認してください。
- 配線: すべての接続が安全であり、ピンが正しく接続されていることを確認してください。
- コード: コードに構文エラーや論理的な誤りがないか再確認してください。
- 力: LCD ディスプレイに十分な電力が供給されていることを確認してください。バックライトが暗い場合、またはディスプレイがまったく動作しない場合は、電源に問題がある可能性があります。
結論
を作るLCD ディスプレイ 16x2水平スクロールは、エレクトロニクス プロジェクトを強化できる楽しくて便利なテクニックです。あなたが初心者であろうと経験豊富な愛好家であろうと、このガイドがこれを達成する方法を理解するのに役立つことを願っています。
高品質を求める市場にいるならLCD ディスプレイ 16x2または液晶歯車ディスプレイ、お気軽にお問い合わせください。私たちは、お客様のプロジェクトに最高の製品とサポートを提供するためにここにいます。要件について話し合い、自信を持って次のプロジェクトを開始するには、お問い合わせください。
参考文献
- Arduino 液晶ライブラリのドキュメント
- HD44780 LCD コントローラー データシート