I2C를 이용하여 LCD에 출력을 하는데 메시지와 함께 백라이트를 점멸시킨다.

 

※ 명령어

  • LiquidCrytral_I2C(I2C 주소, 가로 글자수, 세로 글자수) : LCD 모듈이 연결된 I2C 주소와 LCD의 가로, 세로 글자수를 설정한다.
  • lcd.init( ) : LCD 모듈을 설정한다.
  • lcd.clear( ) : lcd란 이름의 LCD 모듈의 화면의 모든 표시를 지우고 커서를 왼쪽 위로 옮긴다.
  • lcd.home( ) : lcd란 이름의 LCD 모듈의 커서를 왼쪽 위로 옮긴다.
  • lcd.setCursor(열, 행) : lcd란 이름의 LCD 모듈의 커서를 원하는 위치로 이동시킨다.
  • lcd.print(데이터) : lcd란 이름의 LCD 모듈에 데이터를 출력한다.
  • lcd.noBacklight( ) : lcd란 이름의 LCD 모듈의 백라이트를 소등한다.
  • lcd.backlight( ) : lcd란 이름의 LCD 모듈의 백라이트를 점등한다.
/*
 * 예제
 * I2C를 이용한 LCD 출력
 */

#include <Wire.h>               // I2C 통신 라이브러리 설정
#include <LiquidCrystal_I2C.h>  // I2C LCD 라이브러리 설정

LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD I2C adrress 설정

void setup() {
  Serial.begin(9600); //9600 bps로 시리얼 통신 설정
  lcd.init();         // LCD 설정
  lcd.clear();        // LCD를 모두 지운다.
  lcd.backlight();    // 백라이트를 켠다

  // Arduino LCD, Welcome 표시
  lcd.setCursor(0,0);
  lcd.print("Arduino LCD");
  delay(1000);
  lcd.setCursor(0,1);
  lcd.print("Welcom!");
  delay(250);

  //LCD 백라이트를 두 번 점멸
  lcd.noBacklight();
  delay(250);
  lcd.backlight();
  delay(250);
  lcd.noBacklight();
  delay(250);
  lcd.backlight();
  delay(3000);
  
  //Open Serial Monitor, Type to dispaly 표시
  lcd.clear();
  lcd.setCursor(0,0);  // Start at character 0 on line 0
  lcd.print("Open Serial Monitor");
  lcd.setCursor(0,1);
  lcd.print("Type to display");
}

void loop() {
  //시리어 통신 수신값이 있을 때
  if(Serial.available()){
    delay(100);
    lcd.clear();            // 모두 삭제
    lcd.setCursor(0,0);     // 커서를 좌측 상단으로
    lcd.print("Message for PC");    // 메지지 출력
    lcd.setCursor(0,1);     // 커서를 두 번째 줄로

    // LCD에 PC에서 전송된 데이터를 출력
    while(Serial.available()>0){
      lcd.write(Serial.read());
    }
  }
}

 

 

+ Recent posts