Arduino Ma trận LED
Màn hình ma trận LED, còn được biết đến với tên gọi là màn hình LED, hoặc màn hình ma trận điểm, được sử dụng rộng rãi. Trong bài hướng dẫn này, chúng ta sẽ học:
- Ma trận LED
- Cách kết nối Arduino với ma trận LED 8x8
- Cách kết nối Arduino với ma trận LED 32x8
- Cách kết nối Arduino để hiển thị chữ và số và các hiệu ứng động trên ma trận LED
Sau đó, bạn có thể dễ dàng điều chỉnh mã cho các ma trận LED khác như ma trận LED 16x8, ma trận LED 64x8, ...
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | FC-16 LED Matrix 32x8 | ||
| 1 | × | FC-16 LED Matrix 8x8 | ||
| 1 | × | Generic LED Matrix 8x8 | ||
| 1 | × | dây jumper | ||
| 1 | × | DC Power Jack | ||
| 1 | × | 5V Power Adapter for Arduino | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Ma trận LED

Có nhiều loại ma trận LED. Với Arduino, ma trận LED dựa trên MAX7219 được sử dụng rộng rãi. Ma trận LED dựa trên MAX7219 có các đặc điểm sau:
- Một đơn vị cơ sở của ma trận LED là một khối
- Mỗi khối có một ma trận LED 8x8 (64 LED) và một bộ điều khiển MAX7219
- Có hai dạng khối phổ biến: mô-đun chung và mô-đun FC-16
- Một ma trận LED có thể được cấu thành từ một khối duy nhất hoặc nhiều khối theo chuỗi mắc nối tiếp
- Bạn có thể mua ma trận LED nhiều khối được chế tạo sẵn (ví dụ 4-in-1, 8-in-1)
- Bạn cũng có thể mua nhiều khối và nối chúng lại với nhau để tạo thành ma trận LED có kích thước mong muốn
- Bạn sẽ khai báo kích thước của ma trận LED bạn đang sử dụng trong mã Arduino
Sơ đồ các chân

Một ma trận LED được hình thành từ một khối duy nhất hoặc nhiều khối. Mỗi khối bao gồm hai nhóm chân:
- Nhóm chân vào:
- VCC: được kết nối với 5V.
- GND: được kết nối với GND.
- DIN là chân Dữ liệu, kết nối nó với chân MOSI SPI của Arduino.
- CS: Chọn chip, kết nối nó với bất kỳ chân số nào trên Arduino.
- CLK: Chân đồng hồ, kết nối nó với chân CLK SPI của Arduino.
- Nhóm chân 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: Dữ liệu ra, kết nối với chân DIN của 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ơ đồ đấu dây
Nếu ma trận LED được làm từ một khối duy nhất:
- Kết nối các nhóm chân đầu vào với Arduino
- Để nhóm chân đầu ra không được nối

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Nếu ma trận LED được lắp ráp sẵn thành nhiều khối:
- Kết nối các nhóm chân đầu vào với Arduino
- Để nhóm chân đầu ra ở trạng thái chưa được kết nối

This image is created using Fritzing. Click to enlarge image
Nếu ma trận LED được làm từ nhiều khối do chính bạn tự làm:
- Kết nối các nhóm chân đầu vào của khối đầu tiên với Arduino
- Kết nối các nhóm chân ra của mỗi khối với các nhóm chân đầu vào của khối tiếp theo
- Để các nhóm chân ra của khối cuối cùng không được kết nối

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Vì màn hình tiêu thụ nhiều dòng điện (lên tới 1 A ở độ sáng tối đa):
- Không được sử dụng nguồn từ pin 5V của Arduino.
- Thay vào đó, sử dụng nguồn cấp 5V bên ngoài. Arduino và ma trận LED có thể dùng chung nguồn từ một bộ nguồn 5V.
Vì Arduino kết nối với ma trận LED thông qua các chân SPI:
- Pin 13 (SCK) và 11 (MOSI) trên Arduino Uno phải được sử dụng. Nếu bạn đang sử dụng một bảng Arduino khác, hãy kiểm tra tài liệu chính thức để biết các chân SPI tương đương.
- Chân 3 (CS) có thể đổi sang bất kỳ chân nào
Cách Lập Trình Cho Ma Trận LED
Việc điều khiển ma trận LED không dễ. May mắn thay, có sẵn các thư viện giúp cho việc này trở nên dễ dàng. Dưới đây là hướng dẫn từng bước về cách viết mã Arduino để điều khiển ma trận LED.
- Bao gồm các thư viện:
- Xác định phần cứng đang được sử dụng: GENERIC_HW hoặc FC16_HW.
- Xác định có bao nhiêu khối LED được sử dụng. Ví dụ, một ma trận LED 4 trong 1 có 4 khối.
- Định nghĩa chân kết nối với chân CS của ma trận LED. Ví dụ, chân D3
- Tạo một thể hiện mới của lớp MD_Parola cho màn hình ma trận LED.
- Mã trong hàm setup():
- Hiển thị văn bản và số, đồng thời hiển thị hiệu ứng động: xem phần tiếp theo
Arduino - Mã ma trận LED
Mã dưới đây dành cho ma trận LED FC-16 32x8 (4 khối). Tuy nhiên, bạn có thể dễ dàng điều chỉnh nó để dùng với 8x8, 16x8, 64x8...
Hướng dẫn từng bước
- Kết nối Arduino với ma trận LED như sơ đồ đấu nối ở trên
- Kết nối Arduino với máy tính bằng cáp USB
- Đi tới biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
- Tìm kiếm “MD_Parola”, sau đó tìm thư viện MD_Parola
- Nhấn vào nút Cài đặt.

- Bạn sẽ được yêu cầu cài đặt thư viện MD_MAX72XX làm phụ thuộc. Nhấp nút Cài đặt Tất cả.

- Sao chép mã phía trên và mở nó bằng Arduino IDE
- Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Xem màn hình ma trận LED
Mã Ma trận LED Arduino – Văn bản chạy
Khi bạn muốn hiển thị một tin nhắn dài quá mức để vừa với màn hình ma trận LED, bạn có thể sử dụng kỹ thuật hiệu ứng cuộn chữ.
Mã Arduino dưới đây cho thấy cách cuộn một thông điệp trên màn hình ma trận LED.
Để xem thêm các hiệu ứng chữ, vui lòng tham khảo MD_Parola Library Reference.
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.