ESP32 마이크로파이썬 LED 매트릭스
이 튜토리얼은 ESP32와 LED 매트릭스 디스플레이 모듈을 함께 사용하는 방법을 안내합니다. 자세히는 다음과 같이 배울 수 있습니다:
- ESP32를 8x8 LED 매트릭스에 연결하는 방법
- ESP32를 32x8 LED 매트릭스에 연결하는 방법
- ESP32를 프로그래밍하여 LED 매트릭스에 텍스트를 표시하는 방법
- ESP32를 프로그래밍하여 LED 매트릭스에 텍스트를 스크롤하는 방법
- ESP32를 프로그래밍하여 LED 매트릭스에 사용자 정의 문자를 표시하는 방법
그런 다음, 16x8 또는 64x8 LED 매트릭스와 같이 다른 LED 매트릭스용 코드를 쉽게 변경할 수 있습니다.

준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | FC-16 LED Matrix 32x8 | 쿠팡 | 아마존 | |
1 | × | FC-16 LED Matrix 8x8 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
1 | × | 5V Power Adapter | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
LED 매트릭스에 대하여

다양한 종류의 LED 매트릭스가 있지만, MAX7219 기반 LED 매트릭스는 ESP32와 함께 널리 사용됩니다. MAX7219 기반 LED 매트릭스는 다음과 같은 기능을 제공합니다:
- LED 매트릭스의 기본 단위는 블록입니다.
- 각 블록에는 8x8 LED 매트릭스(64개의 LED)와 MAX7219 드라이버가 포함되어 있습니다.
- 단일 블록이나 여러 블록을 연결하여 LED 매트릭스를 만들 수 있습니다.
- 4-in-1 또는 8-in-1 구성과 같이, 여러 블록이 미리 조립된 LED 매트릭스를 구입할 수 있습니다.
- 또는 개별 블록을 구입하여 연결함으로써 원하는 크기의 매트릭스를 만들 수 있으며, 1-in-1, 4-in-1 또는 8-in-1 LED 매트릭스를 연결하는 옵션도 있습니다.
- ESP32 코드에서 LED 매트릭스의 크기를 지정해야 합니다.
핀아웃

LED 매트릭스는 하나 이상의 섹션으로 구성됩니다. 각 섹션에는 두 종류의 커넥터가 있습니다:
- 입력 핀 그룹:
- VCC: 5V에 연결합니다.
- GMD: GND에 연결합니다.
- DIN: 데이터 핀입니다. ESP32의 SPI MOSI 핀에 연결합니다.
- CS: 칩 선택. ESP32의 임의의 디지털 핀에 연결합니다.
- CLK: 클록 핀입니다. ESP32의 SPI CLK 핀에 연결합니다.
- 출력 핀 그룹:
- VCC: 다음 모듈의 VCC에 연결합니다.
- GND: 다음 모듈의 GMD에 연결합니다.
- DOUT: 데이터 출력입니다. 다음 모듈의 DIN 핀에 연결합니다.
- CS: 다음 모듈의 CS에 연결합니다.
- CLK: 다음 모듈의 CLK에 연결합니다.
선연결
디스플레이는 최대 밝기에서 최대 1A까지 상당한 전력을 소비하므로, Arduino의 5V 핀을 통해 전원을 공급하는 것을 피하는 것이 좋습니다. 대신, 외부 5V 전원 공급 장치를 사용하여 Arduino와 LED 매트릭스가 동일한 5V 어댑터로부터 전원을 공유하도록 하십시오.
만약 LED 매트릭스에 블록이 하나만 있다면:
- 입력 핀 그룹들을 ESP32에 연결하십시오.
- 출력 핀 그룹들을 연결하지 마십시오.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
LED 매트릭스가 이미 여러 섹션으로 조립되어 있는 경우:
- 입력 핀 그룹을 ESP32에 연결하십시오.
- 출력 핀 그룹은 연결하지 마십시오.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
만약 서로 다른 부품을 사용하여 LED 매트릭스를 조립한다면:
- 첫 번째 블록의 입력 핀을 ESP32에 연결합니다.
- 각 블록의 출력 핀을 다음 블록의 입력 핀에 연결합니다.
- 마지막 블록의 출력 핀은 연결하지 않습니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 - LED 매트릭스 코드
아래의 ESP32 MicroPython 코드는 4 블록으로 구성된 32x8 FC-16 LED 매트릭스 디스플레이를 위해 제작되었습니다. 하지만 이를 8x8, 16x8, 64x8 등 다른 크기로 동작하도록 수정할 수 있습니다.
자세한 사용 방법
아래 지침을 단계별로 따라 주세요:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하십시오.
- ESP32 보드에 MicroPython 펌웨어가 설치되어 있는지 확인하십시오.
- MicroPython을 사용하는 ESP32를 처음 사용한다면, 자세한 지침은 ESP32 마이크로파이썬 - 시작하기 튜토리얼을 참조하십시오.
- 제공된 도표에 따라 LED 매트릭스에 ESP32 보드를 연결하십시오.
- USB 케이블을 사용하여 ESP32 보드를 컴퓨터에 연결하십시오.
- 컴퓨터에서 Thonny IDE를 실행하십시오.
- Thonny IDE에서 도구 옵션으로 이동하십시오.
- 인터프리터 탭에서 드롭다운 메뉴에서 MicroPython (ESP32)를 선택하십시오.
- 올바른 포트가 선택되어 있는지 확인하십시오. Thonny IDE는 보통 자동으로 포트를 감지하지만, 경우에 따라 수동으로 선택해야 할 수 있습니다 (예: Windows의 COM12 또는 Linux의 /dev/ttyACM0).
- Thonny IDE에서 도구 패키지 관리로 이동하십시오.
- 검색창에 “DIYables-MicroPython-LED-Matrix”를 입력한 후, DIYables가 생성한 LED 매트릭스 라이브러리를 찾으십시오.
- DIYables-MicroPython-LED-Matrix를 클릭한 후, LED 매트릭스 라이브러리를 설치하기 위해 Install 버튼을 클릭하십시오.

