아두이노 - LED 매트릭스 | Arduino - LED Matrix
LED 매트릭스 디스플레이, 또한 LED 디스플레이 또는 도트 매트릭스 디스플레이라고도 알려져 있으며, 널리 사용됩니다. 이 튜토리얼에서, 우리는 배울 예정입니다:
- LED 매트릭스
- 아두이노를 8x8 LED 매트릭스에 연결하는 방법
- 아두이노를 32x8 LED 매트릭스에 연결하는 방법
- 아두이노를 사용하여 LED 매트릭스에 텍스트, 숫자 및 애니메이션 효과를 표시하는 방법
그 후에는, 16x8 LED 매트릭스, 64x8 LED 매트릭스 등 다른 LED 매트릭스에 코드를 쉽게 적용할 수 있습니다.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | FC-16 LED Matrix 32x8 | Amazon | |
1 | × | FC-16 LED Matrix 8x8 | 쿠팡 | Amazon | |
1 | × | Generic LED Matrix 8x8 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | DC Power Jack | 쿠팡 | Amazon | |
1 | × | 5V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
LED 매트릭스에 관하여
다양한 종류의 LED 매트릭스가 있습니다. 아두이노와 함께 MAX7219 기반 LED 매트릭스가 널리 사용됩니다. MAX7219 기반 LED 매트릭스는 다음과 같은 특징을 가지고 있습니다:
- LED 매트릭스의 기본 단위는 블록입니다.
- 각 블록은 8x8 LED 매트릭스(64 LED)와 MAX7219 드라이버가 있습니다.
- 두 가지 인기 있는 블록 형태가 있습니다: 일반 모듈과 FC-16 모듈.
- LED 매트릭스는 단일 블록 또는 여러 블록을 데이지 체인으로 구성할 수 있습니다.
- 사전 제작된 다중 블록 LED 매트릭스(예: 4-in-1, 8-in-1)를 구입할 수 있습니다.
- 원하는 크기의 LED 매트릭스를 형성하기 위해 여러 블록을 구입하고 배선할 수도 있습니다.
- Arduino 코드에서 사용하는 LED 매트릭스의 크기를 선언할 것입니다.
핀배치
LED 매트릭스는 하나 또는 여러 개의 블록으로 구성됩니다. 각 블록은 두 그룹의 핀을 포함합니다:
- 입력 핀 그룹:
- VCC: 5V에 연결됩니다.
- GND: GND에 연결됩니다.
- DIN은 데이터 핀이며, 아두이노의 SPI MOSI 핀에 연결하세요.
- CS: 칩 선택, 아두이노의 아무 디지털 핀에나 연결하세요.
- CLK: 클록 핀, 아두이노의 SPI CLK 핀에 연결하세요.
- 출력 핀 그룹:
- VCC: 다음 모듈의 VCC에 연결됩니다.
- GND: 다음 모듈의 GND에 연결됩니다.
- DOUT: 데이터 아웃, 다음 모듈의 DIN 핀에 연결됩니다.
- CS: 다음 모듈의 CS에 연결됩니다.
- CLK: 다음 모듈의 CLK에 연결됩니다.
선연결
LED 매트릭스가 단일 블록으로 구성된 경우:
- 입력 핀 그룹을 아두이노에 연결하세요
- 출력 핀 그룹은 연결하지 않도록 합니다
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
만약 LED 매트릭스가 사전에 여러 블록으로 조립되어 있다면:
- 입력 핀 그룹을 아두이노에 연결하세요.
- 출력 핀 그룹은 연결하지 마세요.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
LED 매트릭스가 여러 블록으로 직접 만들어진 경우:
- 첫 번째 블록의 입력 핀 그룹을 Arduino에 연결하세요
- 각 블록의 출력 핀 그룹을 다음 블록의 입력 핀 그룹에 연결하세요
- 마지막 블록의 출력 핀 그룹은 연결하지 않아도 됩니다
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
디스플레이가 많은 전류를 소모하기 때문에(최대 밝기에서 최대 1A까지):
- 아두이노의 5V 핀에서 전력을 사용하지 마십시오.
- 대신 외부 5V 전원 공급 장치를 사용하십시오. 아두이노와 LED 매트릭스는 5V 전원 어댑터에서 전력을 공유할 수 있습니다.
Arduino는 SPI 핀을 통해 LED 매트릭스에 연결됩니다:
- 아두이노 우노에서는 핀 13(SCK)과 11(MOSI)을 사용해야 합니다. 다른 아두이노 보드를 사용하는 경우, 해당 SPI 핀의 동등한 핀을 확인하려면 공식 문서를 확인하세요.
- 핀 3(CS)은 어느 핀으로든 변경할 수 있습니다.
LED 매트릭스 프로그래밍 방법
LED 매트릭스를 제어하는 것은 쉽지 않습니다. 다행히도, 이를 쉽게 만들어주는 라이브러리가 있습니다. 아래에는 LED 매트릭스를 제어하기 위한 아두이노 코드를 작성하는 방법에 대한 단계별 안내가 있습니다.
라이브러리 포함:
사용 중인 하드웨어를 지정하십시오: GENERIC_HW 또는 FC16_HW.
사용된 LED 블록의 수를 정의하세요. 예를 들어, 4-in-1 LED 매트릭스는 4개의 블록을 가집니다.
LED 매트릭스의 CS 핀에 연결되는 핀을 정의하십시오. 예를 들어, 핀 D3
LED 매트릭스 디스플레이를 위한 MD_Parola 클래스의 새 인스턴스를 생성합니다.
설정() 함수에서 코드:
텍스트, 숫자 표시 및 애니메이션 효과 보기: 다음 부분 참조
아두이노 - LED 매트릭스 코드
아래 코드는 32x8 FC-16 LED 매트릭스 디스플레이(4 블록)용입니다. 하지만, 이 코드를 쉽게 8x8, 16x8, 64x8 등으로 조정할 수 있습니다.
사용 방법
- 위의 배선도대로 Arduino를 LED 매트릭스에 연결하세요.
- USB 케이블을 사용하여 Arduino를 PC에 연결하세요.
- Arduino IDE의 왼쪽 바에서 Libraries 아이콘으로 이동하세요.
- “MD_Parola”를 검색한 다음, MD_Parola 라이브러리를 찾으세요.
- Install 버튼을 클릭하세요.
당신은 의존성을 위해 MD_MAX72XX 라이브러리를 설치하라는 요청을 받게 됩니다. Install All 버튼을 클릭하세요.
- 위의 코드를 복사하고 Arduino IDE로 열어주세요
- Arduino IDE에서 Upload 버튼을 클릭해서 아두이노에 코드를 업로드하세요
- LED 매트릭스 디스플레이를 확인하세요
아두이노 LED 매트릭스 코드 - 스크롤 텍스트
LED 매트릭스 디스플레이에 맞지 않을 정도로 긴 메시지를 출력하고 싶을 때는 스크롤 텍스트 효과 기술을 사용할 수 있습니다.
아래의 아두이노 코드는 LED 매트릭스 디스플레이에서 메시지를 스크롤하는 방법을 보여줍니다.
더 많은 텍스트 효과를 원하시면, MD_Parola 라이브러리 설명서를 방문해 주세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.