아두이노

본문 바로가기
사이트 내 전체검색


아두이노
아두이노

2. LCD 1602(16x2) 4핀(I2C)제어 디스플레이 모듈 실습

페이지 정보

작성자 관리자 댓글 0건 조회 2,640회 작성일 18-11-11 22:26

본문

2. LCD 1602(16x2) 4핀(I2C)제어 디스플레이 모듈 실습

 

(1) LCD 1602(16x2) 4핀(I2C)제어 디스플레이 모듈


LCD 1602은 16핀의 제어핀을 LCD뒤에 부착된 I2C변환 모듈을 통해 단 4개의 핀으로 제어가 가능하도록 쉽게 만들어진 모델입니다.

그림입니다.
원본 그림의 이름: CLP00002bc80001.bmp
원본 그림의 크기: 가로 699pixel, 세로 471pixel

그림입니다.
원본 그림의 이름: CLP00002bc868e2.bmp
원본 그림의 크기: 가로 478pixel, 세로 319pixel


그림입니다.
원본 그림의 이름: CLP00002bc80002.bmp
원본 그림의 크기: 가로 683pixel, 세로 276pixel


(2) 라이브러리 다운로드 및 설치하기 


LCD_I2C를사용하기위해서는라이브러리를다운받아야합니다. 다운경로는아래와같습니다.


LCD I2C 라이브러리 다운받기 :

https://github.com/marcoschwartz/LiquidCrystal_I2C


그림입니다.
원본 그림의 이름: CLP00002bc80003.bmp
원본 그림의 크기: 가로 1126pixel, 세로 222pixel


Clone or download를 클릭하여 다운받는다.


다운받은 ZIP파일 안에 들어 있는 폴더를 내컴퓨터의 아두이노 IDE 설치경로로들어가 라이브러리 폴더 아래에 복사해 넣어 줍니다.

그림입니다.
원본 그림의 이름: CLP000038f42ad6.bmp
원본 그림의 크기: 가로 716pixel, 세로 508pixel


아두이노 IDE를 껐다 실행하면 자동으로 아래경로의 라이브러리가 포함되어 실행됩니다.


(3) 회로도 구성 


 


아두이노 우노와 I2C 통신을 구성해 봅시다. 회로도는 아래와 같이 연결해 줍니다.


5V – VCC

GND – GND

A4 – SDA

A5 - SCL


그림입니다.
원본 그림의 이름: CLP000038f40002.bmp
원본 그림의 크기: 가로 616pixel, 세로 725pixel



(4) 소스코딩


#include <Wire.h>                        // i2C 통신을 위한 라이브러리

#include <LiquidCrystal_I2C.h>        // LCD 1602 I2C용 라이브러리

LiquidCrystal_I2C lcd(0x3F,16,2);     // 접근주소: 0x3F or 0x27


void setup()

{

  lcd.init();                      // LCD 초기화

  // Print a message to the LCD.

  lcd.backlight();                // 백라이트 켜기

  lcd.setCursor(0,0);             // 1번째, 1라인

  lcd.print("Hello, world!");

  lcd.setCursor(0,1);             // 1번째, 2라인

  lcd.print("Lee Jin Kwan");

}


void loop()

}


LCD가 출력되지 않을 때 아래 접근 주소를 0x3F 또는 0x27 로 바꾸어서 실행하면 보이는 주소가 있을 것입니다.

LiquidCrystal_I2C lcd(0x3F,16,2);    


두가지 접근주소가 모두 않될 때는 주소를 찾아서 수정하면 됩니다.


(5) 실행 결과


그림입니다.
원본 그림의 이름: CLP000038f40001.bmp
원본 그림의 크기: 가로 540pixel, 세로 251pixel


보드 뒤쪽에 가변 저항을 십자드라이버로 조정하면 밝기가 조정된다.


(6) LCD Function 정리



  lcd.init();                      // LCD 초기화

  lcd.backlight();           // LCD 백라이트를 켠다

  lcd.noBacklight();      // LCD 백라이트를 끈다

  lcd.noDisplay();          // LCD 표시된 내용을 숨긴다

  lcd.display();               // LCD 표시내용을 보여준다

  lcd.cursor();                // 커서를 표시한다

  lcd.noCursor();           // 커서를 없앤다.

  lcd.setCursor(0,0);    // 해당 LCD 좌표로 커서 이동

  lcd.home();                 //커서를 0,0 좌표로 이동

  lcd.blink();                   // 커서를 깜빡임

  lcd.noBlink();              // 커서를 깜빡이지 않음

  lcd.write(36); // LCD 화면에 값을 출력,

               // 아스키코드 입력 시 해당문자 출력

  lcd.print("TEST");       // LCD 화면에 값을 출력

  lcd.clear();                   // LCD 모든 내용 지움

  lcd.scrollDisplayRight();    //lcd 내용을 우측으로 1칸 스크롤

  lcd.scrollDisplayLeft();      //lcd 내용을 좌측으로 1칸 스크롤

  lcd.autoscroll();         // 출력내용을 자동으로 우에서 좌로 스크롤

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.