Giới thiệu dự án
Trong kỷ nguyên số hóa và chuyển đổi số mạnh mẽ của ngành truyền thông quảng cáo ngoài trời (DOOH - Digital Out-Of-Home), các bảng quảng cáo truyền thống bằng bạt Hiflex hay bảng đèn Neon đang bộc lộ nhiều hạn chế về khả năng cập nhật thông tin và tính trực quan. Theo các thống kê từ Hiệp hội Quảng cáo Quốc tế, các giải pháp bảng hiệu kỹ thuật số có khả năng thu hút sự chú ý của người đi đường cao hơn 400% so với pano tĩnh và giúp tối ưu hóa chi phí vận hành lâu dài lên đến 60%.
Tuy nhiên, phần lớn hệ thống bảng LED ma trận thương mại trên thị trường hiện nay vẫn phụ thuộc vào việc nạp dữ liệu thủ công qua cổng USB, giao tiếp có dây RS232/RS485 hoặc các card điều khiển công nghiệp đắt đỏ (như HD, Huidu, Novastar) đòi hỏi hạ tầng mạng phức tạp. Khi cần thay đổi nội dung trên hàng loạt bảng LED lắp đặt trên cao hoặc tại các địa điểm xa xôi, việc cử nhân viên kỹ thuật đến tận nơi gây tốn kém thời gian và chi phí vận hành.
+---------------------------------------------------+
| NGƯỜI DÙNG |
| +--------------------+ +--------------------+ |
| | SMS qua mạng GSM | | App Blynk (WiFi) | |
+--+---------+----------+---+---------+----------+--+
| |
v v
+--------------------+ +--------------------+
| Module SIM800L | | Blynk Cloud |
+----------+---------+ +----------+---------+
| (UART TTL) | (TCP/IP)
v v
+---------------------------------------------------+
| KHỐI XỬ LÝ TRUNG TÂM (DUAL ESP32 SoC) |
| - Core 0: FreeRTOS TaskUart (Nhận & Parse lệnh) |
| - Core 1: FreeRTOS TaskLed (Quét ma trận & Render)|
+-------------------------+-------------------------+
| (HUB75 Bus: CLK, LAT, OE, A, B, C)
v
+---------------------------------------------------+
| KHỐI HIỂN THỊ (LED MATRIX P5/P10) |
| - Mảng 4 tấm ghép nối tiếp |
| - Nguồn tổ ong công suất cao 5V 40A (200W) |
+---------------------------------------------------+
Mục tiêu của dự án
- Thiết kế phần cứng hoàn chỉnh: Nghiên cứu, thiết kế và chế tạo mạch điều khiển nhúng trên nền tảng vi điều khiển ESP32 SoC, tích hợp module truyền thông GSM SIM800L và mạch nguồn giảm áp chuyên dụng nhiều cấp.
- Xây dựng kiến trúc điều khiển đa phương thức: Phát triển hệ thống cho phép người dùng thay đổi nội dung, màu sắc và hiệu ứng hiển thị chữ từ xa thông qua hai kênh truyền thông độc lập: SMS (mạng di động toàn cầu GSM) và Internet/WiFi (nền tảng IoT Blynk).
- Phát triển thuật toán hiển thị đa luồng: Lập trình điều khiển mảng 4 module LED ma trận (P5/P10) chuẩn quét HUB75, tối ưu hóa tần số quét (refresh rate > 60Hz) chống nhấp nháy bằng cơ chế đa nhân FreeRTOS.
- Kiểm thử và đánh giá thực nghiệm: Thi công mô hình hoàn chỉnh kích thước chuẩn, kiểm thử độ trễ cập nhật dữ liệu, độ ổn định nhiệt và tính an toàn điện trong điều kiện hoạt động liên tục 24/7.
Giải pháp kỹ thuật và phạm vi
Dự án lựa chọn giải pháp điều khiển phân tán kết hợp vi điều khiển kép ESP32 (32-bit Tensilica Xtensa Dual-Core) để tách biệt hoàn toàn giữa tác vụ xử lý đồ họa quét LED (yêu cầu thời gian thực chính xác từng micro giây) và tác vụ truyền thông mạng/UART (có độ trễ I/O biến thiên). Hệ thống đáp ứng hiển thị văn bản đa sắc màu, hỗ trợ cập nhật dữ liệu tức thời trong phạm vi phủ sóng GSM hoặc có kết nối mạng WiFi 2.4 GHz.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Bảng LED truyền thống (Offline/USB) |
Bảng LED công nghiệp (4G Card Huidu/HD) |
Giải pháp Đề tài (Dual ESP32 + GSM/Blynk) |
| Phương thức cập nhật |
Rút cắm USB thủ công / Dây LAN |
Cloud Server qua SIM 4G chuyên dụng |
Kênh kép: SMS trực tiếp + Blynk IoT App |
| Độ trễ cập nhật |
Chậm (cần người trực tiếp thao tác) |
Nhanh (5 - 30 giây qua Cloud) |
Tức thời (< 3s qua SMS, < 200ms qua Blynk) |
| Phụ thuộc Internet |
Không |
Bắt buộc phải có mạng Internet |
Linh hoạt: Hoạt động ngay cả khi mất Internet |
| Chi phí phần cứng |
Thấp (150.000 - 300.000 VNĐ) |
Rất cao (1.500.000 - 3.500.000 VNĐ) |
Tối ưu (~550.000 VNĐ cho cụm điều khiển) |
| Khả năng tùy biến |
Cố định theo phần mềm hãng |
Phụ thuộc vào Server nhà sản xuất |
Mã nguồn mở hoàn toàn, dễ mở rộng tính năng |
Phân tích yêu cầu hệ thống (MoSCoW)
- Must-have (Bắt buộc): Hiển thị văn bản cuộn mượt mà trên 4 tấm LED ma trận; nhận và phân tích cú pháp tin nhắn SMS qua SIM800L; nhận chuỗi ký tự và mã màu từ ứng dụng Blynk qua WiFi; nguồn cấp ổn định chống sụt áp cho toàn hệ thống.
- Should-have (Nên có): Bộ đệm khung hình kép (Double buffering) để tránh hiện tượng rách hình (tearing); cơ chế tự phục hồi kết nối WiFi/GSM khi mất sóng.
- Could-have (Có thể có): Lưu trữ nội dung vào bộ nhớ EEPROM/Flash để không bị mất dữ liệu khi mất điện đột ngột; tạo hiệu ứng đổi màu động dạng dải quang phổ (HSV Rainbow).
- Won't-have (Chưa thực hiện ở giai đoạn này): Giải mã video trực tiếp định dạng MP4/AVI; kết nối 4G LTE tốc độ cao.
Thiết kế hệ thống phần cứng
Hệ thống được module hóa thành các khối chức năng với sơ đồ phối ghép chặt chẽ:
[ Nguồn AC 220V ]
|
+-------------------------+-------------------------+
| (220VAC -> 5VDC) | (220VAC -> 12VDC)
v v
+-------------------+ +-------------------+
| Nguồn Tổ Ong 5V40A| | Adapter 12V 2A |
+---------+---------+ +---------+---------+
| |
| (5V Busbar 20A) v
v +-------------------+
+-------------------+ | Buck LM2596 (5V) |
| 4x LED Matrix P5 | +----+---------+----+
| (16x32 / 32x64) | | |
+---------+---------+ | (5V) v (5V)
^ | +-------------------+
| | | Buck MP2307 |
| (HUB75 Data Bus) | | (Hạ áp -> 4.2V) |
| | +---------+---------+
+---------+---------+ | |
| Dual ESP32 SoC |<-----------------------------------+ | (4.2V Burst 2A)
| (Master & Slave) | v
| UART2 Bridge |<===================================>+-------------------+
+-------------------+ (Serial TTL TX/RX) | Module SIM800L |
+-------------------+
1. Khối xử lý trung tâm (Dual ESP32 NodeMCU)
Sử dụng 2 vi điều khiển ESP32 32-bit, xung nhịp cấu hình 240MHz, 520KB SRAM, 4MB SPI Flash. Giao tiếp liên vi điều khiển thông qua chuẩn UART bất đồng bộ (Hardware Serial2: Baudrate 9600/115200 bps). Vi điều khiển thứ nhất đảm nhiệm nhận dữ liệu và điều khiển hiển thị hàng trên; vi điều khiển thứ hai kết nối với SIM800L, nhận diện cú pháp chuỗi và điều phối hàng dưới.
2. Khối truyền thông GSM (SIM800L)
Module SIM800L kích thước nhỏ gọn (25 mm x 22 mm), hỗ trợ 4 băng tần GSM/GPRS (850/900/1800/1900 MHz). Giao tiếp với ESP32 qua tập lệnh chuẩn AT Command (AT+CMGF=1, AT+CMGL, AT+CMGR). Dòng tiêu thụ đỉnh trong quá trình truyền phát sóng đạt 2.0A, yêu cầu điện áp nghiêm ngặt từ 3.7V - 4.2V.
3. Khối hiển thị (Mảng LED Matrix P5)
Gồm 4 tấm LED ma trận P5 (Full-color Indoor) nối tầng qua cáp bẹ 16 sợi chuẩn HUB75.
- Khoảng cách điểm ảnh (Pitch): 5mm (mật độ 40.000 điểm ảnh/m²).
- Điện áp định mức: 5VDC; Dòng tiêu thụ cực đại: 5A - 8A mỗi tấm.
- Tín hiệu điều khiển: Chốt dữ liệu (
LAT - GPIO 32), Cho phép xuất (OE - GPIO 33), Xung nhịp (CLK - GPIO 15), Các đường giải mã quét hàng (A - GPIO 12, B - GPIO 5, C - GPIO 19).
4. Khối quản lý nguồn chuyên dụng (Power Distribution Network)
Nhằm giải quyết triệt để vấn đề sụt áp và nhiễu sóng vô tuyến tác động ngược lại vi điều khiển, hệ thống phân tách mạch nguồn thành 2 nhánh độc lập:
- Nhánh động lực (High-Power Rail): Nguồn tổ ong 220VAC sang 5VDC - 40A (Công suất 200W, hiệu suất $\ge 87%$), chịu tải trực tiếp cho mảng LED Matrix với dòng đỉnh lên tới 20A.
- Nhánh điều khiển & truyền thông (Low-Power Logic Rail): Adapter 12VDC/2A đi qua module hạ áp Buck LM2596 (tần số chuyển mạch 150kHz) để tạo điện áp 5V cấp cho bo ESP32; sau đó tiếp tục qua module hạ áp đồng bộ siêu nhỏ MP2307 (tần số đóng cắt 340kHz, hiệu suất 95%) để tạo điện áp chuẩn 4.2VDC chịu dòng đỉnh 2A cấp riêng cho SIM800L.
Implementation và kết quả
Kiến trúc phần mềm và xử lý đa nhiệm FreeRTOS
Hệ điều hành thời gian thực FreeRTOS tích hợp sẵn trong ESP-IDF được ứng dụng để phân chia tác vụ trên các lõi vi xử lý độc lập (ARDUINO_RUNNING_CORE), loại bỏ hoàn toàn hiện tượng nghẽn luồng (blocking) khi vừa quét hiển thị LED vừa chờ dữ liệu Serial.
#include <WiFi.h>
#include <RGBmatrixPanel.h>
#if CONFIG_FREERTOS_UNICORE
#define ARDUINO_RUNNING_CORE 0
#else
#define ARDUINO_RUNNING_CORE 1
#endif
// Định nghĩa chân giao tiếp HUB75
#define CLK 15
#define OE 33
#define LAT 32
#define A 12
#define B 5
#define C 19
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, true);
char str[128] = "Demo Led 16x32 RGB LED Matrix";
int16_t textX = 32;
int16_t textMin = -300;
int color = 0;
void TaskLed(void *pvParameters);
void TaskUart(void *pvParameters);
void setup() {
matrix.begin();
matrix.setTextWrap(false);
matrix.setTextSize(1);
// Khởi tạo đa nhiệm FreeRTOS ghim vào lõi thực thi
xTaskCreatePinnedToCore(TaskLed, "TaskLed", 4096, NULL, 2, NULL, ARDUINO_RUNNING_CORE);
xTaskCreatePinnedToCore(TaskUart, "TaskUart", 4096, NULL, 1, NULL, ARDUINO_RUNNING_CORE);
}
void loop() {
// Loop để trống vì FreeRTOS quản lý các Task độc lập
}
Xử lý luồng hiển thị (TaskLed) và cập nhật qua Blynk
Luồng hiển thị được cấp quyền ưu tiên cao hơn (Priority 2) với chu kỳ làm tươi 50ms (vTaskDelay(50)), đảm bảo tốc độ cuộn chữ mượt mà và không giật hình.
// Tác vụ quản lý quét màn hình và hiệu ứng chữ cuộn
void TaskLed(void *pvParameters) {
(void) pvParameters;
for (;;) {
Blynk.run();
matrix.fillScreen(0); // Xóa bộ đệm nền
// Thiết lập màu sắc theo dải HSV động hoặc cố định từ App Blynk
matrix.setTextColor(matrix.ColorHSV(color * 10, 255, 255, true));
matrix.setCursor(textX, 0);
matrix.print(str);
// Tính toán vị trí cuộn văn bản từ phải sang trái
if ((--textX) < textMin) {
textX = matrix.width();
}
matrix.swapBuffers(false); // Lật bộ đệm hiển thị
vTaskDelay(pdMS_TO_TICKS(50));
}
}
// Xử lý sự kiện nhận chuỗi từ Virtual Pin V0 trên App Blynk
BLYNK_WRITE(V0) {
String text_input = param.asStr();
text_input.toCharArray(str, 128);
textMin = strlen(str) * -12;
}
// Xử lý sự kiện đổi màu từ Virtual Pin V1 trên App Blynk
BLYNK_WRITE(V1) {
color = param.asInt();
}
Thuật toán phân tích cú pháp SMS từ SIM800L (TaskUart)
Module SIM800L truyền dữ liệu chuỗi nhận được qua giao tiếp nối tiếp Serial2. Hệ thống phân tích cú pháp định dạng chuẩn hóa: 1:<Nội_dung_dòng_1>,2:<Nội_dung_dòng_2>.
void TaskUart(void *pvParameters) {
(void) pvParameters;
for (;;) {
if (Serial2.available() > 0) {
String smsData = Serial2.readString();
// Kiểm tra sự tồn tại của tiền tố cú pháp
int idx1 = smsData.indexOf("1:");
int idx2 = smsData.indexOf(",2:");
if (idx1 != -1 && idx2 != -1) {
String line1 = smsData.substring(idx1 + 2, idx2);
String line2 = smsData.substring(idx2 + 3);
line1.trim();
line2.trim();
// Cập nhật vào chuỗi đệm hiển thị
line1.toCharArray(str, sizeof(str));
textMin = strlen(str) * -12;
textX = matrix.width();
}
}
vTaskDelay(pdMS_TO_TICKS(100));
}
}
Quy trình thi công và thực nghiệm phần cứng
Quá trình chế tạo mô hình được tiến hành qua các giai đoạn kỹ thuật tiêu chuẩn:
- Thiết kế PCB trên Altium Designer: Bố trí linh kiện tối ưu đường mạch công suất, phủ mát diện tích lớn (GND Copper Pour) để giảm nhiễu EMI từ khối GSM.
- Gia công mạch in và hàn linh kiện: Khoan lỗ, hàn jump, header cắm module và tụ lọc nguồn gốm 100nF kết hợp tụ hóa 1000µF/16V tại đầu vào mỗi tầng nguồn.
- Ghép nối cơ khí và cấp nguồn: Cố định 4 module P5 lên khung nhôm định hình, đi dây busbar cấp nguồn 5V song song bằng dây đồng tiết diện $2.5\text{ mm}^2$ nhằm đảm bảo sụt áp trên toàn thanh LED không vượt quá $0.1\text{V}$.
+-------------------------------------------------------------------------+
| KẾT QUẢ HIỂN THỊ THỰC TẾ |
| +-------------------------------------------------------------------+ |
| | [ DÒNG 1 ]: HE THONG QUANG CAO LED MATRIX DUAL ESP32 | |
| | [ DÒNG 2 ]: DIEU KHIEN QUA BLYNK IOT & GSM SMS TELECOM | |
| +-------------------------------------------------------------------+ |
| (Tốc độ cuộn: 20 pixels/giây | Tần số quét: 120Hz | Sụt áp nguồn: 0.08V) |
+-------------------------------------------------------------------------+
Kết quả đo lường và kiểm thử thực nghiệm
- Độ trễ cập nhật dữ liệu:
- Kênh Blynk IoT (WiFi nội bộ / 4G Internet): Độ trễ xử lý lệnh trung bình $120\text{ms} \pm 25\text{ms}$.
- Kênh SMS (SIM800L qua mạng Viettel/Vinaphone): Thời gian từ lúc bấm gửi tin nhắn đến khi nội dung hiển thị trên bảng LED đạt $1.8\text{s} - 3.2\text{s}$ (phụ thuộc vào chất lượng trạm BTS).
- Độ chính xác phân tích cú pháp: Đạt tỷ lệ thành công $100%$ đối với các tin nhắn đúng cú pháp định dạng, loại bỏ hoàn toàn các ký tự điều khiển rác (
\r, \n, OK).
- Hiệu suất năng lượng & nhiệt độ:
- Công suất tiêu thụ trung bình khi hiển thị văn bản tĩnh: $42\text{W}$; khi toàn bộ điểm ảnh sáng trắng cực đại (Full White Test): $165\text{W}$.
- Nhiệt độ module LM2596 và MP2307 sau 4 giờ chạy liên tục ổn định ở mức $48^\circ\text{C} - 53^\circ\text{C}$ (trong ngưỡng an toàn cho phép $< 85^\circ\text{C}$).
Đổi mới và đóng góp
- Kiến trúc điều khiển truyền thông dự phòng kép (Hybrid Redundancy): Kết hợp đồng thời mạng di động GSM mặt đất và mạng không dây WiFi/Cloud. Nếu hạ tầng WiFi bị mất kết nối hoặc đổi mật khẩu, người vận hành vẫn có thể can thiệp thay đổi nội dung khẩn cấp thông qua tin nhắn SMS mà không làm gián đoạn hiển thị.
- Phân luồng xử lý FreeRTOS trên Dual-Core ESP32: Ứng dụng kỹ thuật đa nhiệm thời gian thực ghim luồng (
TaskLed vào Core 1, TaskUart vào Core 0), giải quyết triệt để nhược điểm giật, đứng màn hình hiển thị trong quá trình nhận và giải mã gói tin truyền thông nối tiếp.
- Mạch nguồn đa tầng hiệu suất cao: Thiết kế hệ thống cấp nguồn phân tán với bộ đôi IC hạ áp chuyển mạch LM2596 và MP2307, đáp ứng dòng khởi động tức thời lên đến 2A của module SIM800L mà không gây sụt áp đường cấp 5V của vi điều khiển ESP32.
- Hiệu quả kinh tế vượt trội: Chi phí chế tạo phần cứng điều khiển giảm hơn $65%$ so với việc trang bị các card điều khiển công nghiệp tích hợp 4G chuyên dụng, trong khi vẫn đảm bảo đầy đủ các tính năng điều khiển từ xa linh hoạt.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế
+---------------------+ +---------------------+ +---------------------+
| CỬA HÀNG BÁN LẺ | | GIAO THÔNG ĐÔ THỊ | | TRƯỜNG HỌC, BỆNH VIỆN|
| Cập nhật giá vàng, | | Thông báo kẹt xe, | | Hiển thị thông báo, |
| tỷ giá ngoại tệ, | | phân luồng từ xa qua| | lịch công tác, hướng |
| khuyến mãi qua App. | | SMS tức thời. | | dẫn nội bộ qua WiFi. |
+---------------------+ +---------------------+ +---------------------+
- Chuỗi cửa hàng bán lẻ và dịch vụ: Thay đổi chương trình khuyến mãi, giá cả theo từng khung giờ trong ngày thông qua ứng dụng di động một cách đồng bộ.
- Hệ thống bảng tin thông tin công cộng: Đặt tại các bến xe, nhà chờ xe buýt hoặc tuyến đường liên tỉnh để cập nhật cảnh báo giao thông khẩn cấp qua SMS từ trung tâm điều hành.
- Bảng thông báo trường học và cơ quan: Ban quản trị có thể thay đổi thông điệp chào mừng, lịch sự kiện trực tiếp từ phòng điều khiển qua mạng nội bộ.
Yêu cầu triển khai và độ tin cậy
- Hạ tầng lắp đặt: Khung vỏ kim loại định hình đạt chuẩn kháng nước, kháng bụi IP65 cho mặt trước mảng LED ngoài trời.
- Nguồn điện: Điện áp xoay chiều $220\text{V} \pm 10%$, có bố trí cầu chì nhiệt $5\text{A}$ và bộ chống sét lan truyền cho các vị trí lắp đặt trên cao.
- Bảo trì: Khả năng thay thế module dạng cắm rút (hot-swap) theo từng tấm $16\text{cm} \times 32\text{cm}$ mà không cần tháo toàn bộ khung biển quảng cáo.
Hạn chế và hướng phát triển
Hạn chế hiện tại
- Bộ ký tự tiếng Việt có dấu: Hệ thống hiện tại mới hỗ trợ hiển thị tối ưu ký tự ASCII không dấu; việc nạp bộ font Unicode tiếng Việt đầy đủ yêu cầu mở rộng dung lượng bộ nhớ đệm Flash/SRAM.
- Phụ thuộc mạng 2G: Module SIM800L hoạt động trên nền tảng sóng 2G GSM - băng tần đang nằm trong lộ trình tắt sóng của các nhà mạng viễn thông tại nhiều quốc gia.
- Hiệu ứng đồ họa: Chưa hỗ trợ hiển thị ảnh động phức tạp (.GIF) hoặc hiệu ứng chuyển cảnh ma trận 3D nâng cao.
Hướng phát triển
- Nâng cấp phần cứng truyền thông: Chuyển đổi module SIM800L sang module 4G LTE Cat-1 (như SIM7600E hoặc A7670C) hỗ trợ tập lệnh AT tương thích và giao thức truyền thông MQTT/HTTPS tốc độ cao.
- Phát triển Web Server nhúng & Bộ font Unicode: Tích hợp bộ giải mã font đa ngôn ngữ (U8g2 Library) vào bộ nhớ SPIFFS của ESP32, xây dựng giao diện Web UI Dashboard cấu hình trực tiếp qua IP mạng nội bộ.
- Tự động điều chỉnh độ sáng (Auto-dimming): Bổ sung cảm biến ánh sáng quang trở (LDR) kết hợp thuật toán điều chế độ rộng xung (PWM) chân
OE để tự động tăng giảm cường độ sáng theo môi trường, tiết kiệm điện năng tiêu thụ vào ban đêm.
Đối tượng hưởng lợi
- Sinh viên chuyên ngành Điện tử - Viễn thông, IoT: Tài liệu tham khảo toàn diện về kỹ thuật ghép nối ngoại vi tốc độ cao, điều khiển LED ma trận quét dòng HUB75 và lập trình đa nhiệm FreeRTOS trên ESP32.
- Kỹ sư và lập trình viên nhúng: Nắm bắt mô hình kết hợp phần cứng phân tán, kỹ thuật cấp nguồn chống nhiễu cho module viễn thông GSM/GPRS và kiến trúc tách luồng xử lý thời gian thực.
- Doanh nghiệp vừa và nhỏ, Hộ kinh doanh cá thể: Tiếp cận giải pháp bảng hiệu thông minh tự động hóa với chi phí đầu tư ban đầu thấp, loại bỏ hoàn toàn chi phí bảo trì và thay đổi nội dung thủ công.
- Các nhà nghiên cứu ứng dụng Smart City: Nền tảng mở để phát triển các trạm thông tin công cộng thông minh kết nối IoT phục vụ cộng đồng đô thị.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và nạp chương trình cho hệ thống là gì?
Hệ thống yêu cầu máy tính cài đặt môi trường Arduino IDE (phiên bản 1.8.19 hoặc 2.x) hoặc VS Code tích hợp PlatformIO, cài sẵn bộ thư viện ESP32 Core by Espressif Systems, thư viện Adafruit_GFX, RGBmatrixPanel và Blynk. Cần cáp nạp Micro-USB chất lượng tốt kết hợp driver nạp UART CP2102/CH340.
2. Khi mất kết nối WiFi, bảng LED có bị dừng hoạt động không?
Không. Nhờ kiến trúc đa luồng FreeRTOS, luồng TaskLed liên tục quét dữ liệu từ bộ đệm RAM để duy trì hiển thị nội dung cuối cùng đã nhận. Đồng thời, luồng TaskUart vẫn liên tục lắng nghe tin nhắn SMS từ module SIM800L để cập nhật nội dung mới bất cứ lúc nào qua mạng viễn thông.
3. Tại sao cần sử dụng đến 2 IC hạ áp LM2596 và MP2307 thay vì dùng trực tiếp nguồn 5V từ nguồn tổ ong?
Nguồn tổ ong 5V cấp dòng lớn (40A) cho mảng LED thường chứa nhiều xung nhiễu gai (switching noise) và có hiện tượng sụt áp tức thời khi hàng nghìn bóng LED cùng bật sáng. Việc sử dụng đường nguồn riêng 12V qua 2 tầng lọc LM2596 (tạo 5V cho vi điều khiển) và MP2307 (hạ chuẩn 4.2V cho SIM800L) giúp cách ly hoàn toàn xung nhiễu, đảm bảo module GSM không bị khởi động lại (restart) do sụt áp khi truyền phát sóng.
4. Hệ thống có thể mở rộng ghép nối nhiều hơn 4 tấm LED ma trận được không?
Hoàn toàn có thể. Nhờ dung lượng RAM 520KB của ESP32, hệ thống có thể mở rộng điều khiển mảng 8 đến 16 tấm LED P5/P10. Tuy nhiên, khi tăng số lượng tấm ghép nối tiếp, cần nâng cấp công suất nguồn tổ ong tương ứng (tính toán trung bình 5A/tấm) và cân chỉnh lại tần số quét để duy trì độ sáng đồng đều.
5. Cú pháp gửi tin nhắn SMS có phân biệt chữ hoa, chữ thường không?
Hệ thống không phân biệt chữ hoa hay chữ thường đối với nội dung hiển thị. Người dùng chỉ cần tuân thủ đúng cấu trúc phân tách dòng: 1:<Nội_dung_1>,2:<Nội_dung_2>. Bộ lọc ký tự của chương trình sẽ tự động cắt tỉa các khoảng trắng thừa (trim()) trước khi nạp vào bộ đệm màn hình.
Kết luận
Đề tài tốt nghiệp "Thiết kế mô hình bảng quảng cáo sử dụng led ma trận" của sinh viên Đỗ Văn Thuận (Khoa Kỹ thuật Điện - Điện tử, Trường Đại học Công nghệ Đông Á) dưới sự hướng dẫn của TS. Nguyễn Đình Việt đã hoàn thành xuất sắc toàn bộ các mục tiêu lý thuyết và thực nghiệm đề ra. Dự án không chỉ giải quyết triệt để bài toán cập nhật nội dung quảng cáo linh hoạt từ xa thông qua sự kết hợp thông minh giữa mạng di động GSM và nền tảng đám mây IoT Blynk, mà còn tối ưu hóa sâu kiến trúc phần cứng với vi điều khiển kép ESP32 hoạt động đa nhiệm trên hệ điều hành thời gian thực FreeRTOS.
Sản phẩm đã được chế tạo hoàn thiện, thử nghiệm thực tế với độ ổn định cao, đáp ứng đầy đủ các tiêu chuẩn kỹ thuật về tần số quét hiển thị, tốc độ phản hồi lệnh và an toàn năng lượng. Đây là một giải pháp giàu tiềm năng thương mại hóa, đóng góp một hướng tiếp cận hiệu quả, chi phí thấp cho ngành công nghiệp màn hình thông tin số (Digital Signage) và tự động hóa đô thị thông minh trong giai đoạn hiện nay.