아두이노 나노 - LED 매트릭스 | Arduino Nano - LED Matrix

이 튜토리얼은 아두이노 나노를 LED 매트릭스 디스플레이와 사용하는 방법을 안내합니다. 자세히 보면, 우리는 다음을 배우게 됩니다:

그 작업을 완료하면, 16x8 LED 매트릭스, 64x8 LED 매트릭스 등 다른 LED 매트릭스에 맞게 코드를 빠르게 조정할 수 있습니다.

준비물

1×Arduino Nano Amazon
1×USB A to Mini-B USB cable 쿠팡 | 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 Nano Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED 매트릭스에 관하여

LED 매트릭스 디스플레이는 일반적으로 LED 디스플레이 또는 도트 매트릭스 디스플레이라고 불립니다.

LED Matrix display

LED 매트릭스는 다양한 종류가 있습니다. MAX7219 기반 LED 매트릭스는 아두이노 나노와 함께 사용하기에 인기 있는 선택입니다. 다음과 같은 특징이 있습니다:

  • 각 블록은 8x8 LED 매트릭스(64 LED)와 MAX7219 드라이버로 구성되어 있습니다.
  • 일반적인 블록 형태에는 일반 모듈과 FC-16 모듈이 있습니다.
  • LED 매트릭스는 여러 블록이 직렬로 연결된 하나 또는 그 이상의 블록으로 만들어질 수 있습니다.
  • 여러 블록이 있는 사전 조립된 LED 매트릭스(예: 4-in-1, 8-in-1)를 구입할 수 있습니다.
  • 또는 개별 블록을 구입하여 함께 연결하여 원하는 크기의 LED 매트릭스를 만들 수 있습니다.
  • 사용하는 LED 매트릭스의 크기는 Arduino Nano 코드에서 선언해야 합니다.

LED 매트릭스 핀아웃

LED Matrix pinout

A LED Matrix는 한 개 이상의 블록으로 구성되어 있습니다. 각 블록은 두 세트의 핀을 가지고 있습니다:

  • 입력 핀 그룹:
    • VCC: 5V 전원 공급 장치에 연결됨.
    • GND: 접지에 연결됨.
    • DIN: 데이터 핀, 아두이노 나노의 SPI MOSI 핀에 연결됨.
    • CS: 칩 선택, 아두이노 나노의 아무 디지털 핀에나 연결됨.
    • CLK: 시계 핀, 아두이노 나노의 SPI MOSI 핀에 연결됨.
  • 출력 핀 그룹:
    • VCC: 다음 블록의 VCC에 연결됨.
    • GND: 다음 모듈의 GND에 연결됨.
    • DOUT: 데이터 아웃, 다음 블록의 DIN 핀에 연결됨.
    • CS: 다음 블록의 CS에 연결됨.
    • CLK: 다음 블록의 CLK에 연결됨.

선연결

LED 매트릭스가 단일 블록으로 구성되어 있다면:

  • 아두이노 나노에 입력 핀 그룹을 연결하세요
  • 출력 핀 그룹은 연결하지 않고 두세요
Arduino Nano 8x8 LED matrix FC-16 wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Arduino Nano 8x8 LED matrix generic wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

LED 매트릭스가 여러 블록으로 사전 제작된 경우:

  • 입력 핀 그룹을 아두이노 나노에 연결하세요
  • 출력 핀 그룹은 연결하지 않고 두세요
Arduino Nano LED matrix display wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

LED 매트릭스가 여러 블록으로 직접 제작된 경우:

  • 첫 번째 블록의 입력 핀 그룹을 Arduino Nano에 연결하세요.
  • 각 블록의 출력 핀 그룹을 다음 블록의 입력 핀 그룹에 연결하세요.
  • 마지막 블록의 출력 핀 그룹은 연결하지 마세요.
Arduino Nano 32x8 LED matrix wiring FC-16 diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

디스플레이의 높은 전류 소모로 인해(최대 밝기에서 최대 1A까지):

  • 아두이노 나노의 5V 핀에서 전원을 공급하지 마십시오.
  • 대신 외부 5V 전원 공급 장치를 사용하십시오. 아두이노 나노와 LED 매트릭스 모두 단일 5V 전원 어댑터로 전원을 공급받을 수 있습니다.

Arduino Nano가 SPI 핀을 통해 LED 매트릭스에 연결되어 있습니다:

  • 아두이노 나노에서는 핀 13(SCK)과 11(MOSI)을 사용해야 합니다. 다른 아두이노 나노 보드를 사용하는 경우, 동등한 SPI 핀에 대해서는 공식 문서를 참고하십시오.
  • 핀 3(CS)는 아두이노 나노의 어떤 핀으로도 변경할 수 있습니다.

