상세 컨텐츠

본문 제목

[MBlock_Uno] #6 Character LCD 켜기

MBlock Uno 교육

by HodongPrince 2022. 2. 1. 22:28

본문

Character LCD 란?

 미리 프로그램된 글자를 출력해 주는 장치입니다. 사용하게 될 장치는 16개 글자를 2줄 채울 수 있는 장치입니다. Character LCD 의 한 글자는 5x8 의 DOT 로 이루어 져 있습니다. 글자 모양은 프로그램으로 미리 저장되어 있으며, 프로그래머가 어떤 위치에 어떤 글자를 쓰라고 명령을 주면 Character LCD 에 명령대로 글자가 표시됩니다. 이때 명령을 주기 위해서는 조금 복잡한 규칙으로 데이터를 장치에 보내주어야 합니다.

더보기

 ※ Character LCD 에 글자를 표시해 주기위한 조금 복잡한 규칙

 소자마다 다르지만 우리가 사용하는 장치는 16 pin 짜리 일반적인 규격의 장치입니다. 아래와 같이 미리 글자가 입력되어 있습니다. (출처 : https://datasheetspdf.com/pdf-file/519148/CA/LCD-1602A/1)

(프로그램된 글자)

(제어를 위한 Pin 배치)

 원하는 글자를 입력하면 마음대로 글자를 표시할 수 있습니다. 아래와 같이 표시됩니다.

(그림1) Character LCD 에서 글자를 출력한 예시

 

실습내용

 우리가 사용하는 표시 장치(Character LCD)는 MBlock 으로 쉽게 제어할 수 있도록 인터페이스를 제공하고 있습니다. (인터페이스는 쉽게 사용할 수 있도록 해 주는 도구라고 생각하면 되요.) 16개 핀을 연결해야 하는 복잡한 연결은 PCF8574 Chip 을 이용하여 4개 핀을 I2C 인터페이스 통신으로 사용하도록 간단히 구성할 수 있습니다. 그리고 MBlock 에서 I2C 로 우리가 사용할 Character LCD 제어를 쉽게 할 수 있는 라이브러리를 다운로드 하여 실습 해 보겠습니다.

더보기

 LCD 를 제어하기 위해 16개 Pin 을 쓰는 대신 PCF8574 에 있는 "SDA", "SCL", "VDD", "VSS" 만 사용하면 회로를 구성하기가 쉽습니다. 그리고 MBlock 에서 Driver 를 제공하기 때문에 직관적으로 사용할 수 있습니다.

 Character LCD 제어를 쉽게 하기 위해서는 MBlock 에서 "확장" 버튼을 누른 후에 Devicemart 에서 제공하는 LCD 제어 라이브러리를 사용해 보기로 하였어요. 다른 라이브러리를 사용해도 큰 차이는 없겠지만, 한글이 지원되기 때문에 실습이 더 쉬워질 것 같아서 이렇게 정했습니다. 설치 방법은 아래 동영상을 참고 하세요!

 

회로연결

(그림2) 회로도

 - 사용할 준비물 -

 Character LCD 1개

 회로를 설명합니다. Character LCD 뒷면에 "GND", "VCC", "SDA", "SCL" 이라고 적혀 있는 4개의 핀이 있어요. 이 핀을 바로 UNO 에 연결해 주겠습니다. 먼저 "GND" 는 UNO 의 GND에 "VCC" 는 UNO 의 5V 에 연결해 줍니다. 극성이 바뀌지 않도록 주의하세요!

 그리고 "SDA" 는 UNO의 A4에 "SCL" 은 UNO의 A5에 연결해 줍니다. UNO 는 I2C 통신 기능을 A4,A5 핀에서 제공합니다. 따라서 다른 핀에 연결하면 동작하지 않습니다.

 

MBlock코드

 (예제1) 1초 Backlight 가 꺼지고 켜진 후에 첫째 줄에 "I love", 둘째 줄에 "jesus" 가 아래와 같이 표시되게 해 보세요.

(그림3) 예제1 결과
(그림4) 예제 1 블록 코딩

 (예제2) 1초마다 숫자가 올라가도록 해 보세요. 첫째줄에는 "Count:" 둘째줄에는 1초마다 숫자가 1씩 증가하게 해 보세요.

(그림5) 예제 2 블록 코딩

 

 

 

'MBlock Uno 교육' 카테고리의 다른 글

[MBlock_Uno] #1 LED 켜기  (0) 2021.09.27
[MBlock_Uno] #5 부저로 소리내기  (0) 2021.09.21
[MBlock_Uno] 준비할 사항  (0) 2021.09.16
[MBlock_Uno] #4 LED 밝기 조절  (0) 2021.09.10
[MBlock_Uno] #3 RGB  (0) 2021.09.05

관련글 더보기