MAX7219 도트 매트릭스 SPI 사용하기
1. MAX7219 드라이버
7세그먼트와 똑같이 Dot matrix 또한 다수의 핀을 필요로 한다. 따라서 이를 줄이기 위해서 SPI 통신이 가능한 MAX7219 드라이버를 이용해야 한다.
MAX7219 도트매트릭스 드라이버를 사용하면 16개의 핀에서 VCC, GND, DIN, CS, CLK 총 5개의 핀으로 줄일 수 있고, 여러개를 병렬로 연결해서 사용할 수 있다.
라이브러리 매니저를 통해서 LedControl을 설치하자.
2. 회로 구성
3. 소스코드
Matrix를 여러개 병렬 연결할 수 있다. 여기서 0은 0번 매트릭스를 뜻한다.
#include "LedControl.h"
#define CS 10
#define CLK 11
#define DIN 12
LedControl lc=LedControl(DIN, CLK, CS, 1);
int matrix[8]={
0b00011000,
0b00100100,
0b00100100,
0b01000010,
0b11111111,
0b10000001,
0b10000001,
0b10000001
};
void setup() {
// 0번 matrix 깨우기
lc.shutdown(0,false);
// 0번 matrix의 밝기 8 (밝기 0~15)
lc.setIntensity(0,8);
// 초기화
lc.clearDisplay(0);
}
void display(){
// Row, Column 1개씩으로 컨트롤 할 수 있다.
for(int i=0; i<8; i++)
for(int j=0; j<8; j++)
lc.setLed(0,i,j,bitRead(matrix[i],j));
}
void loop() {
display();
}
'라즈베리파이, 아두이노' 카테고리의 다른 글
라즈베리파이에서 one-wire 온도센서(DS18B20) 읽는 제일 쉬운 방법 (0) | 2021.11.27 |
---|---|
라즈베리와 아두이노 USB로 통신하기 (3) | 2021.11.27 |
[간단한 아두이노 코딩] 20. 7세그먼트 (5461AH)로 디지털 시계 만들기 (8편 번외) (1) | 2020.11.29 |
[간단한 아두이노 코딩] 19. HC-06 모듈로 Bluetooth 통신 해보기 (0) | 2020.11.24 |
[간단한 아두이노 코딩] 18. RS485 통신 해보기 (TTL to RS485 컨버터) (3) | 2020.11.24 |