LED 매트릭스를 프로그래밍하는 방법

LED 매트릭스를 관리하는 것은 간단한 일이 아닙니다. 다행히도 이를 훨씬 쉽게 만들어주는 라이브러리들이 있습니다. 여기 LED 매트릭스를 제어하기 위해 아두이노 나노 코드를 작성하는 방법에 대한 단계별 가이드가 있습니다:

라이브러리 포함:

#include <MD_Parola.h> #include <MD_MAX72xx.h>

사용 중인 하드웨어의 유형을 명시하십시오: GENERIC_HW 또는 FC16_HW.

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW

사용된 LED 블록의 수를 명시하십시오. 예를 들어, 4-in-1 LED 매트릭스는 네 개의 블록을 포함합니다.

#define MAX_DEVICES 4

LED 매트릭스의 CS 핀에 연결된 핀을 지정하십시오. 예를 들어, D3 핀.

#define CS_PIN 3

LED 매트릭스 디스플레이를 위한 MD_Parola 객체를 생성하세요.

MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

setup() 함수에서 코드 작성:

void setup() { ledMatrix.begin(); // 객체를 초기화합니다 ledMatrix.setIntensity(0); // LED 매트릭스 디스플레이의 밝기를 설정합니다 (0에서 15까지) ledMatrix.displayClear(); // LED 매트릭스 디스플레이를 지웁니다 }

텍스트, 숫자 값 및 애니메이션 효과를 보여줍니다: 다음 섹션을 확인하세요.

아두이노 나노 - LED 매트릭스 코드

이 코드는 네 개의 블록으로 구성된 32x8 FC-16 LED 매트릭스 디스플레이에 적용 가능합니다. 그러나 이 코드는 8x8, 16x8, 64x8 및 기타 크기로도 손쉽게 조정될 수 있습니다.

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4개의 블록 #define CS_PIN 3 // MD_Parola 클래스의 인스턴스를 생성 MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // 객체를 초기화 ledMatrix.setIntensity(0); // LED 행렬 디스플레이의 밝기 설정 (0에서 15까지) ledMatrix.displayClear(); // LED 행렬 디스플레이 지우기 } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // 텍스트 표시 delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // 텍스트 표시 delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // 텍스트 표시 delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // 반전된 텍스트 표시 delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // 숫자 표시 delay(2000); }

사용 방법

  • 배선도에 따라 아두이노 나노를 LED 매트릭스에 연결하세요.
  • 아두이노 나노를 USB 케이블로 PC에 연결하세요.
  • 아두이노 IDE의 왼쪽 바에서 Libraries 아이콘을 클릭하세요.
  • "MD_MAX72XX"를 검색한 다음 MD_MAX72XX 라이브러리를 찾으세요.
  • Install 버튼을 누르세요.
  • "MD_Parola"를 검색한 다음 MD_Parola 라이브러리를 찾으세요.
  • Install 버튼을 누르세요.
Arduino Nano MD_Parola library
  • "MD_MAX72XX" 라이브러리를 설치하라는 요청을 받게 됩니다.
  • 의존성을 설치하려면 Install All 버튼을 클릭하세요.
Arduino Nano MD_MAX72XX library
  • 코드를 복사하고 Arduino IDE로 열어주세요.
  • IDE에서 Upload 버튼을 클릭해서 코드를 Arduino Nano로 전송하세요.
  • LED 매트릭스가 메시지를 표시하는지 확인하세요.

아두이노 나노 LED 매트릭스 코드 - 스크롤 텍스트

메시지가 LED 매트릭스에 표시하기에 너무 길 경우, 스크롤 텍스트 효과를 사용할 수 있습니다. 이 기술을 통해 텍스트가 디스플레이를 가로질러 스크롤될 수 있습니다. 스크롤 텍스트 효과는 메시지가 맞지 않을 정도로 길더라도 LED 매트릭스를 가로질러 이동할 수 있게 해줍니다.

이 Arduino Nano 코드는 메시지를 LED 매트릭스 디스플레이를 통해 이동시키는 방법을 보여줍니다.

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4개의 블록 #define CS_PIN 3 // MD_Parola 클래스의 인스턴스를 생성 MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // 객체를 초기화 ledMatrix.setIntensity(0); // LED 매트릭스 디스플레이의 밝기 설정 (0에서 15까지) ledMatrix.displayClear(); // led 매트릭스 디스플레이 지우기 ledMatrix.displayScroll("Hello", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

추가 텍스트 효과를 탐색하려면, MD_Parola 라이브러리 참조를 참조하십시오.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!