아두이노 나노 - 블루투스 LED 매트릭스 | Arduino Nano - Bluetooth LED Matrix

이 튜토리얼은 Arduino Nano를 사용하여 스마트폰을 통해 Bluetooth 또는 BLE로 LED 매트릭스 디스플레이를 제어하는 방법을 안내합니다.

우리는 클래식 블루투스(블루투스 2.0)용 HC-05와 블루투스 저에너지(BLE, 블루투스 4.0)용 HM-10, 두 가지 다른 모듈 중에서 선택할 수 있을 것입니다. 이 튜토리얼은 아두이노 나노와 함께 두 모듈 모두에 대한 단계별 지침을 제공할 것입니다.

스마트폰에서 아두이노 나노로 메시지를 보내려면 Bluetooth Serial Monitor App을 사용할 것입니다. 메시지가 아두이노 나노에 의해 수신되면, LED 매트릭스 디스플레이에 표시될 것입니다.

Arduino Nano LED matrix display Bluetooth

자세히 배우게 될 내용은 다음과 같습니다:

준비물

1×Arduino Nano Amazon
1×USB A to Mini-B USB cable 쿠팡 | Amazon
1×HC-05 Bluetooth Module Amazon
1×(Alternative) HM-10 BLE Module Amazon
1×LED matrix display Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Nano Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED 매트릭스 디스플레이 및 블루투스 모듈에 대하여

이 튜토리얼을 시작하기 전에, LED 매트릭스 디스플레이와 블루투스 모듈, 그리고 그것들의 핀아웃, 작동 방법, 프로그래밍 방법에 대한 일반적인 이해가 있어야 합니다. 이러한 개념에 익숙하지 않다면, 더 많은 정보를 위해 다음 튜토리얼을 확인해 주세요:

선연결

클래식 블루투스를 통해 LED 매트릭스 디스플레이를 제어하려면 HC-05 블루투스 모듈을 사용하고 아래의 연결도에 따라 아두이노 나노에 연결할 수 있습니다:

Arduino Nano LED matrix display Bluetooth wiring diagram

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

BLE를 통해 LED 매트릭스 디스플레이를 제어하려면, 아래의 배선도에 따라 HM-10 블루투스 모듈이 아두이노 나노와 연결되어야 합니다:

Arduino Nano LED matrix display BLE wiring diagram

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

Arduino 나노 코드 - 블루투스/BLE를 통해 LED 매트릭스 디스플레이 제어

코드는 HC-10 Bluetooth 모듈과 HM-10 BLE 모듈 모두에 사용할 수 있습니다. 변경할 필요가 없습니다.

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-bluetooth-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #include <SoftwareSerial.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 블록 #define CS_PIN 3 // LED 매트릭스의 CS 핀에 연결된 아두이노 나노 핀 #define SOFT_RX 4 // 블루투스 모듈의 TX에 연결된 아두이노 나노 핀 #define SOFT_TX 5 // 블루투스 모듈의 RX에 연결된 아두이노 나노 핀 SoftwareSerial bluetooth(SOFT_RX, SOFT_TX); // MD_Parola 클래스의 인스턴스를 생성합니다 MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { Serial.begin(9600); bluetooth.begin(9600); ledMatrix.begin(); // 객체를 초기화합니다 ledMatrix.setIntensity(0); // LED 매트릭스 디스플레이의 밝기를 설정합니다 (0에서 15까지) ledMatrix.displayClear(); // LED 매트릭스 디스플레이를 지웁니다 } void loop() { if (bluetooth.available()) { // 데이터가 오는 경우 String text = bluetooth.readStringUntil('\n'); // 줄바꿈 문자를 만날 때까지 문자열을 읽습니다 ledMatrix.displayClear(); // led 매트릭스 디스플레이를 지웁니다 ledMatrix.displayScroll(text.c_str(), PA_CENTER, PA_SCROLL_LEFT, 100); bluetooth.print("LED Matrix displayed: ");// 스마트폰 앱에 작업을 보고합니다 bluetooth.println(text); } if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

사용 방법

  • Arduino IDE의 왼쪽 바에서 Libraries 아이콘을 클릭하세요.
  • “MD_Parola”를 검색하고 MD_Parola 라이브러리를 찾으세요.
  • 그런 다음, Install 버튼을 클릭하세요.
Arduino Nano MD_Parola library
  • “MD_MAX72XX” 라이브러리를 설치하라는 요청을 받게 될 것입니다.
  • 의존성을 설치하려면 Install All 버튼을 클릭하세요.
Arduino Nano MD_MAX72XX library
  • 스마트폰에 블루투스 시리얼 모니터 앱을 다운로드하세요.
  • 주어진 코드를 가져와서 Arduino IDE로 엽니다. 코드를 Arduino Nano에 업로드하세요. 코드를 업로드하는데 문제가 있다면, 블루투스 모듈의 TX와 RX 핀을 분리한 후 코드를 업로드하고, 그 다음 다시 RX/TX 핀을 연결해보세요.
  • 스마트폰에서 블루투스 시리얼 모니터 앱을 실행하세요.
  • 사용 중인 모듈에 따라 클래식 블루투스 또는 BLE 중에서 선택하세요.
Bluetooth Serial Monitor App
  • 블루투스 앱을 HC-05 블루투스 모듈 또는 HM-10 BLE 모듈에 연결하세요.
Bluetooth Serial Monitor pairing

메시지를 입력하세요. 예를 들어 “HELLO” 같은 메시지를 입력한 후, SEND 버튼을 눌러 아두이노 나노로 전송하세요.

Bluetooth Serial Monitor App

LED 행렬 디스플레이와 Bluetooth 앱에 표시된 메시지를 확인하세요.

Android 앱에서 결과를 확인하세요.

Bluetooth Serial Monitor App

Bluetooth Serial Monitor 앱이 유용하다고 생각하신다면, Play 스토어에서 5성급 평가를 남겨주시는 시간을 가져주세요. 여러분의 피드백을 매우 소중하게 생각합니다! 감사합니다!

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!