아두이노 LCD qapass - adu-ino LCD qapass

// 아두이노 1602 텍스트LCD 실험 #include <LiquidCrystal.h> //LCD를 구동하기 위한 라이브러리이다. 이 라이브러리는 내장되어 있어 바로 가져올 수 있다. LiquidCrystal lcd(7,8,9,10,11,12);//RS,E,DB4,DB5,DB6,DB7 //lcd핀 설정이다. 각각 위 주석에 붙은 핀이다. void setup() { lcd.begin(16,2); //디스플레이가 가진 행과 열 정보를 라이브러리에 알려준다. lcd.setCursor(0,0); //lcd의 시작을 0,0으로 설정한다. = 다음 텍스트가 위치할 커서 설정 lcd.write("WWW.SCIPIA.CO.KR"); //출력하는 테스트 명령이다. lcd.setCursor(0,1); //다음 열로 커서를 바꾸고 lcd.write("LCD1602 TEST OK!"); //이 문자열을 출력한다. } void loop() { }

Lcd Basics © CC BY-SA

Learn How to program LCD Display here.

  • games
  • 4,483 views
  • 0 comments
  • 0 respects

Components and supplies

Apps and online services

아두이노 LCD qapass - adu-ino LCD qapass

About this project

You can make a lCD with easy step and code the text.

Code

  • copy and paste the code

copy and paste the codeJava

#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
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 } 
}
void loop() { 
 lcd.print("change me"); // change the text to change the text 
 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("change me");// change the text to change the text
 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 
}

Schematics

copy the schematics

just copy it.

아두이노 LCD qapass - adu-ino LCD qapass

Comments

1602 텍스트 LCD는 16줄 2라인의 영문텍스트를 표시가능한 LCD로서 일반적으로 가장 많이 사용됩니다. 최초의 1602 LCD는 HD44780컨트롤러를 사용하였으나 현재는 많은 호환칩들이 개발되어 동일한 기능의 LCD를 저렴한 가격으로 사용가능하게 되었습니다.

여기서는 아두이노보드를 사용하여 LCD에 텍스트를 표시하는 실험을 합니다.

아래는 일반적인 1602 텍스트 LCD 모습입니다.

아두이노 LCD qapass - adu-ino LCD qapass

1602 LCD의 동작전압은 4.5~5.5V이며 구동전류는 2mA정도입니다. 아래는 1602 LCD 핀설명입니다.

아두이노 LCD qapass - adu-ino LCD qapass

1602 LCD 핀설명

VSS와 VDD핀은 전원공급핀입니다. VSS에 GND를 VDD에 5V를 공급해주면됩니다.

3번 V0핀은 LCD의 contrast(대비)를 조절하는 핀입니다. 일반적으로 10K옴이나 5K옴 가변저항을 연결하여 가변하여 글자가 선명해지도록 조절하면 됩니다. 가변저항이 없는 경우 1K옴정도를 사용하여 테스트합니다. LCD의 제조사에 따라 contrast가 달라질 수 있으므로 가변저항을 사용하시는 것이 좋습니다.

RS핀은 DB0-DB7까지의 데이터핀의 용도를 정합니다. HIGH일 경우 데이터를 읽고 쓰는 용도로 사용하며 LOW일 경우는 명령어를 쓰거나 상태를 읽어오는 용도로 사용되게 됩니다.

R/W핀은 데이터핀의 읽기 또는 쓰기 모드를 결정합니다.

6번 E핀은 데이터를 주기위한 신호핀입니다. DB0-DB7핀은 데이터를 읽고 쓰는 핀이며 15번 16번 핀은 백라이트(옵션) 전원핀입니다.

아두이노에서는 LCD 사용을 위한 라이브러리를 제공하므로 위의 컨트롤로직을 직접 구현하지 않고도 쉽게 LCD에 텍스트를 표시할 수 있습니다.

결선방법

본 실험을 위해서는 먼저 1602 LCD를 16핀 수컷해더로 납땜을 해야 합니다. 아두이노 우노보드와의 결선은 VSS와 VDD를 GND와 5V에 연결하고 V0핀은 1K옴 저항 또는 10K 가변저항을 연결하는 저항의 반대편은 GND와 연결합니다.

* 1K옴 저항을 사용하여 글씨가 보이지 않을 경우 10K저항으로 바꾸어서 재시도해보시기 바랍니다.

R/W 5번핀은 GND에 바로 연결하고 RS, E, DB4, DB5, DB6, DB7은 아두이노 우노보드의 7, 8, 9, 10, 11, 12번핀에 각각 연결합니다.

백라이트가 있는 모델의 경우 15번핀은 5V(또는 3.3V)에 16번핀은 GND에 연결하시면 됩니다.

아두이노 LCD qapass - adu-ino LCD qapass

소스코드

아래는 소스코드입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드해봅니다.

// 아두이노 1602 텍스트LCD 실험
#include <LiquidCrystal.h>

LiquidCrystal lcd(7,8,9,10,11,12);//RS,E,DB4,DB5,DB6,DB7

void setup()
{
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.write("WWW.SCIPIA.CO.KR");
  lcd.setCursor(0,1);
  lcd.write("LCD1602 TEST OK!");
}

void loop()
{
}

아두이노 프로그램에서 스케치->라이브러리 가져오기 메뉴가 있습니다. 여기에서 사용하고자 하는 라이브러리를 선택하면 자동으로 해당하는 라이브러리의 include 문을 추가해줍니다.

아두이노 LCD qapass - adu-ino LCD qapass

아두이노 LCD qapass - adu-ino LCD qapass

아래는 실제 실행화면입니다.

아두이노 LCD qapass - adu-ino LCD qapass