아두이노 우노로 8×8 LED 매트릭스 마스터하기: 단계별 가이드
필요한 부품 및 소모품
| 부품 |
수량 |
비고 |
| 아두이노 우노 (Arduino UNO) |
1 |
|
| 8×8 LED 매트릭스 + MAX7219 드라이버 모듈 |
1 |
여러 개 직렬 연결 가능 (예: 5개) |
| 점퍼 와이어 |
다수 |
암-암(모듈 간), 수-암(첫 모듈-아두이노) |
| 아크릴 시트 2mm |
1 |
매트릭스 고정용 (옵션) |
| M2 × 10mm 나사 |
20 |
매트릭스당 4개 |
| M2 너트 |
20 |
|
사용 소프트웨어
- 아두이노 IDE
- LedControl 라이브러리 (필수, 라이브러리 관리자에서 설치)
프로젝트 개요
아두이노 우노로 MAX7219 드라이버 기반 8×8 LED 매트릭스 어레이를 제어하는 방법입니다. 저렴한 비용으로 문자, 숫자, 커스텀 애니메이션 표시가 가능한 디스플레이를 구축할 수 있습니다. 'Robô da Alegria(기쁨 로봇)' 프로젝트에서 5개 매트릭스로 얼굴 표현(눈 2개, 입 1개)한 사례를 예시로 다룹니다.
참고 링크: Hackaday 프로젝트 | 깃허브 | 페이스북
조립 방법
아두이노 핀 연결 (첫 번째 매트릭스):
- 디지털 13번 → DIN
- 디지털 12번 → CLK
- 디지털 11번 → CS
- 5V → VCC
- GND → GND
매트릭스 간 연결: 앞 모듈의 DOUT → 뒤 모듈의 DIN, VCC/GND/CLK/CS 공통 연결 (데이지 체인)
아크릴 시트와 나사/너트로 원하는 배열(예: 눈-입 패턴)로 고정 가능. 드라이버만 있으면 조립 완료.
코드 구조 (4부분)
- 눈/입 패턴 정의: 눈은 8바이트 배열, 입은 24바이트 배열(3개 매트릭스 연속)
- Setup: 디스플레이 개수 설정, 통신 초기화, 밝기 설정 (
setIntensity(1)로 USB 전원 범위 내 제한)
- Main Loop: 시리얼 명령 수신 → 해당 표정 표시 함수 호출
- 보조 함수:
setRow() 사용 (열 단위 setColumn()보다 8배 빠름). 따라서 패턴을 90도 반시계 회전하여 정의 필요
사용법: 시리얼 명령으로 표정 제어
업로드 후 시리얼 모니터(9600 baud)에서 문자 2개 입력 (첫 번째: 눈, 두 번째: 입) 후 Enter:
| 눈 명령 |
표현 |
: |
일반 눈 |
; |
깜빡임 |
8 |
으스스한 눈 |
| 입 명령 |
표현 |
) |
웃음 |
| |
무표정 |
( |
슬픔 |
D / d |
큰 웃음 |
O / o |
놀람 |
P / p |
혀 내밈 |
예: :) 입력 → 일반 눈 + 웃는 입 표시
확장 아이디어
- 새 표정 패턴 추가
- 블루투스/WiFi 모듈 추가로 무선 제어
- 매트릭스 개수 늘려 더 큰 디스플레이 구성
참고 자료