제 12 강 16X16 LED Dot Matrix 모듈 제어하기 -...

30
2013년도 1학기 컴퓨터구조설계 강의 자료 1 목원대학교 정보통신공학과 정윤수 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 컴퓨터구조설계=11 목원대학교 정보통신공학과 정윤수 2013. 1학기

Transcript of 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 -...

Page 1: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

1 목원대학교 정보통신공학과 정윤수

제 12 강 16X16 LED Dot Matrix 모듈 제어하기

컴퓨터구조설계=11

목원대학교

정보통신공학과 정윤수

2013. 1학기

Page 2: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

2 목원대학교 정보통신공학과 정윤수

강의내용

Ⅰ 16X16 LED Dot Matrix 모듈 제어하기

Page 3: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

3 목원대학교 정보통신공학과 정윤수

소개

1. 소개

- 이번시간에는 우리주변에 쉽게 볼수 있는 Dot Matrix를 제어해보려고

합니다.

- 지금까지 도트매트릭스를 통해 여러가지 응용 사례들이 많이 나와있고

각자의 스타일에 맞게 언어를 선택해서 코딩을 하고 모듈로 제어를 합니다.

- 보통 어셈블리어로 AVR 를 이용하여 도트매트릭스를 많이 제어를 하는데

이번 강좌에서는 기본적으로 많이 사용하는 C언어와 아두이노로 제어를

해보도록 하겠습니다.

Page 4: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

4 목원대학교 정보통신공학과 정윤수

2. 도트매트릭스 구조 및 회로구성

- 도트매트릭스를 제어하기 위해서는 센서와 달리 꼭! 데이터 시트가

있어야 함.

- 이번 강좌에서 사용할 도트매트릭스는 SML 1604라는 모델로

삼성의 엤이름 금성이었을 때 사용하던 모듈로 몇몇곳에서 사용하는

이름이 있음.

- SML1604는 모델이 있지만 데이터시트는 없음. 하지만,

SML1606라는 데이터시트가 있음.

- 전반적인 모듈의 핀 배열이나 작동방법은 같으므로 SML1604의

데이터시트를 참고하면 됨.

Page 5: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

5 목원대학교 정보통신공학과 정윤수

2.1 LED 사양

2. 도트매트릭스 구조 및 회로구성

Page 6: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

6 목원대학교 정보통신공학과 정윤수

2.2 핀 배열

2. 도트매트릭스 구조 및 회로구성

- CN2와 CN3의 CND를 빼고는 모두 사용. - GND가 연결이 되어 있기 때문에 CN1에 GND를 연결하면 CN2와 CN3에 GND가 모두 연결되어 있는 거랑 마찬가지임.

Page 7: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

7 목원대학교 정보통신공학과 정윤수

2.3 매트릭스의 핀 구성

2. 도트매트릭스 구조 및 회로구성

Page 8: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

8 목원대학교 정보통신공학과 정윤수

2.4 아두이노와 연결

2. 도트매트릭스 구조 및 회로구성

-왼쪽 -> 오른쪽 방향으로 연결하면 됨

Page 9: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

9 목원대학교 정보통신공학과 정윤수

2.5 회로구성

2. 도트매트릭스 구조 및 회로구성

Page 10: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

10 목원대학교 정보통신공학과 정윤수

3. 도트매트릭스 LED 제어하기

Page 11: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

11 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

- 데이터 시트의 작동 순서는 true(HIGH)와 fluse(LOW)의 신호를 줌

① RESET과 BRIGHT의 신호를 true(HIGH)해준다음 fluse(LOW)를 해줌. Metrix의 데이터를

사용하기 위한 준비

Page 12: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

12 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

② SELECT의 신호를 HIGH로 주어 LED 모듈을 사용한다는 신호를 줌. LOW 신호가 들어가면 LED

모듈이 OFF 됨.

- Metrix 모듈이 여러 개 일때 SELECT를 하여 사용할 Metrix를 선택을 하는 역할을 함.

Page 13: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

13 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

③ LED 신호(한줄에 LED16개)를 한줄씩 HIGH, LOW의 신호를 주어 작동함.

RED 또는 GREEN의 신호를 HIGH, LOW로 작동함

이때, RED, GREEN의 신호를 준다음 CLOCK를 HIGH와 LOW신호를 순차적으로 넣어줌

Page 14: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

14 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

