8x8 도트매트릭스(8x8 dot matrix, MAX7219)
LED를 8x8 격자로 구성해 놓은 소자입니다.
MAX7219가 사용되어 전원핀 제외 3개의 핀으로 제어 가능합니다.
여러 개의 dot matrix 모듈을 이어붙여 사용할 수 있습니다.
스펙
- 작동전압 : 5V
- 작동전류 : 320mA ~ 2A
필요 하드웨어
- 도트 매트릭스 모듈
- Arduino
연결
- 예제 코드 구동을 위한 연결
Dot matrix | Arduino |
VCC | 5V |
GND | GND |
DIN | D12 |
CS | D11 |
CLK | D10 |
- 도트매트릭스를 2개 이상 연결하여 사용 시 연결
Dot matrix 왼쪽 | Dot matrix 오른쪽 |
VCC | VCC |
GND | GND |
DOUT | DIN |
CLK | CLK |
CS | CS |
라이브러리
- LedControl
예제 코드
#include "LedControl.h" //dot matrix를 사용하기 위한 라이브러리 호출
#define dataIn 12 //DIN 12번 핀으로 사용
#define cs 11 //CS 11번 핀으로 사용
#define clk 10 //CLK 10번 핀으로 사용
LedControl lc = LedControl(dataIn, clk, cs, 1); //LedControl('DIN핀 번호', 'CLK핀 번호', 'CS핀 번호', 'dot matrix 갯수')
void setup() {
lc.shutdown(0, false); //dot matrix를 깨우는 코드. shutdown('지정할 dotmatrix의 주소', 'false : 깨우기')
lc.setIntensity(0, 8); //밝기 설정. setIntensity('지정할 dotmatrix의 주소','밝기값(0~15)')
lc.clearDisplay(0); //사용하기 전 초기화. clearDisplay('지정할 dotmatrix의 주소')
}
void loop() //dot matrix를 1초동안 깜빡입니다.
{
// dot matrix의 LED를 점등합니다.
for (int row = 0; row < 8; row++)
{
for (int col = 0; col < 8; col++)
{
lc.setLed(0, col, row, true);
}
}
delay(1000);
// dot matrix의 LED를 소등합니다.
for (int row = 0; row < 8; row++)
{
for (int col = 0; col < 8; col++)
{
lc.setLed(0, col, row, false);
}
}
delay(1000);
}