Alien3D Deck – Thiết bị Bluetooth shortcut LCD 8 nút

Alien3D Deck là thiết bị shortcut dùng màn hình LCD, kết nối Bluetooth với PC và điện thoại. Chạy trên ESP32 có LCD, dùng LVGL để làm giao diện. Bạn có thể tùy chỉnh tiêu đề và hành động cho 8 nút theo nhu cầu.

👁️
7.2K
Lượt Xem
❤️
83
Lượt Thích
📥
676
Lượt Tải
Cập Nhật Apr 25, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Đây là một thiết bị shortcut dùng màn hình LCD, kết nối với thiết bị của bạn qua Bluetooth. Vì dùng Bluetooth để kết nối nên nó tương thích với cả PC và thiết bị di động. Món này chạy trên một board phát triển nền tảng ESP32 có tích hợp màn hình LCD. Nó cũng dùng thư viện LVGL, giúp đưa giao diện/đồ họa vào các dự án Arduino một cách gọn gàng mà không cần tự code từ đầu.

How to use:

Khi bạn cắm nguồn cho Alien3D Deck sau khi đã flash xong, nó sẽ hiển thị màn hình bên dưới.

Điều này nghĩa là thiết bị đã sẵn sàng nhưng chưa kết nối. Bạn có thể nhận biết vì icon Bluetooth đang màu trắng; một dấu hiệu nữa là đèn RGB LED phía sau. Khi chưa kết nối thì đèn sẽ sáng màu đỏ, còn khi kết nối thì chuyển sang màu xanh dương.

Khi bạn tìm Bluetooth devices, bạn sẽ thấy Alien 3D Deck. Sau khi kết nối, icon Bluetooth sẽ chuyển sang màu xanh dương và đèn phía sau cũng sẽ chuyển sang xanh dương.

Nếu vì lý do nào đó thiết bị bị treo hoặc không phản hồi, bạn có thể nhấn nút flush reset ở mặt sau.

Printing:

Tất cả các phần lưu dạng STL đều đã được đặt đúng orientation, và không cần supports nếu bạn in theo đúng orientation đó. Vui lòng in 2 con ốc/vít.

Components:

  • ESP32-2432S028R (ESP32 Dev Board với LCD Screen)
  • 4 ốc M3x16

Wiring Diagram:

Không có—chỉ cần cắm cáp USB để lập trình/cấp nguồn. (vì nó kết nối bằng Bluetooth nên bạn không nhất thiết phải cắm vào PC; cổng USB nào cũng cấp nguồn được)

Assembly:

Programming:

Nếu bạn chưa từng làm với board kiểu ESP trước đây, việc đầu tiên bạn cần làm là cài Espressif ESP board library. Bạn có thể làm theo tutorial ở website bên dưới: [Lưu ý: với board của mình hãy chọn ESP32 Dev Board]

https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/

Bình thường tới đoạn này mình sẽ nói bạn cần cài thêm những library nào. Nhưng dự án này mình đã đơn giản hóa quy trình: bạn chỉ cần giải nén file .zip đính kèm bên dưới vào thư mục Arduino library. Việc này sẽ chép các file của project và đồng thời cài tất cả library + config cần thiết. (Làm vậy tiện hơn nhiều vì các library cần dùng có thêm vài bước cấu hình; đơn giản vẫn là tốt nhất)

Lưu ý: Nếu sau này bạn compile project mà bị lỗi, có thể do các library đã được update và không còn tương thích. Lúc đó chỉ cần giải nén lại các file một lần nữa rồi compile. Các phiên bản LVGL khác nhau không phải lúc nào cũng tương thích ngược.

Sau khi bạn đã giải nén các file vào thư mục Arduino, bạn cần chọn board như sau:

Tools > Board > esp32 > ESP32 Dev Module

Bạn cũng cần đổi partition scheme sang Huge vì app này khá lớn:

Tools > Partition Scheme > Huge App (3MB No OTA/ 1MB SPIFFS)

Sau đó compile! (Lần đầu compile sẽ mất RẤT lâu—vài phút—nên tranh thủ nghỉ chút nha.)

Make it your own:

Khi bạn đã compile và verify chạy ổn, nếu muốn bạn có thể chỉnh code để các nút làm đúng tác vụ bạn cần.

Có 2 chỗ cần sửa để thay đổi hành động của các nút: một chỗ là tiêu đề (title) của nút, chỗ còn lại là hành động (action) của nút.

Để đổi tiêu đề, bạn cần chỉnh mảng (array) trong file Alien_Deck.ino.

Ở dòng 47 bạn sẽ thấy: static const char * btnm_map[]

Mảng này điều khiển các nút và tiêu đề của chúng. Ký tự “\n” sẽ xuống dòng và dấu “""” sẽ kết thúc mảng. Hãy đổi phần chữ nằm giữa các dấu phẩy. Nếu bạn muốn dùng symbol như mình làm cho media keys, vui lòng tham khảo https://docs.lvgl.io/master/overview/font.html?highlight=symbol và kéo xuống phần special fonts.

Để đổi hành động của các nút, bạn sẽ làm ở phần khác: vào file MyShortcuts. Ở đây bạn sẽ thấy danh sách các case bắt đầu từ case 0 (nút đầu tiên), case 4 là nút đầu tiên của hàng thứ hai. Bạn có thể làm theo format các shortcut có sẵn vì trong đó đã có ví dụ media keys và cả nhiều phím bấm cùng lúc. Danh sách media keys có thể dùng xem tại: https://github.com/T-vK/ESP32-BLE-Keyboard
[Lưu ý: media keys dùng hàm write, còn phím thường dùng press]

Chỉ cần sửa ở 2 chỗ này là bạn có thể đổi toàn bộ nút và chức năng. Bạn thậm chí có thể thêm nhiều nút hơn, hệ thống sẽ tự sắp xếp chúng, nhưng bạn cũng phải tạo thêm các case tương ứng trong phần MyShortcuts.

Special Thanks:

Mình muốn cảm ơn ThatProject trên YouTube vì đã làm và chia sẻ nhiều video hướng dẫn cách dùng LVGL và màn hình cảm ứng. Đặc biệt là video mà project này dựa theo (mình phải viết lại phần lớn code vì phiên bản LVGL khác, và board + màn hình dùng cũng khác.)

https://www.youtube.com/watch?v=EWKAyQBdcYM

Post and Share
Mình rất thích xem các sản phẩm mà cộng đồng làm ra—cứ thoải mái tag mình @dsk001_3D và @alienslacker trên Instagram và Twitter nhé.

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial

CC-BY-NC

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (12 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)