반응형
▣ MAX7219CNG LED 주소 위치
- MAX7219는 최대 8개의 8x8 LED 매트릭스 디스플레이를 데이지 체인(Daisy Chain) 방식으로 연결하여 제어할 수 있습니다.
- LedControl 라이브러리는 여러 MAX7219 모듈을 관리할 수 있도록 설계되었으며, 각 모듈(또는 디스플레이)은 0부터 시작하는 인덱스로 식별됩니다.
- 예를 들어, 3개의 MAX7219 모듈이 연결되어 있다면, 각각 디스플레이 0, 디스플레이 1, 디스플레이 2로 참조됩니다.

▷ (0,0) 위치의 LED를 ON/OFF 예시 코드
#include <LedControl.h>
// LedControl 객체 생성: (DIN 핀, CLK 핀, CS 핀, 디바이스 수)
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
// MAX7219 초기화
lc.shutdown(0, false); // 0번 디스플레이 전원 켜기
lc.setIntensity(0, 8); // 밝기 설정 (0~15, 8은 중간 밝기)
lc.clearDisplay(0); // 디스플레이 초기화
}
void loop() {
// (0,0) 위치 LED 켜기
lc.setLed(0, 0, 0, true); // 디스플레이 0, 행 0, 열 0, 상태: ON
delay(500); // 500ms 대기
// (0,0) 위치 LED 끄기
lc.setLed(0, 0, 0, false); // 디스플레이 0, 행 0, 열 0, 상태: OFF
delay(500); // 500ms 대기
}
- 코드에서 LedControl lc = LedControl(12, 11, 10, 1);는 단일 MAX7219 모듈(디바이스 수: 1)을 사용하도록 설정한 것입니다.
- 여기서 "디스플레이 0"는 첫 번째(유일한) MAX7219 모듈을 가리킵니다. 인덱스 0은 라이브러리가 이 모듈을 참조하는 방식입니다.
- 따라서 lc.setLed(0, 0, 0, true)에서 첫 번째 인수 0은 디스플레이 0, 즉 연결된 첫 번째 MAX7219 모듈의 8x8 매트릭스를 의미합니다.
▷(0,0) ~ (0,7) 위치의 LED를 ON/OFF 예시 코드
#include <LedControl.h>
// LedControl 객체 생성: (DIN 핀, CLK 핀, CS 핀, 디바이스 수)
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
// MAX7219 초기화
lc.shutdown(0, false); // 0번 디스플레이 전원 켜기
lc.setIntensity(0, 8); // 밝기 설정 (0~15, 8은 중간 밝기)
lc.clearDisplay(0); // 디스플레이 초기화
}
void loop() {
// 첫 번째 행(0번 행)의 0~7번 열 LED를 순차적으로 켜기
for (int col = 0; col <= 7; col++) {
lc.setLed(0, 0, col, true); // 디스플레이 0, 행 0, 열 col, 상태: ON
delay(500); // 500ms 대기
}
// 첫 번째 행(0번 행)의 0~7번 열 LED를 순차적으로 끄기
for (int col = 0; col <= 7; col++) {
lc.setLed(0, 0, col, false); // 디스플레이 0, 행 0, 열 col, 상태: OFF
delay(500); // 500ms 대기
}
}
▷(0,0) ~ (7,7) 위치의 LED를 순차적으로 ON/ OFF 예시 코드
#include <LedControl.h>
// LedControl 객체 생성: (DIN 핀, CLK 핀, CS 핀, 디바이스 수)
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
// MAX7219 초기화
lc.shutdown(0, false); // 0번 디스플레이 전원 켜기
lc.setIntensity(0, 8); // 밝기 설정 (0~15, 8은 중간 밝기)
lc.clearDisplay(0); // 디스플레이 초기화
}
void loop() {
// 각 행(0~7)을 순차적으로 처리
for (int row = 0; row <= 7; row++) {
// 현재 행의 0~7번 열 LED를 순차적으로 켜기
for (int col = 0; col <= 7; col++) {
lc.setLed(0, row, col, true); // 디스플레이 0, 행 row, 열 col, 상태: ON
delay(500); // 500ms 대기
}
// 현재 행의 0~7번 열 LED를 순차적으로 끄기
for (int col = 0; col <= 7; col++) {
lc.setLed(0, row, col, false); // 디스플레이 0, 행 row, 열 col, 상태: OFF
delay(500); // 500ms 대기
}
}
}

반응형
'★ 아두이노' 카테고리의 다른 글
| 아두이노 호환 보드 & MAX7219CNG #5 (0) | 2025.09.28 |
|---|---|
| 아두이노 호환 보드 & MAX7219CNG #3 (0) | 2025.09.22 |
| 아두이노 호환 보드 & MAX7219CNG #2 (0) | 2025.09.21 |
| 아두이노 호환 보드 & MAX7219CNG #1 (0) | 2025.09.20 |
| ESP32-WROOM-32] Wifi 설정 (0) | 2025.09.17 |