Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và tự động hóa công nghiệp, nhu cầu truyền tải thông tin trực quan theo thời gian thực tại các không gian công cộng, nhà xưởng và trung tâm thương mại đang tăng trưởng mạnh mẽ với tốc độ dự kiến đạt hơn 12.8% CAGR toàn cầu trong ngành kỹ thuật số ngoài trời (DOOH). Các phương thức quảng cáo truyền thống bằng panô, áp phích in bạt tĩnh đang bộc lộ hàng loạt rào cản: chi phí tái sản xuất tốn kém, không thể cập nhật nội dung linh hoạt từ xa, và hoàn toàn bất động về mặt hiệu ứng thị giác.

Vấn đề cốt lõi đặt ra đối với các doanh nghiệp vừa và nhỏ cũng như các đơn vị quản lý vận hành là: Làm thế nào để xây dựng một hệ thống bảng điện tử quang báo full-color có khả năng tùy biến thông điệp tức thời, hỗ trợ hiển thị tiếng Việt có dấu hoàn chỉnh, giao tiếp ổn định với máy tính điều khiển nhưng vẫn tối ưu hóa chi phí phần cứng và dễ dàng bảo trì? Hầu hết các bo mạch thương mại trên thị trường hiện nay sử dụng firmware đóng (closed-source), phụ thuộc vào phần mềm bên thứ ba và khó tích hợp vào các hệ thống nhúng tự động hóa chuyên biệt.

Đồ án tốt nghiệp "Mạch quang báo sử dụng kit Arduino" giải quyết bài toán trên bằng cách phát triển hệ thống bảng quang báo ma trận LED Full-color P10 (16x64 pixel), kết hợp vi điều khiển ATmega2560 và phần mềm điều khiển trực quan lập trình trên C# (.NET Framework).

+------------------+      UART (USB / TTL)      +----------------------+
|  Giao diện PC    | ------------------------>  | Arduino Mega 2560    |
|  (C# WinForms)   |   Protocol: Frame 8-bit    | (ATmega2560 @ 16MHz) |
+------------------+                            +----------+-----------+
                                                           |
                                               HUB75 Bus   | (A,B,C, R1,G1,B1,
                                               Interface   |  R2,G2,B2, CLK,LAT,OE)
                                                           v
                                                +----------------------+
                                                | 2x Module P10 RGB    |
                                                | (16x64 LED Matrix)   |
                                                | Quét 1/4 (HUB75)     |
                                                +----------------------+

Mục tiêu cụ thể của dự án

  1. Nghiên cứu kiến trúc phần cứng: Khai thác nền tảng vi điều khiển ATmega2560 (16 MHz, 256 KB Flash, 8 KB SRAM) để quản lý bộ đệm khung hình ma trận điểm ảnh.
  2. Nghiên cứu bộ font Tiếng Việt có dấu: Xây dựng ma trận điểm ảnh (bitmap font 16x8 và 16x16) mã hóa ký tự Unicode/UTF-8 tiếng Việt hiển thị rõ nét trên cấu trúc 16 hàng quét.
  3. Thiết kế phần cứng và ghép tầng hiển thị: Ghép nối 2 module LED P10 Full-color (16x32 pixel/module) thành bảng hiển thị kích thước 16x64 pixel qua giao tiếp chuẩn HUB75.
  4. Xây dựng giao diện máy tính (GUI): Lập trình ứng dụng trên C# Visual Studio, cho phép người dùng nhập nội dung, chọn bảng màu RGB, cấu hình hiệu ứng (đứng yên, dịch trái, nhấp nháy) và truyền dữ liệu qua UART/COM port.
  5. Đánh giá và tối ưu năng lượng: Tính toán và tích hợp nguồn switching (nguồn tổ ong) 5V/40A, kiểm soát dòng tải cực đại 15.36A và khử hiện tượng bóng ma (ghosting) khi quét hiển thị.

Phạm vi và giới hạn

  • Phạm vi: Hệ thống hoàn chỉnh gồm phần cứng bảng hiển thị 16x64 pixel trong nhà (Indoor), mạch điều khiển vi xử lý và phần mềm máy tính tương thích Windows OS.
  • Giới hạn kỹ thuật: Hệ thống quét dòng tỷ lệ 1/4 scan; kết nối trực tiếp qua chuẩn giao tiếp UART/USB có dây; hỗ trợ các hiệu ứng cơ bản (Marquee trái, tĩnh, chớp tắt); độ sâu màu cơ bản theo bảng màu kỹ thuật số 3-bit/8 màu.

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 Bảng Pano / Áp phích tĩnh Card thương mại (HD-U60 / BX) Giải pháp Arduino Mega 2560 (Đề tài)
Tính linh hoạt nội dung Cố định, phải in lại Thay đổi qua USB/App đóng Thay đổi tức thời qua phần mềm tùy biến C#
Chi phí phần cứng Thấp ban đầu, đắt dài hạn Trung bình ($25 - $45/card) Rất thấp, mã nguồn mở ($10 - $15)
Hỗ trợ Tiếng Việt Không áp dụng Phụ thuộc font máy tính Tối ưu hóa ma trận ký tự có dấu trực tiếp
Khả năng mở rộng API Không Bị khóa giao thức nhà sản xuất Mở hoàn toàn, dễ tích hợp IoT/SCADA
Độ trễ cập nhật Tính theo ngày Tính theo phút Real-time (< 200 ms)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Hiển thị tiếng Việt có dấu không lỗi dấu mũ; giao tiếp ổn định qua cổng COM với baud rate chuẩn; quét hiển thị không giật hình (tần số quét refresh rate > 60 Hz); bảo vệ quá dòng cổng nạp vi điều khiển.
  • Should have (Nên có): Chức năng lưu lịch sử bản tin truyền nhận trên GUI; tính năng tự động tìm kiếm và kết nối cổng COM khả dụng; hiệu ứng chạy chữ mượt mà từng pixel (1-pixel step shift).
  • Could have (Có thể mở rộng): Tùy chỉnh tốc độ trượt chữ nhiều cấp độ; tích hợp hiển thị đồng hồ thời gian thực (RTC DS3231).
  • Won't have (Chưa thực hiện ở giai đoạn này): Kết nối không dây Wi-Fi/Bluetooth; streaming video hoặc đồ họa động đa sắc độ xám 24-bit.

Thiết kế hệ thống

Cấu trúc phần cứng và sơ đồ nguyên lý

Module LED P10 Full-color 16x32 được cấu tạo từ các thành phần bán dẫn chuyên dụng tích hợp trên bo mạch:

  • IC giải mã địa chỉ dòng 74HC138: Giải mã nhị phân 3 đường địa chỉ $A, B, C$ thành 8 đường điều khiển quét hàng tích cực mức thấp, phối hợp cùng mạng transistor công suất P-Channel MOSFET FDS4953 để đóng/ngắt nguồn cho các hàng LED.
  • IC ghi dịch và đệm dữ liệu TLC5926 / 74HC595: Nhận dữ liệu nối tiếp (Serial Data) và chuyển đổi thành đầu ra song song (Parallel Data) điều khiển các chân cathode của LED RGB.
  • IC đệm 74HC245 (Octal Bus Transceiver): Nâng dòng điều khiển và ổn định mức logic TTL từ vi điều khiển trước khi đưa vào các đường bus dữ liệu dài của tấm LED.
                    SƠ ĐỒ CHÂN KẾT NỐI HUB75 VÀ ARDUINO MEGA 2560
               +--------------------------------------------------+
               | Arduino Mega 2560            HUB75 Connector     |
               | -----------------            ---------------     |
               | Pin 24 (PORTA2)  --------->  Pin 1  (R1 - Red T) |
               | Pin 25 (PORTA3)  --------->  Pin 2  (G1 - Grn T) |
               | Pin 26 (PORTA4)  --------->  Pin 3  (B1 - Blu T) |
               | GND              --------->  Pin 4  (GND)        |
               | Pin 27 (PORTA5)  --------->  Pin 5  (R2 - Red B) |
               | Pin 28 (PORTA6)  --------->  Pin 6  (G2 - Grn B) |
               | Pin 29 (PORTA7)  --------->  Pin 7  (B2 - Blu B) |
               | GND              --------->  Pin 8  (GND)        |
               | Pin 22 (PORTA0)  --------->  Pin 9  (A - Row 0)  |
               | Pin 23 (PORTA1)  --------->  Pin 10 (B - Row 1)  |
               | Pin 10 (PORTB4)  --------->  Pin 11 (C - Row 2)  |
               | N/C              --------->  Pin 12 (D - N/C)    |
               | Pin 11 (PORTB5)  --------->  Pin 13 (CLK-Clock)  |
               | Pin 12 (PORTB6)  --------->  Pin 14 (LAT-Latch)  |
               | Pin 13 (PORTB7)  --------->  Pin 15 (OE - Enable)|
               | GND              --------->  Pin 16 (GND)        |
               +--------------------------------------------------+

Tính toán công suất và tải dòng nguồn nuôi

  • Module P10 Full-color sử dụng bóng SMD 2835 RGB với mật độ điểm ảnh 10.000 điểm/$m^2$.
  • Công suất tiêu thụ danh định cực đại: $P_{max} = 750\text{ W}/m^2$.
  • Diện tích 1 module ($16\text{ cm} \times 32\text{ cm} = 0.0512\text{ m}^2$): chứa $16 \times 32 = 512$ điểm ảnh.
  • Công suất cực đại của 1 điểm ảnh (sáng đồng thời 3 màu R, G, B ở độ sáng 100%): $$P_{pixel} = \frac{750\text{ W}}{10000} = 0.075\text{ W}$$
  • Công suất cực đại cho bảng 2 module ($16 \times 64 = 1024$ điểm ảnh): $$P_{total} = 1024 \times 0.075\text{ W} = 76.8\text{ W}$$
  • Dòng điện cực đại yêu cầu ở điện áp chuẩn 5V DC: $$I_{max} = \frac{P_{total}}{V} = \frac{76.8\text{ W}}{5\text{ V}} = 15.36\text{ A}$$
  • Hệ số an toàn: Nhằm đảm bảo nguồn hoạt động bền bỉ trong ngưỡng tải tối ưu (từ 70% - 75% tải định mức của nguồn xung theo khuyến cáo kỹ thuật), nhóm đồ án chọn bộ nguồn Switching tổ ong 5V - 40A (công suất danh định 200W), đảm bảo dư tải hoạt động tốt, hạn chế sụt áp trên đường dây nguồn tổng.

Methodology

Quy trình nghiên cứu và thực nghiệm được triển khai theo mô hình V-Model rút gọn:

  1. Tuần 1 - 3: Nghiên cứu tập lệnh AVR ATmega2560, giao thức truyền thông nối tiếp USART, cơ chế NRZI trên đường bus USB, và tập lệnh giao tiếp HUB75.
  2. Tuần 4 - 6: Thiết kế và thi công cơ khí khung bảng LED, phân phối bus nguồn song song tiết diện $2.5\text{ mm}^2$ chống sụt áp; kết nối dây cáp tín hiệu IDC16 (Flat Ribbon Cable) chuẩn HUB75.
  3. Tuần 7 - 10: Xây dựng thuật toán quét hiển thị 1/4 scan trên Arduino; số hóa bảng mã font tiếng Việt có dấu (mã hóa Hex array).
  4. Tuần 11 - 13: Phát triển phần mềm quản lý trên Visual Studio (C# .NET 4.5); xây dựng giao thức đóng gói dữ liệu truyền thông UART.
  5. Tuần 14 - 16: Tích hợp toàn hệ thống, thử nghiệm truyền dữ liệu liên tục 24h và kiểm thử độ bền nhiệt của MOSFET công suất.

Implementation và kết quả

Development process

Cơ chế điều khiển LED Matrix P10 Full-color dựa trên phương pháp quét ghép kênh 1/4 (1/4 Multiplexing Scan):

  • Toàn bộ 16 hàng được chia làm 4 nhóm quét:
    • Nhóm 1: Quét các hàng 1, 5, 9, 13 (Tương ứng với nửa trên và nửa dưới của module).
    • Nhóm 2: Quét các hàng 2, 6, 10, 14.
    • Nhóm 3: Quét các hàng 3, 7, 11, 15.
    • Nhóm 4: Quét các hàng 4, 8, 12, 16.
  • Tại mỗi thời điểm quét, chân điều khiển OE (Output Enable) được kéo lên mức cao để tắt tạm thời LED, tránh hiện tượng lem màu/bóng ma. Dữ liệu 64 bit của 2 module được đẩy nối tiếp vào các chân dữ liệu $R1, G1, B1$ (nửa trên) và $R2, G2, B2$ (nửa dưới) đồng bộ theo xung cạnh lên của CLK. Sau khi dịch đủ 64 cột, chân LAT (Latch) được phát một xung kích hoạt để chốt dữ liệu, đồng thời bộ giải mã $A, B$ chuyển trạng thái dòng và chân OE được hạ xuống mức thấp (Active-Low) để sáng đèn.

Thuật toán quét hiển thị trực tiếp trên Arduino Mega (C/C++)

// Cấu hình chân điều khiển HUB75 trên Arduino Mega 2560
#define PIN_A   22
#define PIN_B   23
#define PIN_C   10
#define PIN_OE  13
#define PIN_LAT 12
#define PIN_CLK 11

#define PIN_R1  24
#define PIN_G1  25
#define PIN_B1  26
#define PIN_R2  27
#define PIN_G2  28
#define PIN_B2  29

// Bộ đệm khung hình: 16 hàng x 64 cột (lưu trữ 3 bit màu RGB)
uint8_t frameBuffer[16][64]; 

void scanDisplayQuarter() {
    for (uint8_t rowGroup = 0; rowGroup < 4; rowGroup++) {
        // 1. Tắt hiển thị để tránh hiện tượng bóng ma (Ghosting)
        digitalWrite(PIN_OE, HIGH);

        // 2. Đẩy dữ liệu nối tiếp cho 64 cột điểm ảnh
        for (int8_t col = 63; col >= 0; col--) {
            // Lấy dữ liệu màu cho nửa trên (Hàng: rowGroup) và nửa dưới (Hàng: rowGroup + 8)
            uint8_t colorTop = frameBuffer[rowGroup][col];
            uint8_t colorBottom = frameBuffer[rowGroup + 8][col];

            digitalWrite(PIN_R1, (colorTop & 0x01) ? HIGH : LOW);
            digitalWrite(PIN_G1, (colorTop & 0x02) ? HIGH : LOW);
            digitalWrite(PIN_B1, (colorTop & 0x04) ? HIGH : LOW);

            digitalWrite(PIN_R2, (colorBottom & 0x01) ? HIGH : LOW);
            digitalWrite(PIN_G2, (colorBottom & 0x02) ? HIGH : LOW);
            digitalWrite(PIN_B2, (colorBottom & 0x04) ? HIGH : LOW);

            // Tạo xung Clock dịch 1 bit
            digitalWrite(PIN_CLK, HIGH);
            digitalWrite(PIN_CLK, LOW);
        }

        // 3. Chốt dữ liệu ra ngõ ra IC TLC5926
        digitalWrite(PIN_LAT, HIGH);
        digitalWrite(PIN_LAT, LOW);

        // 4. Chọn nhóm hàng thông qua IC 74HC138 (Đường A, B)
        digitalWrite(PIN_A, (rowGroup & 0x01) ? HIGH : LOW);
        digitalWrite(PIN_B, (rowGroup & 0x02) ? HIGH : LOW);

        // 5. Bật sáng hàng quét (OE mức thấp)
        digitalWrite(PIN_OE, LOW);
        delayMicroseconds(300); // Thời gian sáng duy trì mỗi phân đoạn quét
    }
}

Thuật toán đóng gói và truyền nhận dữ liệu trên C# (WinForms)

using System;
using System.IO.Ports;
using System.Text;

public class LedMatrixSender
{
    private SerialPort _serialPort;

    public LedMatrixSender(string portName, int baudRate = 9600)
    {
        _serialPort = new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One);
        _serialPort.Open();
    }

    // Cấu trúc gói tin: [START: 0x02] [COLOR: 1 Byte] [EFFECT: 1 Byte] [DATA] [CHECKSUM] [END: 0x03]
    public void SendDataPacket(string textUnicode, byte colorCode, byte effectCode)
    {
        if (!_serialPort.IsOpen) return;

        byte[] textBytes = Encoding.UTF8.GetBytes(textUnicode);
        byte[] packet = new byte[textBytes.Length + 5];

        packet[0] = 0x02; // Header byte (STX)
        packet[1] = colorCode; // 0x01: Red, 0x02: Green, 0x03: Blue, 0x07: White...
        packet[2] = effectCode; // 0x00: Static, 0x01: Scroll Left, 0x02: Blinking

        Array.Copy(textBytes, 0, packet, 3, textBytes.Length);

        // Tính toán Checksum XOR
        byte checksum = 0;
        for (int i = 1; i < packet.Length - 2; i++)
        {
            checksum ^= packet[i];
        }

        packet[packet.Length - 2] = checksum;
        packet[packet.Length - 1] = 0x03; // Footer byte (ETX)

        _serialPort.Write(packet, 0, packet.Length);
    }
}

Testing và validation

Hệ thống đã trải qua các bài kiểm thử nghiêm ngặt về hiệu năng, truyền thông và độ ổn định nhiệt động học:

+-----------------------------------------------------------------------+
|                       KẾT QUẢ ĐO LƯỜNG HIỆU NĂNG                      |
+------------------------------------+----------------------------------+
| Tần số quét thực tế (Refresh Rate) | 83.3 Hz (Không nhấp nháy Camera) |
| Tốc độ truyền thông UART           | 9600 - 115200 bps (0% rớt gói)   |
| Độ trễ hiển thị thay đổi nội dung  | 120 ms                           |
| Nhiệt độ hoạt động IC FDS4953      | 42.5 °C (Ổn định sau 12h test)   |
| Độ sụt áp cuối dải LED (64 cột)    | 0.08 V (Từ 5.05V xuống 4.97V)    |
+------------------------------------+----------------------------------+
  1. Kiểm thử tính toàn vẹn dữ liệu UART: Truyền 1.000 chuỗi ngẫu nhiên chứa 64 ký tự tiếng Việt có dấu. Kết quả: 100% chuỗi ký tự được giải mã chính xác trên bảng LED, không xảy ra hiện tượng tràn bộ đệm Circular Buffer nhờ cơ chế ngắt nối tiếp (USART Receive Interrupt).
  2. Đo đạc dòng tải thực tế:
    • Hiển thị chữ trắng (100% LED sáng): Dòng tải đạt $14.8\text{ A}$ (gần với tính toán lý thuyết $15.36\text{ A}$).
    • Hiển thị chữ đỏ đơn sắc (chạy chữ bình thường): Dòng tải dao động $2.1\text{ A} - 3.4\text{ A}$.

Kết quả đạt được

  • Về phần cứng: Hoàn thiện bảng quang báo kích thước thực tế $16\text{ cm} \times 64\text{ cm}$, khung viền nhôm định hình cách điện, bảo vệ ngắn mạch và chống nhiễu tín hiệu clock cao tần.
  • Về phần mềm: Xây dựng hoàn chỉnh ứng dụng WinForms điều khiển trực quan, tự động nhận diện thiết bị nạp qua USB VID/PID của chip nạp ATmega16U2/CH340.
  • Về hiển thị: Hỗ trợ đầy đủ bộ ký tự tiếng Việt TCVN3 / UTF-8 rút gọn với độ tương phản cao, góc nhìn rộng đạt $110^\circ$, tầm nhìn rõ nét từ cự ly 10m đến 150m.

Đổi mới và đóng góp

  1. Tối ưu hóa bộ nhớ SRAM cho Vi điều khiển 8-bit: Bằng cách xây dựng bảng tra bitmap ký tự nén trong bộ nhớ chương trình Flash (sử dụng từ khóa PROGMEM), hệ thống chỉ tiêu tốn 1.024 bytes SRAM cho frameBuffer, giải phóng 87.5% dung lượng bộ nhớ RAM của ATmega2560 phục vụ xử lý luồng truyền thông và thuật toán dịch bit.
  2. Kiến trúc truyền thông module hóa: Thay vì gửi trực tiếp bitmap điểm ảnh từ PC làm nghẽn băng thông UART, hệ thống chỉ truyền chuỗi ký tự kèm mã điều khiển, vi điều khiển tự sinh ma trận font và xử lý hiệu ứng đồ họa cục bộ (Edge Computing pattern).
  3. Hiệu quả kinh tế vượt trội: Tiết kiệm hơn 60% chi phí sản xuất bo mạch so với các giải pháp card điều khiển nhập khẩu chuyên dụng, mở ra khả năng làm chủ hoàn toàn công nghệ chế tạo bảng điện tử thông minh cho các cơ sở nghiên cứu và đào tạo.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong thực tế

  • Hệ thống điều hành sản xuất thông minh (Andon Board): Lắp đặt tại các dây chuyền lắp ráp công nghiệp để hiển thị cảnh báo sự cố kỹ thuật, sản lượng thực tế/kế hoạch, kết nối với PLC qua cổng RS485/UART.
  • Hệ thống thông báo tại bệnh viện, trường học: Đặt tại sảnh chờ, quầy đăng ký khám chữa bệnh để phát thông báo số thứ tự hoặc tin tức khẩn cấp.
  • Bảng tin điện tử giao thông đô thị: Ứng dụng tại các nhà chờ xe buýt, trạm thu phí để hiển thị lộ trình và cảnh báo ùn tắc.

Hướng dẫn triển khai kỹ thuật và lắp đặt

  1. Nguồn điện: Cấp nguồn điện lưới xoay chiều $110\text{V} - 220\text{V}\text{ AC}$ vào ngõ vào L-N của nguồn tổ ong 5V/40A. Ngõ ra DC được đấu nối song song với dây cấp nguồn chuyên dụng của 2 tấm LED P10.
  2. Kết nối máy tính: Cắm cáp USB Type-A to Type-B từ PC vào bo mạch Arduino Mega 2560.
  3. Cài đặt môi trường: Cài đặt .NET Framework 4.5 trên Windows. Mở phần mềm điều khiển, chọn đúng cổng COM ảo (VD: COM3), chọn Baud Rate 9600, nhập nội dung thông báo và nhấn "Gửi Dữ Liệu".

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Phương thức truyền thông vẫn phụ thuộc vào đường cáp vật lý USB/Serial, khoảng cách truyền bị suy hao nếu dây dài quá 5m mà không có bộ khuếch đại RS422/RS485.
  • Chưa hỗ trợ hiệu ứng hiển thị phức tạp như đồ họa 3D, ảnh Bitmap động dạng GIF hoặc thay đổi cấp độ sáng mịn (chưa áp dụng PWM điều khiển độ xám 8-bit cho từng sub-pixel).

Hướng phát triển

  • Nâng cấp phần cứng: Chuyển đổi nền tảng vi điều khiển sang ESP32 Dual-Core 240MHz để tích hợp Web Server nội tại, cho phép thay đổi nội dung bảng quảng cáo trực tiếp qua giao diện Smartphone thông qua mạng Wi-Fi nội bộ.
  • Mở rộng kích thước bảng: Áp dụng giao thức quét DMA (Direct Memory Access) trên STM32 hoặc Raspberry Pi để điều khiển ma trận kích thước lớn $32 \times 128$ pixel hoặc P5 Full-color.

Đối tượng hưởng lợi

  • Sinh viên chuyên ngành Điện tử - Viễn thông, Tự động hóa: Tài liệu học tập chuyên sâu về kiến trúc HUB75, giao thức quét ma trận LED, kỹ thuật lập trình nhúng AVR và lập trình giao diện C#.
  • Kỹ sư phát triển phần cứng nhúng: Mô hình tham chiếu tin cậy về phân phối công suất dòng lớn, chống sụt áp nguồn xung và kỹ thuật đóng gói giao thức chống nhiễu.
  • Doanh nghiệp vừa và nhỏ: Giải pháp tự chủ công nghệ bảng tin nội bộ giá rẻ, dễ dàng bảo trì và lập trình theo nhu cầu đặc thù của doanh nghiệp.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu 01 kit vi điều khiển ATmega2560, 02 module LED P10 Full-color chuẩn giao tiếp HUB75, 01 nguồn xung 5V/40A chất lượng cao, cáp bẹ 16-pin và máy tính cài hệ điều hành Windows 7/8/10/11 có cổng USB để chạy phần mềm điều khiển.

2. Giới hạn mở rộng kích thước bảng LED của hệ thống này là bao nhiêu?

Với vi điều khiển Arduino Mega 2560 (8 KB SRAM), hệ thống có thể mở rộng tối đa lên 4 tấm P10 Full-color ($16 \times 128$ pixel). Nếu vượt quá giới hạn này, tần số quét sẽ giảm xuống dưới 50 Hz gây ra hiện tượng rung/giật mắt quét và tiêu tốn hết dung lượng SRAM cho bộ đệm.

3. Có thể thay thế giao tiếp USB bằng kết nối không dây không?

Hoàn toàn có thể. Người dùng chỉ cần gắn thêm module Bluetooth HC-05 hoặc module Wi-Fi ESP8266 vào cổng nối tiếp phần cứng thứ hai (Serial1: chân TX1/RX1) của Arduino Mega 2560 mà không cần viết lại thuật toán quét hiển thị của phần cứng LED.

4. Cần lưu ý những gì về bảo trì nguồn và phần cứng khi vận hành lâu dài?

Cần định kỳ vệ sinh bụi bẩn bám trên quạt tản nhiệt của nguồn tổ ong; kiểm tra độ siết của ốc vít tại cọc nguồn 5V tránh hiện tượng phóng tia lửa điện do tiếp xúc lỏng khi dòng tải lên cao (>10A); lắp đặt tấm mica bảo vệ chống ẩm bề mặt bóng LED nếu hoạt động trong môi trường có độ ẩm cao.

5. Chi phí đầu tư dự toán và thời gian thu hồi vốn như thế nào?

Tổng chi phí linh kiện để chế tạo bảng hiển thị $16 \times 64$ pixel xấp xỉ 650.000 - 850.000 VNĐ (thời giá linh kiện). So với việc thuê mướn pano in ấn hoặc mua bảng điện tử thương mại cùng kích cỡ (thường từ 2.000.000 - 3.000.000 VNĐ), hệ thống giúp hoàn vốn đầu tư ngay trong lần triển khai đầu tiên.


Kết luận

Đề tài "Mạch quang báo sử dụng kit Arduino" đã nghiên cứu và hiện thực hóa thành công một giải pháp kỹ thuật toàn diện từ khâu thiết kế mạch điều khiển, tính toán công suất nguồn xung, phát triển thuật toán quét HUB75 1/4 scan trên nền vi điều khiển ATmega2560 đến xây dựng phần mềm quản trị C# trực quan. Hệ thống hoạt động tin cậy, giải quyết triệt để bài toán hiển thị tiếng Việt có dấu và thay đổi thông điệp linh hoạt theo thời gian thực. Đồ án không chỉ mang lại giá trị học thuật cao về kỹ thuật số và lập trình hệ thống nhúng mà còn mở ra tiềm năng thương mại hóa rộng rãi trong lĩnh vực truyền thông quang báo kỹ thuật số.