5주차 도트매드릭스 사용하기: 두 판 사이의 차이

아두위키 : Arduwiki
잔글편집 요약 없음
31번째 줄: 31번째 줄:


=== 3. 도트매트릭스 LED 제어 ===
=== 3. 도트매트릭스 LED 제어 ===
<div class="coders70">
<youtube>m7ztHW5qfD4</youtube>
</div>
도트매트릭스의 LED를 제어해봅시다.
도트매트릭스의 LED를 제어해봅시다.



2024년 6월 18일 (화) 17:19 판

1. 도트매트릭스 사용하기

먼저 아두이노 IDE에서 도트매트릭스를 사용하기 위해 라이브러리를 설치합니다.

[스케치] - [라이브러리 포함] - [라이브러리 관리] 에서 "LedControl"를 검색합니다.

2. 도트매트릭스 회로 연결

도트매트릭스를 아두이노와 연결해봅시다.

회로 연결
도트매트릭스 아두이노
VCC 5V
GND GND
DIN 12
CS 11
CLK 10

3. 도트매트릭스 LED 제어

도트매트릭스의 LED를 제어해봅시다.

먼저 도트매트릭스의 [행 0번][열 0번]의 LED를 켜고 끄는 동작을 만들어 봅시다.

#include "LedControl.h" //dot matrix를 사용하기 위한 라이브러리 호출

int din = 12;
int cs = 11;
int clk = 10;

//LedControl('DIN핀 번호', 'CLK핀 번호', 'CS핀 번호', 'dot matrix 갯수')
LedControl lc = LedControl(din, clk, cs, 1); 

void setup() {
  lc.shutdown(0, false);    //dot matrix를 깨우는 코드. shutdown('지정할 dotmatrix의 주소', 'false : 깨우기')
  lc.setIntensity(0, 8);    //밝기 설정. setIntensity('지정할 dotmatrix의 주소','밝기값(0~15)')
  lc.clearDisplay(0);       //사용하기 전 초기화. clearDisplay('지정할 dotmatrix의 주소')
}
int col = 0;
int row = 0;
void loop() 
{
  lc.setLed(0, col, row, true);
  delay(1000);
  lc.setLed(0, col, row, false);
  delay(1000);
}

setLed() 함수를 이용해 도트매트릭스의 LED를 제어할 수 있습니다.

setLed(0, 세로번호, 가로번호, true or false) 의 값을 수정하여 원하는 위치의 LED를 제어할 수 있으며 맨 뒤에 매개변수로 true를 넣으면 LED가 켜지고 false를 넣으면 LED가 꺼지게 됩니다.

도트매트릭스를 제어하기 위해서는 2차원 배열의 개념을 알아야합니다.

행과 열로 이루어진 2차원 배열의 구조는 위의 그림과 같습니다.

행은 세로 라인을 의미하고 열은 가로 라인을 의미합니다.

3-1. 실습1) [행 1][열 3] LED 켜기

3-2. 실습2) [행 4][열 6] LED 켜기