Arduino UNO R4 LED Matrix

Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng Arduino UNO R4 với các module màn hình LED matrix bên ngoài. Cụ thể, chúng ta sẽ học:

Sau đó, bạn có thể dễ dàng sửa đổi code cho các LED matrix khác như LED matrix 16x8 hoặc 64x8.

Arduino UNO R4 LED matrix

Nếu bạn muốn học về cách sử dụng Arduino R4 với LED Matrix tích hợp sẵn, vui lòng tham khảo Arduino UNO R4 - Ma Trận LED Tích Hợp

Phần Cứng Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Dây Jumper
1×DC Power Jack
1×Adapter Nguồn 5V cho Arduino UNO R4
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về LED Matrix

LED matrix màn hình

Có nhiều loại LED Matrix khác nhau. LED matrix dựa trên MAX7219 được sử dụng phổ biến với Arduino UNO R4. LED matrix này bao gồm một số đặc điểm:

  • Thành phần cơ bản của LED matrix được gọi là block (khối).
  • Mỗi block chứa lưới LED 8x8, tổng cộng 64 LED, và được điều khiển bởi chip MAX7219.
  • Có hai loại block chính: module thông thường và module FC-16.
  • LED matrix có thể chỉ có một block hoặc được mở rộng bằng cách kết nối nhiều block lại với nhau như một chuỗi.
  • Bạn có thể mua LED matrix đã có nhiều block được kết nối sẵn, chẳng hạn như cấu hình 4-block hoặc 8-block.
  • Hoặc bạn có thể mua từng block riêng lẻ và tự kết nối chúng để tạo LED matrix với kích thước bạn cần.
  • Trong chương trình Arduino UNO R4, bạn phải chỉ định kích thước của LED matrix mà bạn đang sử dụng.

Sơ Đồ Chân

LED matrix sơ đồ chân

LED Matrix được tạo thành từ một hoặc nhiều block. Mỗi block có hai nhóm chân:

  • Nhóm Chân Đầu Vào:
    • VCC: Kết nối với 5V.
    • GND: Kết nối với GND.
    • DIN: Đây là chân Data. Kết nối với chân SPI MOSI trên Arduino UNO R4.
    • CS: Chip Select. Kết nối với bất kỳ chân digital nào trên Arduino UNO R4.
    • CLK: Chân Clock. Kết nối với chân SPI CLK trên Arduino UNO R4.
  • Nhóm Chân Đầu Ra:
    • VCC: Kết nối với VCC trên module tiếp theo.
    • GND: Kết nối với GND trên module tiếp theo.
    • DOUT: Data Out. Kết nối với chân DIN trên module tiếp theo.
    • CS: Kết nối với CS trên module tiếp theo.
    • CLK: Kết nối với CLK trên module tiếp theo.

Sơ Đồ Kết Nối

Nếu LED matrix chỉ gồm một block:

  • Kết nối nhóm chân đầu vào với Arduino UNO R4.
  • Để nhóm chân đầu ra không kết nối.
Arduino UNO R4 8x8 LED matrix fc-16 sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Arduino UNO R4 8x8 LED matrix generic sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu LED matrix được lắp ráp sẵn thành nhiều block:

  • Kết nối nhóm chân đầu vào với Arduino UNO R4.
  • Để nhóm chân đầu ra không kết nối.
Arduino UNO R4 LED matrix màn hình sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu bạn lắp ráp LED matrix từ nhiều phần:

  • Kết nối nhóm chân đầu vào của block đầu tiên với Arduino UNO R4.
  • Kết nối nhóm chân đầu ra của mỗi block với nhóm chân đầu vào của block tiếp theo.
  • Để nhóm chân đầu ra của block cuối cùng không kết nối.
Arduino UNO R4 32x8 LED matrix wiring fc-16 diagram

This image is created using Fritzing. Click to enlarge image

Arduino UNO R4 32x8 LED matrix wiring generic diagram

