Mục lục:

Màn hình ma trận 8x8 với BT: 5 bước (có hình ảnh)
Màn hình ma trận 8x8 với BT: 5 bước (có hình ảnh)

Video: Màn hình ma trận 8x8 với BT: 5 bước (có hình ảnh)

Video: Màn hình ma trận 8x8 với BT: 5 bước (có hình ảnh)
Video: ĐIỀU ƯỚC #Shorts 2024, Tháng bảy
Anonim

Tôi đã mua một ma trận 4 panel 8x8 từ Ebay (Trung Quốc) vài tháng trước.

Tôi đã hơi thất vọng khi nhận ra rằng nó rất khó có dây từ bên này sang bên kia, không phải từ trên xuống dưới mà hầu hết các ví dụ trên mạng đều được viết! Xem bước 2.

Tôi đoán rằng tôi có thể đã sửa đổi mã (không chắc chắn như thế nào), nhưng sự lười biếng thông thường của tôi đã bảo tôi phải tìm kiếm thứ gì đó đã được viết sẵn. Tôi đã xem qua một ví dụ và mắc kẹt với nó!

Tôi đã chơi với các tin nhắn cố định nhưng sau đó tôi quyết định thử lập trình tin nhắn qua Bluetooth.

Sau đó, tôi muốn lưu và truy xuất tin nhắn!

Có rất nhiều thử nghiệm và sai sót nhưng sau vài giờ viết mã, tôi đã làm cho nó hoạt động.

Tôi vẫn đang cố gắng tìm một công dụng thiết thực cho nó !!:-)

Bước 1: Màn hình

Màn hình hiển thị
Màn hình hiển thị
Màn hình hiển thị
Màn hình hiển thị

Như đã đề cập trước đó, màn hình được nối dây từ trái sang phải, thay vì từ trên xuống dưới.

Tôi chắc chắn rằng mã khác có thể đã được sửa đổi để bù đắp cho điều này!

Tôi không nhớ mình đã tải xuống mã làm việc từ đâu, tuy nhiên, tìm kiếm "ma trận vũ trụ hoặc LedControlMS.h" có thể hữu ích. Lib LedControlMS.h là bắt buộc cho dự án này.

Phần duy nhất của mã này mà tôi đã sửa đổi là số lượng hiển thị có vẻ như nó được đặt thành 5, tôi chỉ thay đổi nó thành 4.

Tôi đã đặt hàng một màn hình x4 khác để tôi có thể xem nó hoạt động như thế nào với 8 ma trận thay vì 4!

Bước 2: Bit Bluetooth

Bit Bluetooth
Bit Bluetooth

Mỗi lần chơi với thiết bị Bluetooth, tôi luôn tham khảo tài liệu hướng dẫn tuyệt vời này!

www.instructables.com/id/Modify-The-HC-05-B…

Tài liệu hướng dẫn này sẽ cho bạn biết tất cả những gì bạn cần biết về cách thiết lập và ghép nối HC-05 với điện thoại di động hoặc máy tính bảng.

Tôi đã ghép nối với Samsung Galaxy 6 Edge và Tab A mà không có vấn đề gì.

Tôi đã thay đổi tốc độ giao tiếp thành 57600.

Bước 3: Giao tiếp BT và chương trình

BT Truyền thông và Chương trình
BT Truyền thông và Chương trình

Để giao tiếp với HC-05, tôi đã tải xuống một Ứng dụng miễn phí từ Cửa hàng Play, có một số ứng dụng có sẵn, - ứng dụng tôi chọn có tên là Bluetooth Terminal HC-05 - đó là một Ứng dụng tuyệt vời!

Khi bạn đã ghép nối HC-05 với điện thoại hoặc máy tính bảng, Điều sau sẽ xảy ra.

Khi arduino được đặt lại, chương trình sẽ đọc tất cả các tin nhắn được lưu trữ trong EEPROM và hiển thị chúng trên điện thoại / máy tính bảng - xem hình.

Thông tin được hiển thị là Vị trí bản ghi nhớ (0-9), Độ dài của tin nhắn và bản thân tin nhắn tại mỗi vị trí.

Tôi đã sắp xếp mã để lưu trữ tối đa một tin nhắn 90 ký tự tại địa chỉ 5 cho Msg 0, 105 cho Msg 1 …….905 cho Msg 9.

Địa chỉ 0, 100…. 900 chứa độ dài tin nhắn.

Thông báo được lưu trữ / nhận lại cuối cùng được hiển thị.

Gửi bất kỳ thứ gì tới Arduino qua BT sẽ thay thế thông báo hiện tại.

Để lưu tin nhắn được hiển thị (sử dụng dấu ngã "~"), gửi ~ 0 để lưu ở vị trí 0, ~ 5 để lưu ở vị trí 5, v.v.

Để truy xuất và hiển thị một tin nhắn đã lưu, hãy sử dụng "^" (carat), ví dụ ^ 3 sẽ tải và hiển thị tin nhắn tại vị trí Mem 3.

Khi một tin nhắn được lưu trữ hoặc truy xuất, vị trí bộ nhớ hiện tại được lưu trữ tại địa chỉ EEPROM 1023 - vị trí này được sử dụng khi bật nguồn để hiển thị thông báo cuối cùng được hiển thị.

Bước 4: Mã & Nguồn

Như thường lệ, mã của tôi là ngăn nắp như một phòng ngủ dành cho thanh thiếu niên, nhưng tôi có rất nhiều nhận xét trong đó!

Có thể có một số mã không cần thiết vì có một chút thử nghiệm và sai sót.

Quy trình hiển thị sẽ hiển thị bất cứ thứ gì trong mảng msg . Phông chữ chưa hoàn chỉnh nên việc hiển thị một số ký tự sẽ gây ra kết quả không thể đoán trước!

Nếu ai đó có thể cho tôi biết cách sửa đổi ký hiệu $ cho ký hiệu £ hoặc tốt hơn là vẫn thêm nó vào, thì tôi sẽ vô cùng biết ơn

Có thể cần mã cứng một thông báo vào vị trí 0 chỉ để đưa ra điểm bắt đầu, điều này có thể được ghi đè khi chương trình đang hoạt động!

ví dụ

EEPROM.write (0, '5'); // độ dài của tin nhắn được lưu trữ tại vị trí 0

EEPROM.write (5, 'L'); // tin nhắn được lưu trữ tại vị trí 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Khi không có tin nhắn nào được lưu trữ, khi bật nguồn, màn hình sẽ không thể đoán trước và điện thoại / máy tính bảng sẽ hiển thị thông tin kỳ lạ nhưng nhất quán bởi vì, như với hầu hết các EEPROM, dữ liệu mặc định tại mọi vị trí là FF Hex (225 Decimal).

Nguyên mẫu này được tạo bằng Arduino Uno, nhưng tôi sẽ sử dụng một mini chuyên nghiệp cho dự án đã hoàn thành.

Tôi định sử dụng pin 3 x 1.5v, vì vậy để tiết kiệm điện, tôi sẽ tắt HC-05 sau khi chọn một tin nhắn. Chỉ ngắt kết nối / kết nối lại nguồn điện là không đủ vì nó sẽ gửi thông tin bị cắt xén đến màn hình.

Dường như cần phải cách ly các chân TR & RX trước khi kết nối / ngắt nguồn!

Bước 5: Cập nhật Màn hình ma trận 2020 - 2 X 4 (8x8)

Sau khi hiểu rõ hơn về MAX7219, tôi đã tìm cách liên kết 2 màn hình với nhau!

chỉ có một vài dòng mã cần thay đổi - xem ino đính kèm.

Đề xuất: