工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino16×2LCDチュートリアル–知っておくべきことすべて

このArduinoチュートリアルでは、 LCD(液晶ディスプレイ)を接続して使用する方法を学習します。 Arduino 。このようなLCDディスプレイは非常に人気があり、センサーデータなどの単純な情報を表示するのに最適でありながら、非常に手頃な価格であるため、多くの電子機器プロジェクトで広く使用されています。

私はすでにいくつかのArduinoプロジェクトでそれらを使用しており、ここでそれらをチェックできます:

  • Arduinoセキュリティおよび警報システムプロジェクト
  • DIY自動販売機–Arduinoベースのメカトロニクスプロジェクト
  • Arduinoレンジ測定器およびデジタル水準器プロジェクト

次のビデオを見るか、以下のチュートリアルを読むことができます。 LCDピン配置、配線図、いくつかのサンプルコードなど、ArduinoでLCD文字ディスプレイを使用するために知っておく必要のあるすべてが含まれています。

LCDキャラクターディスプレイとは何ですか?

LCD文字ディスプレイは、固定サイズの個々のASCII文字のみを出力できる独自のタイプのディスプレイです。これらの個々の文字を使用して、テキストを作成できます。

ディスプレイを詳しく見ると、5×8ピクセルのグリッドで構成される小さな長方形の領域があることがわかります。各ピクセルは個別に点灯できるため、各グリッド内に文字を生成できます。

長方形の領域の数は、LCDのサイズを定義します。最も人気のあるLCDは16×2LCDで、16個の長方形の領域または文字を含む2行があります。もちろん、16×1、16×4、20×4などの他のサイズもありますが、それらはすべて同じ原理で動作します。また、これらのLCDは、背景とテキストの色が異なる場合があります。

16×2LCDピン配置

16本のピンがあり、左から右への最初のピンは Ground ピン。 2番目のピンはVCC Arduinoボードの5ボルトピンを接続します。次は、ディスプレイのコントラストを制御するためのポテンショメータを取り付けることができるVoピンです。

次に、 RS ピンまたはレジスタ選択ピンは、コマンドまたはデータをLCDに送信するかどうかを選択するために使用されます。たとえば、RSピンが低状態またはゼロボルトに設定されている場合、カーソルを特定の場所に設定し、ディスプレイをクリアし、ディスプレイをオフにするなどのコマンドをLCDに送信します。また、RSピンが高状態または5ボルトに設定されている場合、データまたは文字をLCDに送信します。

次はR / W LCDの読み取りと書き込みのどちらを行うかを選択するピン。ここで書き込みモードは明らかであり、コマンドやデータをLCDに書き込んだり送信したりするために使用されます。読み取りモードは、このチュートリアルで説明する必要のないプログラムを実行するときにLCD自体によって使用されます。

次はE レジスタへの書き込みを可能にするピン、またはD0からD7までの次の8つのデータピン。したがって、このピンを介して、レジスタに書き込むときに8ビットデータを送信します。たとえば、ディスプレイに後者の大文字のAを表示する場合は、ASCIIテーブルに従ってレジスタに01000001を送信します。最後の2つのピンA およびK 、またはアノードとカソードはLEDバックライト用です。

結局のところ、液晶ライブラリがほとんどすべてを処理するので、LCDがどのように機能するかについてあまり心配する必要はありません。 Arduinoの公式ウェブサイトから、LCDを簡単に使用できるライブラリの機能を見つけて確認できます。ライブラリは4ビットモードまたは8ビットモードで使用できます。このチュートリアルでは、4ビットモードで使用するか、8つのデータピンのうち4つだけを使用します。

ArduinoをLCDに接続する方法–配線図

16×2LCDディスプレイをArduinoボードに接続する方法は次のとおりです。

Arduinoボードからの6つのデジタル入力ピンのみを使用します。 LCDのレジスタはD4からD7 4から7までのArduinoのデジタルピンに接続されます。有効 ピンはピン番号2とRSに接続されます ピンはピン番号1に接続されます。R / W ピンはアースとVoに接続されます ピンはポテンショメータの中央のピンに接続されます。

これらのコンポーネントは、以下のいずれかのサイトから入手できます。

  • 16×2文字LCD……………………..
  • ポテンショメータ……………………………。
  • Arduinoボード……………………………
  • ブレッドボードとジャンパー線………

LCDのコントラストを調整する

Vo で入力される電圧を調整することで、LCDのコントラストを調整できます。 ピン。入力電圧を0から5Vに調整することで、コントラストを簡単に微調整できるため、ポテンショメータを使用しています。

ポテンショメータなしでLCDを使用できますか?

はい、ポテンショメータがない場合でも、2つの抵抗で構成された分圧器を使用してLCDのコントラストを調整できます。分圧器を使用して、ディスプレイで良好なコントラストを得るために、電圧値を0〜5Vの間に設定する必要があります。約1Vの電圧が私のLCDにうまく機能することがわかりました。良いコントラストを得るために、1Kと220オームの抵抗を使用しました。

LCDコントラストを調整する別の方法もあります。それは、Arduinoから VoにPWM信号を供給することです。 LCDのピン。 Voを接続できます Arduino PWM対応ピンにピン留めします。セットアップセクションでは、次のコード行を使用できます。

analogWrite(11,100); // Generate PWM signal at pin D11, value of 100 (out of 255)Code language: Arduino (arduino)

ピンD11でPWM信号を生成し、255のうち100の値で、0から5Vの電圧に変換され、 Voで約2Vの入力になります。 LCDピン。

LCDArduinoコード

これは、液晶ライブラリの動作原理を説明するための簡単なコードです。これは、ビデオの最初の例のコードです:

