ESP8266 - LED 매트릭스 | ESP8266 - LED Matrix

이 튜토리얼은 ESP8266을 LED 매트릭스 디스플레이와 함께 사용하는 방법을 안내합니다. 구체적으로, 우리는 다음을 배울 것입니다:

그 작업이 완료되면, 16x8 LED 매트릭스나 64x8 LED 매트릭스와 같은 다른 LED 매트릭스에 대한 코드를 수정하는 것이 간단할 것입니다...

준비물

1×ESP8266 NodeMCU Amazon
1×Micro 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 ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED 매트릭스에 대하여

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

LED Matrix display

LED 매트릭스는 다양한 종류가 있습니다. MAX7219 기반 LED 매트릭스는 ESP8266과 함께 사용되는 것이 대중적입니다. 다음과 같은 특성을 가지고 있습니다:

  • 한 개의 블록은 8x8 LED 매트릭스(64개의 LED)와 MAX7219 드라이버로 구성됩니다.
  • 블록에는 일반 모듈과 FC-16 모듈의 두 가지 일반적인 유형이 있습니다.
  • 미리 만들어진 다중 블록 LED 매트릭스(예: 4-in-1, 8-in-1)를 구입하거나 여러 블록을 연결하여 원하는 크기의 LED 매트릭스를 만들 수 있습니다.
  • 사용하는 LED 매트릭스의 크기는 ESP8266 코드에 선언해야 합니다.

LED 매트릭스 핀배열

LED Matrix pinout

LED 매트릭스는 하나 이상의 블록으로 구성됩니다. 각 블록은 두 세트의 핀을 가지고 있습니다:

  • 입력 핀 그룹:
    • VCC: 5V 전원 공급 장치에 연결됩니다.
    • GND: 접지에 연결됩니다.
    • DIN: 데이터 핀, ESP8266의 아무 디지털 핀에도 연결됩니다.
    • CS: 칩 선택, ESP8266의 아무 디지털 핀에도 연결됩니다.
    • CLK: 클록 핀, ESP8266의 아무 디지털 핀에도 연결됩니다.
  • 출력 핀 그룹:
    • VCC: 다음 블록의 VCC에 연결됩니다.
    • GND: 다음 블록의 GND에 연결됩니다.
    • DOUT: 데이터 아웃, 다음 블록의 DIN 핀에 연결됩니다.
    • CS: 다음 블록의 CS에 연결됩니다.
    • CLK: 다음 블록의 CLK에 연결됩니다.

선연결

LED 매트릭스가 단일 블록으로 구성된 경우:

  • 입력 핀을 ESP8266에 연결하세요
  • 출력 핀은 연결하지 마세요
ESP8266 NodeMCU 8x8 LED matrix FC-16 wiring diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

ESP8266 NodeMCU 8x8 LED matrix generic wiring diagram

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

LED 매트릭스가 여러 블록으로 미리 제작되었다면:

  • 입력 핀 그룹을 ESP8266에 연결하세요.
  • 출력 핀 그룹은 연결하지 마세요.
ESP8266 NodeMCU LED matrix display wiring diagram

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

여러 개의 블록으로 LED 매트릭스를 만들고 있다면:

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

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

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

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

ESP8266이 SPI 핀을 통해 LED 매트릭스에 연결되어 있으므로:

  • ESP8266에서는 D5(SCK) 핀과 D7(MOSI) 핀이 사용되어야 합니다. 다른 ESP8266 보드를 사용하는 경우 공식 문서를 참조하여 동일한 SPI 핀을 찾으십시오.
  • D8(CS) 핀은 ESP8266 보드의 어떤 핀으로도 설정할 수 있습니다.

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

LED 매트릭스를 제어하는 것은 간단한 작업이 아닙니다. 다행스럽게도, 이를 훨씬 쉽게 만들어 주는 라이브러리가 있습니다. LED 매트릭스를 제어하기 위해 ESP8266 코드를 작성하는 방법에 대한 단계별 가이드는 다음과 같습니다:

라이브러리 포함:

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

사용할 하드웨어 유형을 지정하십시오: GENERIC_HW 또는 FC16_HW.

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW

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

#define MAX_DEVICES 4

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

#define CS_PIN D8

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 매트릭스 디스플레이를 지웁니다 }

텍스트, 숫자 값, 그리고 애니메이션 효과를 표시하려면 다음 섹션을 참조하세요.

ESP8266 - LED 매트릭스 코드

이 코드는 4개 블록으로 구성된 32x8 FC-16 LED 매트릭스 디스플레이에 적합합니다. 이는 8x8, 16x8, 64x8과 같은 다른 크기로도 쉽게 적용될 수 있습니다.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-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 D8 // MD_Parola 클래스의 인스턴스를 생성합니다 MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // LED 매트릭스를 초기화합니다 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); }

사용 방법

ESP8266을 Arduino IDE에서 시작하려면 다음 단계를 따르세요:

  • ESP8266을 Arduino IDE에 설정하는 방법은 처음이시라면 ESP8266 소프트웨어 설치 튜토리얼을 확인하세요.
  • 도표에 표시된 대로 부품을 연결하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • 배선도에 표시된 대로 LED 매트릭스에 ESP8266을 연결하세요.
  • USB 케이블로 ESP8266을 PC에 연결하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • "MD_Parola"를 검색한 다음, MD_Parola 라이브러리를 찾으세요.
  • Install 버튼을 누르세요.
ESP8266 NodeMCU MD_Parola library
  • "MD_MAX72XX" 라이브러리를 설치하라는 요청을 받게 될 것입니다.
  • 의존성을 설치하려면 Install All 버튼을 클릭하세요.
ESP8266 NodeMCU MD_MAX72XX library
  • 메시지
  • 코드를 복사하여 아두이노 IDE로 열어주세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 ESP8266으로 업로드합니다.
  • LED 매트릭스가 메시지를 표시하는지 확인하세요.

ESP8266 LED 매트릭스 코드 - 스크롤 텍스트

메시지가 LED 매트릭스에 표시하기에 너무 길 경우, 스크롤 텍스트 효과를 사용할 수 있습니다. 이를 통해 전체 메시지를 볼 수 있습니다.

이 ESP8266 코드는 LED 매트릭스 디스플레이에서 메시지를 스크롤하는 방법을 보여줍니다.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-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 D8 // 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("ESP8266", 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!