Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số và phát triển đô thị thông minh (Smart City), các hệ thống hiển thị thông tin công cộng và bảng hiệu quảng cáo kỹ thuật số (Digital Signage) đóng vai trò cốt lõi trong truyền thông thị giác. Theo các báo cáo thị trường màn hình kỹ thuật số toàn cầu, nhu cầu hiển thị thông tin động độ nét cao, tương tác thời gian thực với mức tiêu thụ điện năng tối ưu đang tăng trưởng với tốc độ CAGR trên 8.5%/năm. Tuy nhiên, các biển báo LED ma trận truyền thống thường sử dụng vi điều khiển 8-bit/16-bit hạn chế về năng lực tính toán, nạp nội dung ngoại tuyến qua cổng USB/COM hoặc mạch chuyên dụng chi phí cao, thiếu khả năng tương tác trực tiếp và tùy biến linh hoạt.
Đề tài tốt nghiệp "Thiết kế và thi công hệ thống đồng hồ LED ma trận điều khiển bằng điện thoại" thuộc ngành Công nghệ Kỹ thuật Điện tử Truyền thông (Bộ môn Điện tử Công nghiệp – Y sinh, Trường Đại học Sư phạm Kỹ thuật TP.HCM) giải quyết bài toán hiển thị đa phương tiện đa nhiệm thời gian thực bằng việc ứng dụng kiến trúc vi điều khiển 32-bit ARM Cortex-M7 kết hợp truyền thông không dây kép Wi-Fi/Bluetooth.
+-----------------------------------+
| Ứng dụng Android (User UI/UX) |
+-----------------+-----------------+
|
+---------------+---------------+
| Wi-Fi (UDP) | Bluetooth 4.0 |
v v v
+---------------+ +-----------+ +---------------+
| NodeMCU | | BM3 Audio | | Cảm biến |
| ESP8266 | | Receiver | | Môi trường |
+-------+-------+ +-----+-----+ +-------+-------+
| UART | Audio | I2C/OneWire
v v v
+---------------------------------------------------------------+
| Khối xử lý trung tâm: STM32H743XIH6 (400 MHz) |
| - Xử lý đồ họa & Framebuffer (RGB 24-bit) |
| - Giải thuật biến đổi Fourier nhanh FFT âm thanh |
| - Quét LED ma trận song song 4 kênh qua GPIO tốc độ cao |
+-------------------------------+-------------------------------+
| Bus song song (1/16 Scan)
v
+-----------------------------------------------+
| Bảng LED Ma trận P5 Full-Color (256x128 px) |
| Ghép từ 16 tấm Module P5 Hub75 (98.304 LEDs) |
+-----------------------------------------------+
Mục tiêu dự án
- Thiết kế phần cứng hệ thống hiển thị LED ma trận Full-Color kích thước lớn: Xây dựng màn hình kích thước $128 \times 64 \text{ cm}$ (độ phân giải $256 \times 128 \text{ pixels}$, tương đương $32.768 \text{ điểm ảnh RGB}$ và $98.304 \text{ bóng LED}$) sử dụng 16 module P5 Indoor, đáp ứng tần số làm tươi (refresh rate) $\ge 60\text{ Hz}$ không giật nhấp nháy.
- Tối ưu hóa kiến trúc xử lý trung tâm: Khai thác vi điều khiển STM32H743XIH6 (ARM Cortex-M7 xung nhịp 400 MHz, 2MB Flash, 1MB RAM) để giải mã khung hình đa tầng, xử lý mảng đệm 3D (
Color[3][128][256]) và tính toán phổ âm thanh thời gian thực (Real-time Audio Spectrum FFT).
- Phát triển giao thức kết nối không dây tốc độ cao: Ứng dụng giao thức UDP không trạng thái trên nền Wi-Fi (NodeMCU ESP8266) và chuẩn truyền âm thanh Bluetooth 4.0/4.2 (Module BM3).
- Xây dựng ứng dụng di động Android chuyên dụng: Phát triển phần mềm Android tương tác đa chức năng: đồng hồ thời gian thực (RTC), chạy chữ tiếng Việt có dấu (Unicode UTF-8), vẽ hình trực tiếp (Paint Canvas), hiển thị ảnh BMP/GIF, video ngắn, trò chơi cổ điển (Tetris, Tank Battle) và chế độ nháy theo nhạc (Spectrum Analyzer).
- Tính toán và thiết kế hệ thống phân phối nguồn công suất: Thiết kế nguồn động $5\text{V} - 80\text{A}$ đảm bảo đáp ứng dòng tải đỉnh khi sáng toàn phần $100%$ độ sáng trắng mà không sụt áp.
Phạm vi và giới hạn đề tài
- Kích thước hiển thị: Cố định $256 \times 128 \text{ pixels}$ ghép từ ma trận $4 \times 4$ module P5 Hub75.
- Nền tảng di động: Hỗ trợ thiết bị chạy hệ điều hành Android (API Level 21 đến API Level 29).
- Phạm vi truyền thông: Kết nối Wi-Fi Access Point (AP) nội bộ trong bán kính $\le 30\text{ m}$, Bluetooth Audio $\le 10\text{ m}$.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Mạch điều khiển LED truyền thống (Card BX/HD) |
Hệ thống nhúng vi điều khiển thấp (ATmega/PIC/STM32F1) |
Giải pháp đề xuất (STM32H743 + ESP8266 + App Android) |
| Năng lực đồ họa |
Đơn sắc hoặc đa sắc cố định, nạp qua USB/RS232 |
RGB cơ bản, độ phân giải thấp ($64\times32$), tần số quét $<30\text{ Hz}$ |
Full-Color 16.7 triệu màu ($256\times128$), tần số quét $\ge 60\text{ Hz}$, xử lý đồ họa mượt mà |
| Giao thức điều khiển |
Phần mềm máy tính cồng kềnh, cấu hình phức tạp |
Nút bấm vật lý hoặc Bluetooth Serial chuỗi ASCII đơn giản |
App Android chuyên dụng qua Wi-Fi UDP (độ trễ $< 20\text{ ms}$), hỗ trợ Paint/Game/Video |
| Tính năng đa phương tiện |
Chỉ hiển thị chữ cuộn và đồng hồ số cơ bản |
Hiển thị chữ tiếng Việt không dấu, hình ảnh tĩnh nhỏ |
Chữ có dấu Unicode, Video, Game tương tác, Phổ âm thanh FFT nháy theo nhạc |
| Khả năng mở rộng |
Giới hạn theo firmware đóng của nhà sản xuất |
Hạn chế do tràn bộ nhớ RAM (RAM $\le 64\text{ KB}$) |
Rất cao nhờ 1MB RAM nội bộ + 400 MHz DSP, hỗ trợ DMA2D và FreeRTOS |
Yêu cầu người dùng theo mô hình MoSCoW
- Must Have (Bắt buộc): Hiển thị thời gian thực chính xác; kết nối Wi-Fi/Bluetooth ổn định; hiển thị văn bản tiếng Việt có dấu; giao diện đổi nội dung trực quan trên điện thoại; tần số quét chống rung mắt.
- Should Have (Nên có): Tùy chỉnh độ sáng bằng băm xung PWM; chế độ vẽ tự do thời gian thực (Paint); nháy LED đồng bộ phổ âm thanh AUX/Bluetooth.
- Could Have (Có thể có): Chế độ chơi game tương tác (Tetris, Tank) điều khiển bằng nút bấm ảo trên App; hiệu ứng chuyển cảnh văn bản (Scroll, Wipe, Fade).
- Won't Have (Chưa phát triển trong giai đoạn này): Đồng bộ dữ liệu đám mây Cloud IoT qua Internet ngoài mạng LAN; camera AI nhận diện người nhìn.
Thiết kế hệ thống
graph TD
subgraph Mobile_Layer ["Tầng Ứng Dụng (Android App)"]
UI["Giao diện Người dùng (UI Controls)"]
UDP_Client["UDP Client (Socket Data Packets)"]
BT_Audio["Bluetooth A2DP Audio Stream"]
UI --> UDP_Client
UI --> BT_Audio
end
subgraph Comm_Layer ["Tầng Truyền Thông"]
ESP["NodeMCU ESP8266 (Wi-Fi AP / UDP Server)"]
BM3["Module BM3 Bluetooth 4.0 Receiver"]
UDP_Client -- "Wi-Fi (UDP Port 8888)" --> ESP
BT_Audio -- "RF 2.4 GHz" --> BM3
end
subgraph Processing_Layer ["Tầng Xử Lý Trung Tâm (STM32H743XIH6 @ 400MHz)"]
UART_DMA["UART RX (DMA Buffer 115200 bps)"]
ADC_FFT["ADC 16-bit (Audio Sampling) + CMSIS-DSP FFT"]
FrameBuffer["3D Framebuffer: Color[3][128][256]"]
ScanEngine["Parallel Scan Engine (4 Channels x 6-bit RGB)"]
ESP -- "UART Protocol" --> UART_DMA
BM3 -- "Analog Audio L/R" --> PAM8403["Mạch Công Suất PAM8403 (6W)"]
BM3 -- "Analog Line-Out" --> ADC_FFT
UART_DMA --> FrameBuffer
ADC_FFT --> FrameBuffer
FrameBuffer --> ScanEngine
end
subgraph Display_Layer ["Tầng Hiển Thị (16x Module LED P5 Hub75)"]
ScanEngine -- "Row Address (A,B,C,D), CLK, LAT, OE" --> HUB75_Bus
ScanEngine -- "Data R1,G1,B1,R2,G2,B2 (Bank 1-4)" --> HUB75_Bus
HUB75_Bus --> Matrix["Màn hình LED P5 (256x128 Pixels)"]
end
Ngăn xếp công nghệ (Technology Stack)
- Bộ vi điều khiển chính: STM32H743XIH6 (Lõi 32-bit ARM Cortex-M7, 400 MHz, FPU kép, 2MB Flash, 1MB SRAM, DSP Instruction Set).
- Khối kết nối mạng: ESP8266-12E (Firmware viết trên Arduino IDE v1.8.13, ESP8266 Core v2.7.4, bộ nhớ Flash 4MB).
- Giao tiếp âm thanh: Module Bluetooth BM3 kết hợp IC khuếch đại Class-D PAM8403 (Hiệu suất $90%$, công suất ra $3\text{W} \times 2$ kênh tại tải $4\ \Omega$).
- Môi trường phát triển:
- STM32CubeMX v6.0.1 (Khởi tạo ngoại vi và sinh mã cấu hình xung clock/pinout).
- Keil MDK-ARM v5.30 (Trình biên dịch mã C/C++ tối ưu hóa cho ARM Cortex-M7).
- Android Studio v4.1 (Lập trình ứng dụng Java, Android SDK 29, Gradle v6.5).
Phân bổ bộ nhớ Framebuffer trên STM32H743
Hệ thống sử dụng ma trận $256 \times 128$ điểm ảnh RGB (24-bit TrueColor: 8-bit Red, 8-bit Green, 8-bit Blue).
$$\text{Dung lượng Framebuffer thô} = 256 \times 128 \times 3 \text{ Bytes} = 98.304 \text{ Bytes} \approx 96 \text{ KB}$$
Để tối ưu hóa thời gian quét song song 4 hàng độc lập với tốc độ cao, vi điều khiển tổ chức hai bộ đệm trong vùng nhớ TCM RAM (Tightly Coupled Memory - độ trễ truy xuất bằng 0 chu kỳ xung nhịp):
DATA_IN_BUFFER: Mảng 3 chiều uint8_t buffer_in[3][128][256] lưu trữ giá trị pixel thô từ nguồn dữ liệu (Text, Canvas, BMP).
DATA_OUT_BUFFER: Mảng ánh xạ phần cứng quét LED tỉ lệ 1/16 scan, định dạng xuất trực tiếp ra các thanh ghi GPIO Port B và Port C: uint8_t scan_buffer[16][COLOR_DEPTH][BYTES_PER_ROW].
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển Agile / V-Model kết hợp, chia làm 4 giai đoạn chính:
| Giai đoạn |
Thời gian |
Hạng mục thực hiện (Deliverables) |
Tiêu chí đánh giá (Milestones) |
| Phase 1: R&D & Thiết kế |
Tuần 1 - 4 |
Nghiên cứu chuẩn giao tiếp Hub75, thiết kế sơ đồ nguyên lý mạch nguồn và khối điều khiển trên Proteus/Altium. |
Hoàn thành sơ đồ schematic, mô phỏng thành công giao thức quét Hub75 trên STM32. |
| Phase 2: Thi công phần cứng |
Tuần 5 - 8 |
Gia công PCB 2 lớp, hàn linh kiện, lắp ráp khung sắt định hình 16 module P5, đấu nối hệ thống dây bus và nguồn $5\text{V}-80\text{A}$. |
Toàn bộ 16 tấm LED sáng đều, không sụt áp, module vi điều khiển nạp chạy ổn định. |
| Phase 3: Lập trình Firmware & App |
Tuần 9 - 13 |
Lập trình timer interrupt quét LED trên STM32; code firmware UDP trên ESP8266; xây dựng UI/UX Android Studio. |
App kết nối UDP thành công, đồng bộ đồng hồ, truyền chuỗi ký tự hiển thị không lỗi font. |
| Phase 4: Tích hợp & Kiểm thử |
Tuần 14 - 16 |
Tối ưu hóa thuật toán FFT nháy theo nhạc, xử lý độ trễ khung hình video/game, đo đạc độ ổn định nhiệt và dòng tải. |
Hệ thống hoạt động liên tục 24h không treo, tốc độ khung hình đạt $\ge 60\text{ FPS}$. |
Implementation và kết quả
Quá trình phát triển và thuật toán cốt lõi
1. Thuật toán quét ma trận LED Hub75 P5 tỉ lệ 1/16 Scan
Mỗi module P5 ($64 \times 32\text{ px}$) được chia thành hai nửa hiển thị song song: nửa trên (hàng $0 \div 15$) điều khiển bởi cụm chân $(R_1, G_1, B_1)$ và nửa dưới (hàng $16 \div 31$) điều khiển bởi cụm chân $(R_2, G_2, B_2)$. Bốn đường địa chỉ $A, B, C, D$ chọn đồng thời 1 cặp hàng trong 16 cặp hàng ($2^4 = 16$).
Hệ thống ghép 16 module thành ma trận $4 \times 4$. Vi điều khiển STM32H743 xuất dữ liệu song song ra 4 kênh dữ liệu độc lập (Bank 1 trên Port B, Bank 2 trên Port B/C, Bank 3 & 4 trên Port C) nhằm tối ưu hóa chu kỳ quét.
// Trích xuất mã nguồn xử lý quét hàng LED ma trận Hub75 trên STM32H743
// Sử dụng Timer Interrupt tần số cao (15.36 kHz) để đạt Refresh Rate 60 Hz cho 16 Scan Lines
void TIM2_IRQHandler(void) {
if (TIM2->SR & TIM_SR_UIF) {
TIM2->SR = &= ~TIM_SR_UIF; // Xóa cờ ngắt
// 1. Vô hiệu hóa ngõ ra hiển thị để tránh hiện tượng bóng mờ (Ghosting)
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // OE = LOW (Disable)
// 2. Chốt dữ liệu đã dịch ở chu kỳ trước ra thanh ghi output của ICN2028BP
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // LAT = HIGH
__NOP(); __NOP();
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // LAT = LOW
// 3. Thiết lập địa chỉ hàng mới (A, B, C, D) qua chân PA0 -> PA3
uint8_t current_row = current_scan_line & 0x0F;
GPIOA->ODR = (GPIOA->ODR & ~0x000F) | current_row;
// 4. Bật hiển thị hàng mới (OE = HIGH hoặc băm xung PWM điều khiển độ sáng)
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); // OE = HIGH (Enable)
// 5. Chuẩn bị dịch 256 bits dữ liệu cho chu kỳ quét kế tiếp
for (uint16_t col = 0; col < 256; col++) {
// Lấy dữ liệu màu từ mảng đệm đã tiền xử lý
uint32_t port_b_data = GpioBuffer_PortB[current_row][col];
uint32_t port_c_data = GpioBuffer_PortC[current_row][col];
GPIOB->ODR = port_b_data; // Xuất đồng thời R1, G1, B1, R2, G2, B2 cho Bank 1 & 2
GPIOC->ODR = port_c_data; // Xuất đồng thời R1, G1, B1, R2, G2, B2 cho Bank 3 & 4
// Kích xung Clock đẩy dữ liệu vào IC ghi dịch ICN2028BP
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET); // CLK = HIGH
__NOP();
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET); // CLK = LOW
}
// Tăng chỉ số dòng quét (0 -> 15)
current_scan_line = (current_scan_line + 1) & 0x0F;
}
}
2. Xử lý truyền gói tin UDP tốc độ cao trên ESP8266 và Android
Ứng dụng Android đóng gói dữ liệu điều khiển thành mảng byte với cấu trúc header cố định: [Header: 0xAA, 0x55] [Command_ID] [Data_Length: 2B] [Payload: N Bytes] [Checksum].
// Mã nguồn gửi gói tin UDP điều khiển từ ứng dụng Android Studio
public class UdpSenderTask extends AsyncTask<byte[], Void, Boolean> {
private static final String ESP_IP = "192.168.4.1";
private static final int ESP_PORT = 8888;
@Override
protected Boolean doInBackground(byte[]... params) {
byte[] payload = params[0];
try (DatagramSocket socket = new DatagramSocket()) {
InetAddress serverAddress = InetAddress.getByName(ESP_IP);
DatagramPacket packet = new DatagramPacket(payload, payload.length, serverAddress, ESP_PORT);
socket.send(packet);
return true;
} catch (IOException e) {
Log.e("UDP_ERROR", "Lỗi gửi gói tin: " + e.getMessage());
return false;
}
}
}
3. Thuật toán phân tích phổ âm thanh thời gian thực (Real-Time Audio Spectrum FFT)
Tín hiệu âm thanh ngõ ra từ module Bluetooth BM3 được đưa vào bộ khuếch đại PAM8403 phát ra loa $6\text{W}$, đồng thời trích 1 nhánh analog đưa vào chân ADC của STM32H743. Vi điều khiển lấy mẫu liên tục $N = 512 \text{ điểm}$ với tần số lấy mẫu $f_s = 44.1\text{ kHz}$ và thực thi thuật toán Fast Fourier Transform qua thư viện CMSIS-DSP:
$$X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2\pi}{N} k n}, \quad k = 0, 1, \dots, N-1$$
Biên độ năng lượng của $16\text{ dải tần số}$ (từ Sub-bass $20\text{ Hz}$ đến Treble $16\text{ kHz}$) được chuẩn hóa và ánh xạ trực tiếp thành các cột LED ma trận dạng dải sóng động (Dynamic Equalizer Bars) với tốc độ phản hồi $< 10\text{ ms}$.
Tín hiệu Audio Analog (từ BM3)
|
v
+----------------------------------+
| ADC 16-bit Lấy mẫu (fs = 44.1kHz)|
+----------------+-----------------+
| N = 512 Samples
v
+----------------------------------+
| CMSIS-DSP Radix-4 FFT Execution |
+----------------+-----------------+
| 256 Frequency Bins
v
+----------------------------------+
| Chia 16 Dải Tần (20Hz - 16kHz) |
+----------------+-----------------+
| Mapping Decibel -> Chiều cao LED
v
+----------------------------------+
| Render Lên 3D Framebuffer |
+----------------------------------+
Kiểm thử và đánh giá hiệu năng
+-------------------------------------------------------------------------+
| ĐÁNH GIÁ CHỈ SỐ HOẠT ĐỘNG HỆ THỐNG |
+------------------------------------+------------------------------------+
| Tần số quét LED (Refresh Rate) | 62.5 Hz (Không nhấp nháy Camera) |
| Độ trễ truyền lệnh (Wi-Fi UDP) | 12 - 18 ms |
| Thời gian tính toán 512-point FFT | 0.85 ms (ARM Cortex-M7 @ 400MHz) |
| Tỷ lệ rớt gói UDP (LAN nội bộ) | < 0.1% trong bán kính 15 mét |
| Dòng tiêu thụ thực tế (100% Trắng)| 41.98 A (Nguồn đáp ứng tối đa 80A)|
| Nhiệt độ PCB điều khiển sau 8h | 42.6 °C |
+------------------------------------+------------------------------------+
Kịch bản kiểm thử (Test Scenarios)
- Kiểm thử giao tiếp và độ bền kết nối: Gửi liên tục 10.000 gói tin UDP điều khiển màu sắc với chu kỳ $20\text{ ms/gói}$. Kết quả: $9.992\text{ gói}$ nhận thành công (tỷ lệ thành công $99.92%$).
- Kiểm thử đáp ứng dòng điện và công suất nguồn:
- Chế độ hiển thị đồng hồ và chữ: Dòng tiêu thụ dao động $4.5\text{A} \div 8.2\text{A}$.
- Chế độ toàn màn hình nhấp nháy theo nhạc (Peak load): Dòng tiêu thụ dao động $15.0\text{A} \div 28.5\text{A}$.
- Chế độ White Full Matrix Test ($100%$ độ sáng trắng): Dòng đo được là $41.98\text{A}$. Nhờ trang bị 2 bộ nguồn tổ ong $5\text{V}-40\text{A}$ mắc song song chia tải (tổng khả năng cung cấp $80\text{A} - 400\text{W}$), hệ thống hoạt động với hệ số an toàn $K_{\text{safe}} = 80 / 41.98 \approx 1.9$, không xảy ra hiện tượng sụt áp hay quá nhiệt biến áp.
Kết quả đạt được
- Phần cứng hoàn thiện: Hệ thống khung định hình $128 \times 64\text{ cm}$ chắc chắn, mặt nạ LED P5 phẳng đều, toàn bộ bo mạch điều khiển và nguồn $5\text{V}-80\text{A}$ tích hợp gọn gàng ở mặt sau.
- Tính năng phần mềm đáp ứng đầy đủ yêu cầu ban đầu:
- Đồng hồ số: Đồng bộ thời gian thực từ điện thoại hoặc duy trì chính xác qua nguồn pin Backup 3.3V.
- Chạy chữ tiếng Việt Unicode: Font chữ tiếng Việt hiển thị sắc nét, nhiều hiệu ứng cuộn mượt mà.
- Vẽ tự do (Paint Canvas): Chấm điểm trên màn hình cảm ứng điện thoại, LED ma trận sáng điểm tương ứng gần như tức thời (độ trễ $< 20\text{ ms}$).
- Trò chơi cổ điển: Chơi mượt mà game Xếp gạch (Tetris) và Bắn xe tăng (Tank Battle) với phím ảo trên điện thoại.
- Hiệu ứng âm thanh: Hệ thống loa $6\text{W}$ phát nhạc trong trẻo qua Bluetooth, dàn LED hiển thị phổ âm thanh nhảy đồng bộ theo nhịp điệu.
Đổi mới và đóng góp
Các điểm cải tiến kỹ thuật nổi bật
- Kiến trúc vi điều khiển hiệu năng cao STM32H743 thay thế vi điều khiển 8-bit truyền thống: Khai thác tối đa lõi ARM Cortex-M7 xung nhịp 400 MHz với tập lệnh DSP chuyên dụng, cho phép tính toán mảng ma trận lớn và biến đổi Fourier âm thanh trực tiếp mà không cần IC DSP ngoài.
- Kỹ thuật quét LED ma trận song song đa kênh (Parallel Multi-Bank Scanning): Thay vì quét tuần tự 16 module nối tiếp làm giảm tần số quét, nhóm phân chia 16 module thành 4 luồng song song xuất trực tiếp qua 2 cụm Port GPIO 32-bit (Port B và Port C). Tốc độ xuất khung hình tăng gấp $400%$ so với phương pháp truyền thống.
- Mô hình kết nối không dây phân lớp linh hoạt: Phân chia tác vụ truyền nhận lệnh điều khiển qua Wi-Fi UDP (băng thông lớn, độ trễ cực thấp) và truyền nhận âm thanh chất lượng cao qua Bluetooth A2DP, giúp người dùng vừa nghe nhạc vừa điều khiển bảng hiệu độc lập.
+--------------------------------------------------------------------------+
| SO SÁNH CÁC GIẢI PHÁP ĐỒ ÁN |
+--------------------+---------------------+-------------------------------+
| Đề tài nghiên cứu | Nền tảng phần cứng | Tính năng & Độ phân giải |
+--------------------+---------------------+-------------------------------+
| Trương Minh Châu | PIC/AVR 8-bit | Ma trận đơn sắc 64x32 |
| & Phan Tấn Kha | Bluetooth SPP | Chỉ hiển thị giờ & chữ cố định|
| (2018) | | |
+--------------------+---------------------+-------------------------------+
| Trần Châu Phong | STM32F103 (72MHz) | LED P10 3 màu (128x64) |
| & Nguyễn Minh Đức | App Android | Chạy chữ đơn giản |
| (2019) | UART / Bluetooth HC | Không hỗ trợ Video/Game/FFT |
+--------------------+---------------------+-------------------------------+
| ĐỒ ÁN HIỆN TẠI | STM32H743 (400MHz) | LED P5 Full-Color (256x128) |
| (Huỳnh Tấn Công & | ESP8266 + BM3 BT | Đa năng: Đồng hồ, Paint, |
| Trần Thanh Phú) | App Android UDP | Video, Game, Phổ FFT âm thanh |
+--------------------+---------------------+-------------------------------+
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tiễn (Real-World Use Cases)
- Bảng thông tin và quảng cáo kỹ thuật số tại sảnh tòa nhà, nhà hàng, quán cà phê: Hiển thị menu động, chương trình khuyến mãi, thông báo chào mừng linh hoạt đổi nội dung trong 5 giây qua smartphone mà không cần cắm cáp máy tính.
- Thiết bị giải trí và trang trí nội thất cao cấp: Đóng vai trò như một đồng hồ số nghệ thuật (Pixel Art Wall Clock), hiển thị ảnh động GIF, đồng bộ phát nhạc không dây từ smartphone và nháy LED theo giai điệu bài hát.
- Hệ thống bảng tin thông minh tại cơ quan, trường học: Cập nhật lịch học, thông báo khẩn cấp, nhiệt độ môi trường, kết nối trực tiếp vào mạng Wi-Fi nội bộ của đơn vị.
Hướng dẫn triển khai và lắp đặt hệ thống
QUY TRÌNH TRIỂN KHAI HỆ THỐNG
[1. Lắp ráp Cơ khí] ---> [2. Đấu nối Nguồn & Bus] ---> [3. Kết nối Wi-Fi] ---> [4. Điều khiển App]
Ghép 16 tấm P5 vào Đấu dây bus Hub75 4 Bank; Bật nguồn; smartphone Mở App Android, nhập
khung sắt 128x64 cm Cấp nguồn tổ ong 5V-40A x2 kết nối Wi-Fi ESP8266 nội dung Text/Canvas
(SSID: "LED_MATRIX_AP") và truyền tức thời
- Yêu cầu phần cứng:
- Điện áp đầu vào: $220\text{V AC} \pm 10%$, $50/60\text{ Hz}$.
- Khung bảo vệ: Khung hợp kim nhôm định hình hoặc thép hộp mạ kẽm tiêu chuẩn chống nước IP43.
- Cấu hình phần mềm:
- Cài đặt tệp tin
LEDMatrixController.apk trên điện thoại Android (phiên bản $\ge 5.0$).
- Kết nối Wi-Fi của điện thoại vào Access Point do ESP8266 phát (Mặc định IP:
192.168.4.1, Cổng UDP: 8888).
- Mở ứng dụng, chọn tab chức năng tương ứng (Đồng hồ / Chữ / Vẽ / Video / Game / Âm nhạc) và nhấn "Gửi dữ liệu".
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Màn hình P5 có bước chấm $5\text{ mm}$, tối ưu cho khoảng cách quan sát từ $3 \div 10\text{ m}$; khi nhìn ở cự ly quá gần ($< 1.5\text{ m}$) các điểm ảnh riêng lẻ vẫn có thể nhận thấy được.
- Ứng dụng điều khiển hiện mới phát triển cho hệ điều hành Android, chưa có phiên bản tương thích iOS (Swift/Flutter).
- Chưa tích hợp giao thức nạp nội dung qua Web Server trực tiếp trên trình duyệt hoặc điều khiển qua hạ tầng đám mây Internet (Cloud MQTT).
Hướng phát triển trong tương lai
- Nâng cấp phần cứng hiển thị: Chuyển đổi sang module LED ma trận P2.5 hoặc P3 để tăng mật độ điểm ảnh lên gấp $2 \div 4$ lần trong cùng một diện tích khung viền.
- Tích hợp cảm biến môi trường thông minh: Gắn thêm cảm biến nhiệt độ/độ ẩm SHT30/DHT22 và cảm biến bụi mịn PM2.5 để tự động hiển thị thông tin chất lượng không khí.
- Phát triển nền tảng quản trị trung tâm đa thiết bị: Xây dựng Web Dashboard và ứng dụng di động đa nền tảng (Flutter) điều khiển hàng loạt bảng LED ma trận qua giao thức MQTT/HTTP RESTful.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+--------------------+----------------------------------------------------+
| Sinh viên | Tài liệu mẫu hoàn chỉnh về tích hợp ARM Cortex-M7 |
| Điện tử - Viễn thông| quét LED Hub75 và phân tích phổ âm thanh FFT. |
+--------------------+----------------------------------------------------+
| Kỹ sư nhúng | Kiến trúc mẫu quét GPIO song song nhiều Bank, |
| (Embedded Devs) | tối ưu hóa bộ nhớ Framebuffer trên RAM TCM tốc độ cao|
+--------------------+----------------------------------------------------+
| Doanh nghiệp | Giải pháp bảng quảng cáo chi phí sản xuất thấp |
| Quảng cáo & F&B | (~3-4 triệu VNĐ), tùy biến nội dung tức thì qua App|
+--------------------+----------------------------------------------------+
| Nhà nghiên cứu | Dữ liệu đo đạc thực nghiệm về hiệu suất nguồn LED |
| IoT / DSP | và truyền thông dữ liệu thời gian thực qua UDP/Wi-Fi|
+--------------------+----------------------------------------------------+
Câu hỏi thường gặp (FAQ)
1. Yêu cầu kỹ thuật phần cứng để triển khai hệ thống là gì?
Hệ thống yêu cầu nguồn điện lưới dân dụng $220\text{V AC}$, bộ đổi nguồn kép chuyển đổi sang dòng một chiều $5\text{V DC} \ge 60\text{A}$ (khuyến nghị dùng 2 nguồn tổ ong $5\text{V}-40\text{A}$), 16 tấm module P5 Indoor chuẩn Hub75, bo mạch điều khiển STM32H743XIH6 kết hợp module Wi-Fi ESP8266 và module âm thanh Bluetooth BM3/PAM8403.
2. Giới hạn độ phân giải tối đa mà STM32H743 có thể điều khiển là bao nhiêu?
Với xung nhịp 400 MHz và 1MB RAM nội bộ, STM32H743XIH6 có thể mở rộng điều khiển ma trận LED kích thước lên tới $512 \times 256\text{ pixels}$ (gấp 4 lần kích thước hiện tại) trong khi vẫn duy trì tần số làm tươi $\ge 45\text{ Hz}$ nếu áp dụng cơ chế DMA song song kết hợp ngoại vi FMC (Flexible Memory Controller).
3. Hệ thống có thể tích hợp với các hệ thống quản lý có sẵn không?
Hoàn toàn có thể. Do ESP8266 hỗ trợ giao thức mạng TCP/IP và UDP chuẩn, hệ thống có thể dễ dàng nhận chuỗi dữ liệu JSON hoặc chuỗi nhị phân từ các hệ thống điều hành tòa nhà thông minh (BMS), máy chủ Web Server nội bộ hoặc cổng IoT Gateway thông qua giao thức MQTT.
4. Chi phí linh kiện và thời gian thu hồi vốn (ROI) như thế nào?
Tổng chi phí linh kiện gia công phần cứng khoảng $3.200.000 \div 3.800.000\text{ VNĐ}$ (thấp hơn $50%$ so với việc mua màn hình LED chuyên dụng nhập khẩu có tính năng tương đương). Đối với các cơ sở kinh doanh F&B hoặc dịch vụ bán lẻ, việc tự động hóa thay đổi biển quảng cáo giúp tiết kiệm chi phí in ấn decal/hiflex hàng tháng, ước tính thu hồi vốn đầu tư trong vòng $3 \div 5\text{ tháng}$.
5. Khi mất nguồn đột ngột, hệ thống có bị sai lệch giờ không?
Không. Hệ thống được trang bị pin nuôi nguồn phụ CR2032/3.3V kết nối trực tiếp vào chân VBAT của STM32H743, duy trì khối đồng hồ thời gian thực (Internal Hardware RTC) hoạt động liên tục trong vòng $3 \div 5\text{ năm}$ ngay cả khi ngắt hoàn toàn nguồn điện chính.
Kết luận
Đề tài "Thiết kế và thi công hệ thống đồng hồ LED ma trận điều khiển bằng điện thoại" đã giải quyết thành công bài toán tích hợp hệ thống nhúng đa nhiệm công suất lớn. Việc kết hợp sức mạnh xử lý 400 MHz của dòng vi điều khiển 32-bit cao cấp ARM Cortex-M7 (STM32H743) cùng công nghệ kết nối không dây kép Wi-Fi/Bluetooth đã tạo ra một sản phẩm hiển thị đa phương tiện Full-Color $256 \times 128\text{ pixels}$ hoàn chỉnh, độ thẩm mỹ cao, độ trễ phản hồi thấp và tính ứng dụng thực tiễn vượt trội.
Công trình không chỉ là tài liệu tham khảo kỹ thuật chuyên sâu cho sinh viên và kỹ sư ngành Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Máy tính và IoT trong việc làm chủ kỹ thuật điều khiển ma trận Hub75, xử lý tín hiệu số DSP âm thanh và lập trình ứng dụng Android điều khiển phần cứng, mà còn mở ra tiềm năng thương mại hóa lớn trong lĩnh vực quảng cáo thông minh và thiết bị nội thất số thời đại công nghệ 4.0.