/*
* Arduino LCD Tutorial
*
* Crated by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/

#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) 

void setup() { 
 lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } 
}

void loop() { 
 lcd.print("Arduino"); // Prints "Arduino" on the LCD 
 delay(3000); // 3 seconds delay 
 lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed 
 lcd.print("LCD Tutorial"); 
 delay(3000); 
 lcd.clear(); // Clears the display 
 lcd.blink(); //Displays the blinking LCD cursor 
 delay(4000); 
 lcd.setCursor(7,1); 
 delay(3000); 
 lcd.noBlink(); // Turns off the blinking LCD cursor 
 lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written 
 delay(4000); 
 lcd.noCursor(); // Hides the LCD cursor 
 lcd.clear(); // Clears the LCD screen 
}Code language: Arduino (arduino)

コードの説明:

最初に行う必要があるのは、液晶ライブラリを挿入することです。これは次のように行うことができます:スケッチ>ライブラリを含める>液晶。次に、LCオブジェクトを作成する必要があります。このオブジェクトのパラメータは、次のように、それぞれArduinoボードのデジタル入力ピンの番号とLCDのピンの数である必要があります:(RS、Enable、D4、D5、D6、D7)。セットアップでは、LCDへのインターフェースを初期化し、 begin()を使用してディスプレイのサイズを指定する必要があります。 機能。

ループでは、メインプログラムを作成します。 print()の使用 LCDに印刷する機能。

lcd.print("Arduino"); // Prints "Arduino" on the LCDCode language: Arduino (arduino)

setCursor() 関数は、LCDに書き込まれる後続のテキストが表示される場所を設定するために使用されます。

lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed Code language: Arduino (arduino)

blink() 関数は、点滅するカーソルと noBlink()を表示するために使用されます オフにする機能。

lcd.blink(); //Displays the blinking LCD cursorCode language: Arduino (arduino)

cursor() 関数は、アンダースコアカーソルと noCursor()を表示するために使用されます オフにする機能。 clear()の使用 LCD画面をクリアできる機能。

lcd.clear(); // Clears the LCD screenCode language: Arduino (arduino)

16×2LCDおよびArduinoでのスクロールテキストの例

16文字を超える長さのテキストがある場合は、 scrollDisplayLeft()を使用してテキストをスクロールできます。 またはscrollDisplayRight() LiquidCrystalライブラリの関数。

コードの例を次に示します。

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2);
  lcd.print("Scrolling Text Example");
}
void loop() {
  lcd.scrollDisplayLeft();
  delay(500);
}Code language: Arduino (arduino)

scrollDisplayLeft()を使用して、テキストを左にスクロールするか右にスクロールするかを選択できます。 またはscrollDisplayRight() 機能。 delay()を使用 機能スクロール速度を設定できます。

テキストのスクロール方法をより細かく制御したい場合は、「for」ループを使用して独自にスクロールすることもできます。次に例を示します:

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display

}

void loop() {
  // scroll text to the right
  for (int i = 0; i <= 13; i++) {
    lcd.setCursor(i, 0); // Sets the location at which subsequent text written to the LCD will be displayed
    lcd.print("LCD");
    delay(500); // 1 second delay
    lcd.clear(); // Write a character to the LCD
  }
  // scroll text to the left
  for (int i = 12; i >= 1; i--) {
    lcd.setCursor(i, 0);
    lcd.print("LCD");
    delay(500); 
    lcd.clear(); 
  }
}Code language: Arduino (arduino)

LCDにカスタム文字を生成して表示する方法

ASCII文字に加えて、LiquidCrystalライブラリを使用すると、カスタム文字を生成してLCDに表示することもできます。

各文字の外観は、8バイトの配列で指定できます。コードの例を次に示します。

#include <LiquidCrystal.h>

byte heart[8] = {  // Array of bytes
  B00000,          // B stands for binary formatter and the five numbers are the pixels
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B00000
};

byte smile[8] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B10001,
  B01110,
  B00000,
  B00000
};

byte lock[8] = {
  B01110,
  B10001,
  B10001,
  B11111,
  B11011,
  B11011,
  B11111,
  B00000
};

byte character[8] = {
  B11111,
  B10101,
  B11111,
  B01010,
  B01110,
  B11111,
  B01110,
  B01110
};


LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
  lcd.createChar(0, heart); // Create a custom character
  lcd.createChar(1, smile);
  lcd.createChar(2, lock);
  lcd.createChar(3, character);

  // Clears the LCD screen
  lcd.clear();

  // Print a message to the LCD
  lcd.print("Custom Character");
}

void loop() {
  lcd.setCursor(1, 1);
  lcd.write(byte(0));  // Display the custom character 0, the heart

  lcd.setCursor(5, 1);
  lcd.write(byte(1));

  lcd.setCursor(9, 1);
  lcd.write(byte(2));

  lcd.setCursor(13, 1);
  lcd.write(byte(3));
}Code language: Arduino (arduino)

5×8ピクセルのグリッド内で0を1に変更することで、文字の外観を指定する方法を確認できます。

セットアップでは、 createChar()を使用してカスタムキャラクターを作成する必要があります 機能。

lcd.createChar(0, heart); // Create a custom characterCode language: Arduino (arduino)

この関数の最初のパラメーターは0から7までの数値です。そうでない場合は、サポートされている8つのカスタム文字の1つを予約する必要があります。 2番目のパラメーターは、バイトの配列の名前です。

write()を使用して、カスタム文字をディスプレイに書き込みます 関数とパラメータとして、文字の番号を使用します。

lcd.write(byte(0));  // Display the custom character 0, or the heartCode language: Arduino (arduino)

参照:Arduinoタッチスクリーンチュートリアル| TFT LCD

結論

したがって、ArduinoでLCDを使用することについて知っておく必要のあるほとんどすべてをカバーしました。これらのLCDキャラクターディスプレイは、多くの電子機器プロジェクトの情報を表示するのに非常に便利です。上記の例では、16×2 LCDを使用しましたが、これらの文字ディスプレイの他のサイズにも同じ動作原理が適用されます。

このチュートリアルを楽しんで、何か新しいことを学んだことを願っています。以下のコメントセクションでお気軽に質問してください。30以上のArduinoプロジェクトの完全なコレクションをチェックすることを忘れないでください。


製造プロセス

  1. プランジ EDM について知っておくべきこと
  2. 鋳鉄について知っておくべきこと
  3. 高炉について知っておくべきことすべて
  4. 掘削機について知っておくべきことすべて
  5. 板金について知っておくべきことすべて
  6. フライス盤について知っておくべきこと
  7. かんな機について知っておくべきことすべて
  8. 成形機について知っておくべきこと
  9. 金属加工について知っておくべきことすべて
  10. CNCマシンについて知っておくべきことすべて
  11. 機械プレスについて知っておくべきことすべて