This image is created using Fritzing. Click to enlarge image

Màn hình sử dụng rất nhiều điện, lên đến 1 ampere ở độ sáng tối đa.

  • Tránh sử dụng chân 5V trên Arduino UNO R4 để cấp điện.
  • Thay vào đó, hãy kết nối nguồn 5V bên ngoài. Arduino UNO R4 và LED matrix đều có thể được cấp điện bởi cùng một adapter 5V.

Arduino UNO R4 kết nối với LED matrix sử dụng chân SPI.

  • Sử dụng chân 13 (SCK) và 11 (MOSI) trên Arduino UNO R4. Nếu sử dụng bo mạch Arduino UNO R4 khác, hãy xem hướng dẫn chính thức cho các chân SPI tương ứng.
  • Bạn có thể sử dụng bất kỳ chân nào khác cho Pin 3 (CS).

Cách Lập Trình Cho LED Matrix

Điều khiển LED matrix có thể phức tạp. May mắn thay, có các thư viện giúp đơn giản hóa nhiệm vụ này. Dưới đây là các bước để lập trình Arduino UNO R4 điều khiển LED matrix.

  • Include thư viện:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Chọn loại phần cứng bạn đang sử dụng: GENERIC_HW hoặc FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Xác định số lượng block LED được sử dụng. Ví dụ, LED matrix 4-in-1 chứa 4 block.
#define MAX_DEVICES 4
  • Đặt chân kết nối với chân CS trên LED matrix. Ví dụ, sử dụng chân D9.
#define CS_PIN 9
  • Tạo một phiên bản mới của class MD_Parola cho màn hình LED matrix.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Thiết lập code trong hàm setup().
void setup() { ledMatrix.begin(); // Khởi tạo LED matrix ledMatrix.setIntensity(0); // Đặt độ sáng màn hình (phạm vi 0-15) ledMatrix.displayClear(); // Xóa màn hình hiển thị }
  • Hiển thị văn bản, số, và hiệu ứng động: xem phần tiếp theo.

Arduino UNO R4 - Code LED Matrix

Code được cung cấp dành cho màn hình LED matrix FC-16 32x8 với bốn block. Tuy nhiên, nó có thể được sửa đổi cho các kích thước khác như 8x8, 16x8, 64x8, v.v.

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 9 // The Arduino UNO R4 pin connected to the CS pin of LED matrix // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // display text delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // display text inverted delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // display number delay(2000); }

Các Bước Nhanh

Thực hiện theo các hướng dẫn này từng bước:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối bo mạch Arduino Uno R4 với LED matrix theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi chạy Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Trong Arduino IDE, nhấp vào biểu tượng Libraries ở thanh bên trái.
  • Tìm kiếm "MD_Parola" và định vị thư viện MD_Parola.
  • Nhấp nút Install.
Arduino UNO R4 md_parola thư viện
  • Bạn cần cài đặt thư viện MD_MAX72XX. Vui lòng nhấp nút Install All.
Arduino UNO R4 md_max72xx thư viện
  • Sao chép code ở trên và mở nó bằng Arduino IDE.
  • Nhấp nút Upload trong Arduino IDE để tải code lên Arduino UNO R4.
  • Quan sát màn hình hiển thị trên LED matrix.

Arduino UNO R4 Code LED Matrix – Text Cuộn

Khi bạn cần hiển thị thông điệp dài trên màn hình LED matrix và nó quá dài để vừa với màn hình, bạn có thể sử dụng hiệu ứng text cuộn.

Code Arduino UNO R4 này minh họa cách làm cho thông điệp cuộn qua màn hình LED matrix.

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 9 // The Arduino UNO R4 pin connected to the CS pin of LED matrix // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display ledMatrix.displayScroll("Hello, DIYables", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Để xem thêm các hiệu ứng text, hãy truy cập Tài Liệu Tham Khảo Thư Viện MD_Parola.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bài hướng dẫn liên quan