③ RED 또는 GREEN을 하나HIGH 또는 LOW를 신호를 준 다음에는 CLOCK HIGH와 LOW를 주어야

함.

Page 15: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

15 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

④ 16개의 신호를 준 다음 BRIGHT 신호를 LOW 를 넣어 16rodml 신호가 끝났다는 것을 알려줌

Page 16: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

16 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

⑤ 일정횟수만큼 BRT_WRITE와 BRT_CLOCK를 HIGH와 LOW 신호를 반복해서 작동함.

BRT를 사용안해도 상관없지만 사용하지 않으면 밝기가 어둡다. BRT는 밝기에 관련된 핀임.

Page 17: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

17 목원대학교 정보통신공학과 정윤수

3.1 데이터 시트의 작동 순서

3. 도트매트릭스 LED 제어하기

⑥ 이렇게 순차적으로 주어 256개의 LED를 제어하면 됨

※ Metrix는 한번에 불이 들어오는 것이 아니라 순차적으로 하나씩 켜지는 것임.

단지 사람의 눈으로 판별할 수 없을 정도로 빠른 속도로 켜지기 때문에 사람의

눈으로 봤을 때는 다같이 켜진 것처럼 보임.

Page 18: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

18 목원대학교 정보통신공학과 정윤수

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

- 보통 배열을 사용해서 원하는 LED를 제어한다.

Page 19: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

19 목원대학교 정보통신공학과 정윤수

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

- 1을 켰을 때 0은 OFF(LOW), 1은 ON(HIGH)으로 16개씩 끊어서 읽으면 1이라는 숫자가

도트매트릭스에 나타나게 됨.

- LED 모듈 자체적으로 메모리를 가지고 있는지는 모르지만 int, boolean을 사용하면 5개~6개

이상이 넘어가면 도트매트릭스의 나타내려는 모양이 깨지기 시작함.

-> 이 부분을 해결하기 위해서 Byte 형을 사용

Page 20: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

20 목원대학교 정보통신공학과 정윤수

배열에 어떤 것을 넣어야 하는가?

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

- 배열에 어떤 것을 넣어야 할 것을 알아보도록 한다.

0과 1을 바이너리 코드로 바꿔줘야 함.

한 줄에 16개를 반으로 쪼게 9개로 묶음.

-예를 들어,11111111의 2진수를 16진수로 변경한다면 ?

1. 11111111 를 반으로 분류

1111 / 1111

2. 왼쪽 변경

1X2^3+1X2^2+1X2+1X1 = 15(F)

3. 오른쪽 변경

1X2^3+1X2^2+1X2+1X1 = 15(F)

4. 0xFF 로 표현

Page 21: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

21 목원대학교 정보통신공학과 정윤수

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

- 1모양을 바이너리 코드로 바꾸면 다음과 같음.

Page 22: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

22 목원대학교 정보통신공학과 정윤수

BitMask 사전 정보

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

① 먼저 AND 연산부터 배워보도록 하겠습니다.

Page 23: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

23 목원대학교 정보통신공학과 정윤수

BitMask 사전 정보

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

② 쉬프트 연산을 해보도록 하겠습니다.

쉬프트 연산을 비트를 왼쪽 도는 오른쪽으로 미는 것을 의미함.

-오른쪽 쉬프트

Page 24: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

24 목원대학교 정보통신공학과 정윤수

BitMask 사전 정보

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

-왼쪽 쉬프트

Page 25: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

25 목원대학교 정보통신공학과 정윤수

BitMask 생성방법

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

Page 26: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

26 목원대학교 정보통신공학과 정윤수

BitMask 생성방법

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

Page 27: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

27 목원대학교 정보통신공학과 정윤수

BitMask 생성방법

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

Page 28: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

28 목원대학교 정보통신공학과 정윤수

BitMask 생성방법

4. 원하는 모양을 도트메트릭스에 구현하기, BitMask

Page 29: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

29 목원대학교 정보통신공학과 정윤수

4. 결론

- 도트매트릭스를 구현하는 방법에 대해서 수업하였습니다.

Page 30: 제 12 강 16X16 LED Dot Matrix 모듈 제어하기 - KOCWelearning.kocw.net/contents4/document/lec/2013/Mokwon/Jungyunsu/13.pdf · 2013년도 1학기 컴퓨터구조설계 강의

■ 2013년도 1학기 컴퓨터구조설계 강의 자료

30 목원대학교 정보통신공학과 정윤수