- 위의 코드를 복사하여 Thonny IDE의 에디터에 붙여넣으세요.
- 다음 단계에 따라 ESP32 보드에 스크립트를 저장하세요:
- 저장 버튼을 클릭하거나 Ctrl+S 키를 사용하세요.
- 저장 대화상자에서 "이 컴퓨터"와 "MicroPython 기기"라는 두 섹션이 보입니다. "MicroPython 기기"를 선택하세요.
- 파일 이름을 main.py로 저장하세요.
- 녹색 실행 버튼을 클릭하거나 F5 키를 눌러 스크립트를 실행하세요. 스크립트가 실행됩니다.
- LED 매트릭스를 확인해보세요. 아래와 같이 생겼습니다:

실제 디스플레이 조명은 사진보다 훨씬 더 좋아 보입니다. 카메라는 조명의 실제 색상을 정확하게 포착하지 못합니다.
ESP32 MicroPython LED 매트릭스 코드 – 스크롤 텍스트
메시지가 LED 매트릭스 디스플레이에 너무 길 경우, 화면 전체에 스크롤할 수 있습니다. 아래의 ESP32용 MicroPython 코드는 LED 매트릭스 디스플레이에서 메시지를 스크롤하는 방법을 보여줍니다.
자세한 사용 방법
- 제공된 ESP32 MicroPython 코드를 복사하여 Thonny 편집기에 붙여넣으세요.
- MicroPython 코드를 ESP32 보드에 저장하세요.
- 녹색 Run 버튼을 클릭하거나 (또는 F5 키를 눌러) 코드를 실행하세요.
- LED 매트릭스를 확인하세요. 스크롤 효과는 아래와 같이 보입니다:
ESP32 MicroPython LED 매트릭스 - 사용자 정의 문자
LED 매트릭스 디스플레이에 하트나 화난 새와 같은 특수 문자 또는 기호를 표시하려면 문자 생성기를 사용해야 합니다.
문자 생성기는 문자를 생성합니다(64픽셀). 다음 단계만 따르면 됩니다:
아래의 ESP32 MicroPython 코드는 32x8 LED 매트릭스에 세 개의 사용자 정의 문자를 표시합니다:
자세한 사용 방법
- 제공된 ESP32 MicroPython 코드를 복사하여 Thonny 에디터에 붙여넣습니다.
- MicroPython 코드를 ESP32 보드에 저장합니다.
- 녹색 Run 버튼을 클릭하거나 F5 키를 눌러 코드를 실행합니다.
- LED 매트릭스를 확인해보세요. 아래와 같이 생겼습니다:
