Arduino/LCD

LCD의 문자열 출력

DesignatedRoom 2020. 10. 22. 17:54

LCD에 "hello" 문자열을 출력하기

기본적인 하드웨어 연결은 LCD의 RX선에 아두이노의 3번핀에 연결한다. 꼭 3번핀이 아니어도 된다.

그리고 LCD의 +선은 아두이노의 5V선에 연결하고, -선은 아두이노의 GND에 연결한다.

소스 코드

//  LCD창에 hello 띄우기
//  3번핀을 tx선을 설정하므로 LCD는 rx선에 연결되어야 한다.
//  LCD는 2 X 16 (2행 16열 사이즈)크기이다.
#include <SoftwareSerial.h>

SoftwareSerial lcd = SoftwareSerial(2,3); //  rx,tx

void setup() {
  // put your setup code here, to run once:

  lcd.begin(9600);

  //  (1,1)의 위치에 hello!를 LCD에 출력(LCD의 행과 열 위치)
  //  (2,1)을 하면 LCD의 두 번째 줄에 출력된다.
  lcd.print("$GO 2 1\r\n");       //  \r\n은 명령어의 끝을 알리는 구분자
  lcd.print("$PRINT hello!\r\n"); //  \r\n은 명령어의 끝을 알리는 구분자
}

void loop() {
  // put your main code here, to run repeatedly:
}

 

LCD창에 문자열 깜빡이게 만들기

소스 코드


//  LCD창에 글자 깜빡이게 만들기
#include <SoftwareSerial.h>

SoftwareSerial lcd = SoftwareSerial(2,3); //  rx,tx

void setup() {
  // put your setup code here, to run once:
  lcd.begin(9600);
}

void loop() {
  lcd.print("$GO 1 1\r\n");       
  lcd.print("$PRINT hello!\r\n"); 

  lcd.print("$GO 2 1\r\n");       
  lcd.print("$PRINT bye bye!\r\n"); 
  delay(1000);
  lcd.print("$CLEAR\r\n");
  delay(1000);
}

 

 

LCD창에 문자열을 오른쪽으로 흐르게 만들기

문자열을 오른쪽으로 쭉 이동 시키다가 마지막 글자가 LCD화면을 벗어나면 다시 초기 위치로 설정을 한다.

LCD창의 오른쪽으로 이동시키는 것이므로 열 값을 증가시키면 된다.

소스 코드

//  LCD창에 전화번호를 오른쪽으로 흐르게 만들기
#include <SoftwareSerial.h>

#define   START_COLUMN  1   //  문자를 출력할 초기 열의 위치로 이동

SoftwareSerial lcd = SoftwareSerial(2,3); //  rx,tx

String g_phone = String("010-6417-3537");
int i = START_COLUMN;

void setup() {
  lcd.begin(9600);
}

void loop() {
  lcd.print("$CLEAR\r\n");
  
  lcd.print("$GO 1 " + String(i) +"\r\n");       
  lcd.print("$PRINT " + g_phone + String("\r\n")); 
  
  i++;  //  열 위치 오른쪽으로 한 칸 이동
  delay(1000);

  //  전화번호의 첫 글자가 맨 마지막 열에 도달하면 종료
  if (i == 18)
    i = START_COLUMN; //  글자를 다시 초기 위치로 이동
}