TỔNG QUAN
Đặt vấn đề
Ngày nay, sự phát triển của xã hội và khoa học kỹ thuật đã làm cho nhu cầu thông tin trở nên thiết yếu trong cuộc sống và hoạt động sản xuất kinh doanh Việc truyền tải thông tin quảng cáo đến người tiêu dùng trở nên dễ dàng và nhanh chóng hơn bao giờ hết Các doanh nghiệp hiện nay sử dụng nhiều hình thức quảng cáo khác nhau để giới thiệu sản phẩm của mình đến với cộng đồng.
Trong số nhiều hình thức quảng cáo như báo, đài, tivi, tờ rơi và áp phích, bảng thông tin điện tử nổi bật như một phương pháp quảng cáo đơn giản và hiệu quả Chúng ta thường thấy những bảng thông tin này trong thực tế, chẳng hạn như khi bước vào hiệu sách, bảng đèn quang báo giúp bạn nhận biết loại sách và giá cả Tương tự, tại sân bay, các bảng quảng cáo cung cấp thông tin về giờ giấc chuyến bay và các thông báo quan trọng, giúp hành khách nắm bắt thông tin một cách nhanh chóng và dễ dàng.
Chúng em quyết định nghiên cứu và ứng dụng công nghệ APP ANDROID để điều khiển bảng thông báo, cụ thể là đề tài “Bảng LED MATRIX điều khiển bằng ứng dụng Android” Với kiến thức đã học, chúng em mong muốn phát triển một giải pháp hiệu quả cho việc quản lý và hiển thị thông tin.
Mục tiêu
Nhóm em sẽ tiến hành thiết kế và thi công một mô hình hệ thống bảng LED MATRIX.
Mô hình bảng thông báo sẽ hiển thị chữ có dấu, hình ảnh, hiệu ứng, video, thời gian, nhiệt độ và độ ẩm Nhóm xây dựng sẽ điều khiển việc thay đổi thông tin trên bảng thông qua Wifi bằng ứng dụng Android.
Trong quá trình thực hiện Đồ án tốt nghiệp với đề tài “Bảng LED MATRIX điều khiển bằng ứng dụng Android”, nhóm chúng em đã hoàn thành các nội dung chính như thiết kế hệ thống, lập trình ứng dụng Android, và kết nối bảng LED MATRIX với smartphone, nhằm mang lại trải nghiệm điều khiển trực quan và tiện lợi cho người dùng.
- Nội dung 1: Nghiên cứu các Module Led P5 dùng cho bảng thông báo.
- Nội dung 2: Nghiên cứu tài liệu về KIT NodeMCU ESP8266, giao tiếp với hệ thống không dây.
- Nội dung 3: Nghiên cứu xây dựng một ứng dụng app Android.
- Nội dung 4: Tiến hành viết code LED MATRIX.
- Nội dung 5: Thiết kế và tính toán thiết kế mạch phần cứng cho thiết bị.
- Nội dung 6: Thi công phần cứng, thử nghiệm và hiệu chỉnh hệ thống.
Thử nghiệm và điều chỉnh hệ thống cùng với chương trình là cần thiết để tối ưu hóa hiệu suất Việc đánh giá các thông số của mô hình so với thực tế giúp đảm bảo tính chính xác và hiệu quả của hệ thống.
- Nội dung 8: Viết báo cáo thực hiện.
- Nội dung 9: Bảo vệ luận văn.
Các thông số giới hạn của đề tài bao gồm:
- Sử dụng các linh kiện: ESP8266, STM32H743XI, DHT11.
- Kích thước phần Led hiển thị: 256x128.
- Sử dụng 16 Module P5 ghép lại
- Ứng dụng điện thoại chạy trên hệ điều hành Android.
-Nội dung hiển thị gồm ký tự số và chữ có dấu, hình ảnh, hiệu ứng, video, nhiệt độ và độ ẩm.
1.5 BỐ CỤC Đề tài “Thiết kế và thi công hệ thống bảng LED MATRIX điều khiển bằng APP
ANDROID” được trình bày với bố cục như sau:
Chương này sẽ trình bày lý do chọn đề tài, mục tiêu nghiên cứu, nội dung chính, các giới hạn về thông số và cấu trúc của đồ án.
• Chương 2: Cơ Sở Lý Thuyết
Chương này sẽ cung cấp cái nhìn tổng quát về các kiến thức cơ bản cần thiết để xây dựng mô hình, bao gồm lý thuyết và khái niệm về các chuẩn giao tiếp, phần mềm ứng dụng, quy trình quét LED, cùng với các công cụ thiết yếu.
• Chương 3: Tính Toán và Thiết Kế
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Chương này trình bày thiết kế sơ đồ khối hệ thống, giải thích chức năng của từng khối và thực hiện tính toán, thiết kế mạch cùng với việc lựa chọn linh kiện phù hợp Cụ thể, các khối được tính toán và kết nối bao gồm khối điều khiển trung tâm, khối nguồn, khối thu thập và xử lý dữ liệu, cũng như khối hiển thị.
Trong đề tài, nhóm em này còn có viết code cho LED MATRIX hiển thị, viết code ứng dụng Android cho smart phone.
• Chương 4: Thi Công Hệ Thống Và Kết Quả Thực Hiện
Chương này hướng dẫn cách cài đặt hệ điều hành và thư viện cần thiết, đồng thời trình bày các phương pháp điều khiển và hiển thị Nó cũng bao gồm lưu đồ giải thuật chính và con, cùng với giải thích chi tiết Ngoài ra, chương còn mô tả các bước thi công mạch, sơ đồ layout, quy trình lắp ráp, kiểm tra đóng gói sản phẩm, thi công mô hình và hướng dẫn sử dụng.
• Chương 5: Kết Quả_Nhận Xét_Đánh giá
Chương này nêu lên kết quả đạt được so với ban đầu, nhận xét và đánh giá mô hình.
• Chương 6: Kết Luận và Hướng Phát Triển
Chương này tổng kết những kết quả đã đạt được, đồng thời phân tích ưu nhược điểm để đề xuất hướng phát triển cho đề tài, nhằm nâng cao khả năng ứng dụng trong thực tế.
Bố cục
Đề tài “Thiết kế và thi công hệ thống bảng LED MATRIX điều khiển bằng APP
ANDROID” được trình bày với bố cục như sau:
Chương này sẽ trình bày lý do chọn đề tài nghiên cứu, mục tiêu cụ thể, nội dung nghiên cứu, các giới hạn về thông số và bố cục của đồ án.
• Chương 2: Cơ Sở Lý Thuyết
Chương này sẽ tổng hợp những kiến thức cơ bản cần thiết để xây dựng mô hình, bao gồm lý thuyết, khái niệm về các chuẩn giao tiếp, phần mềm ứng dụng, mô tả quy trình quét LED và các công cụ cần thiết.
• Chương 3: Tính Toán và Thiết Kế
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Chương này trình bày thiết kế sơ đồ khối hệ thống, nêu rõ chức năng của từng khối, đồng thời thực hiện tính toán và thiết kế mạch cũng như lựa chọn linh kiện Cụ thể, nội dung bao gồm việc tính toán và kết nối cho các khối điều khiển trung tâm, khối nguồn, khối thu thập và xử lý dữ liệu, cũng như khối hiển thị.
Trong đề tài, nhóm em này còn có viết code cho LED MATRIX hiển thị, viết code ứng dụng Android cho smart phone.
• Chương 4: Thi Công Hệ Thống Và Kết Quả Thực Hiện
Chương này hướng dẫn cách cài đặt hệ điều hành và thư viện, cùng với các phương pháp điều khiển và hiển thị Nó cũng trình bày lưu đồ giải thuật chính và con, kèm theo giải thích chi tiết Bên cạnh đó, chương còn mô tả các bước thi công mạch, sơ đồ mạch layout, quy trình lắp ráp, kiểm tra đóng gói sản phẩm, thi công mô hình và hướng dẫn sử dụng.
• Chương 5: Kết Quả_Nhận Xét_Đánh giá
Chương này nêu lên kết quả đạt được so với ban đầu, nhận xét và đánh giá mô hình.
• Chương 6: Kết Luận và Hướng Phát Triển
Chương này tổng kết những kết quả đã đạt được, đồng thời phân tích những ưu và nhược điểm để đề xuất hướng phát triển cho đề tài, nhằm nâng cao khả năng ứng dụng trong thực tiễn.
CƠ SỞ LÝ THUYẾT
Các chuẩn giao tiếp
2.1.1 Giới thiệu về mạng không dây
Wifi, viết tắt của Wireless Fidelity, là mạng không dây sử dụng sóng vô tuyến tương tự như sóng truyền hình, điện thoại và radio Wifi cho phép các thiết bị như laptop, smartphone và máy tính bảng kết nối và truy cập internet trong phạm vi sóng phủ Để thiết lập kết nối Wifi, cần có bộ thu phát để chuyển đổi thông tin từ mạng Internet qua kết nối hữu tuyến thành tín hiệu vô tuyến, sau đó gửi đi Các thiết bị di động sử dụng bộ chuyển tín hiệu không dây để thu nhận và giải mã tín hiệu này thành dữ liệu cần thiết, và quá trình này cũng có thể thực hiện ngược lại để gửi thông tin qua Internet.
Hình 2.1 Mô hình hệ thống Wifi trong nhà.
Tuy nói Wifi tương tự như sóng vô tuyến truyền hình, radio hay điện thoại nhưng nó vẫn khác các loại sóng kia ở mức độ tần số hoạt động.
Giới thiệu về mạng không dây
Sóng wifi hoạt động ở tần số từ 2,5GHz đến 5GHz, cho phép truyền tải nhiều dữ liệu hơn Tuy nhiên, tần số cao này cũng đồng nghĩa với phạm vi truyền hạn chế Ngược lại, các loại sóng tần số thấp có khả năng truyền đi xa hơn.
Kết nối wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ a/b/g/n:
A Giới thiệu UART là viết tắt của Universal Asynchronous Receiver – Transmitter có nghĩa là truyền dữ liệu nối tiếp bất đồng bộ Truyền dữ liệu nối tiếp bất đồng bộ có 1 đường phát dữ liệu và 1 đường nhận dữ liệu, không có tín hiệu xung clock nên gọi là bất đồng bộ. UART thường được dùng trong máy tính công nghiệp, truyền thông, vi điều khiển, hay một số các thiết bị truyền tin khác.
Hình 2.2 Hệ thống truyền dữ liệu bất đồng bộ.
Hình 2.3 Khung truyền dữ liệu của chuẩn giao tiếp UART.
Dưới đây là các thông số thường có của UART:
Tốc độ baud (baud rate) là một yếu tố quan trọng trong truyền nhận không đồng bộ, giúp hai thiết bị giao tiếp hiệu quả Để đảm bảo sự hiểu biết lẫn nhau, cần phải thiết lập thời gian truyền cho mỗi bit trước khi bắt đầu quá trình truyền Theo định nghĩa, tốc độ baud được tính bằng số bit được truyền trong một giây.
Khung truyền (frame) trong kiểu truyền thông nối tiếp dễ gây mất dữ liệu, vì vậy ngoài việc tối ưu tốc độ, nó còn được thiết lập để giảm thiểu sự mất mát này Khung truyền xác định số bit được truyền trong mỗi lần, bao gồm các bit báo hiệu như start và stop, cùng với các bit kiểm tra như parity, và số bit trong dữ liệu.
Start Bit: Là bit bắt đầu trong khung truyền Bit này nhằm mục đích báo cho thiết bị nhận biết quá trình truyền bắt đầu.
Data: Dữ liệu cần truyền Data không nhất thiết phải 8 bit Trong UART bit LSB được truyền đi trước, Bit MSB được truyền đi sau.
Bit parity là một phương pháp kiểm tra tính chính xác của dữ liệu truyền Có hai loại bit parity: chẵn (even parity) và lẻ (odd parity) Parity chẵn được thêm vào để đảm bảo số lượng số 1 trong dữ liệu và bit parity là chẵn, trong khi parity lẻ được sử dụng để số lượng số 1 là lẻ Việc sử dụng bit parity là tùy chọn và không bắt buộc.
Stop Bit: là bit báo cáo kết thúc khung truyền, có thể có 1 hoặc 2 bit stop.
UDP, hay User Datagram Protocol, là một giao thức quan trọng trong bộ giao thức TCP/IP, cho phép các chương trình trên mạng gửi dữ liệu ngắn gọi là datagram đến máy khác Mặc dù UDP không đảm bảo tính tin cậy và thứ tự truyền nhận như TCP, nhưng nó lại nhanh và hiệu quả hơn cho các ứng dụng yêu cầu kích thước nhỏ và độ trễ thấp Nhờ vào tính chất không trạng thái, UDP rất hữu ích cho việc xử lý các truy vấn nhỏ từ nhiều người dùng cùng lúc.
Trong bộ giao thức TCP/IP, UDP tạo ra một giao diện đơn giản giữa tầng mạng (như IPv4) và tầng phiên hoặc tầng ứng dụng phía trên.
UDP không đảm bảo việc thông điệp đã được gửi đến các tầng phía trên, và người gửi không có thông tin về trạng thái của thông điệp sau khi đã gửi Do đó, giao thức này thường được gọi là Unreliable Datagram Protocol.
UDP chỉ bổ sung thông tin về multiplexing và giao dịch, trong khi các thông tin cần thiết để đảm bảo độ tin cậy trong việc truyền dữ liệu phải được thiết lập ở các tầng cao hơn.
Do tính không tin cậy của UDP, các ứng dụng sử dụng giao thức này thường phải chấp nhận việc mất mát, lỗi hoặc trùng lặp dữ liệu Một số ứng dụng như TFTP cần tích hợp các kỹ thuật cơ bản để đảm bảo tính tin cậy ở tầng ứng dụng Tuy nhiên, hầu hết các ứng dụng UDP không yêu cầu những kỹ thuật này.
Bộ môn điện tử công nghiệp - y sinh thường gặp ứng dụng trong các lĩnh vực như streaming media, game trực tuyến và voice over IP (VoIP) Những ứng dụng này thường sử dụng giao thức UDP, mặc dù đôi khi bị bỏ qua.
- Giới thiệu chuẩn giao tiếp 1 dây:
Chuẩn giao tiếp 1 dây (1 wire) được giới thiệu bởi hãng Dallas, cho phép truyền tín hiệu và cung cấp nguồn nuôi chỉ với một dây (không tính dây mass) Đây là chuẩn giao tiếp không đồng bộ và bán song công (half-duplex), tuân theo mối quan hệ chủ-tớ chặt chẽ Trên một bus, có thể kết nối một hoặc nhiều thiết bị slave, nhưng chỉ có một thiết bị master có thể kết nối đến bus này.
Khi bus dữ liệu ở trạng thái rãnh (không có dữ liệu truyền tải), nó cần duy trì mức cao, vì vậy cần kéo lên nguồn thông qua một điện trở Giá trị của điện trở này có thể được tham khảo từ datasheet của thiết bị hoặc các thiết bị slave.
Hình 2.4 Các thiết bị được truyền qua 1 dây.
Trên bus 1 wire, dữ liệu được truyền qua các khe thời gian 60 ms, với mỗi bit dữ liệu tương ứng với một khe thời gian Các thiết bị slave có thể có thời gian nền khác biệt so với thời gian nền danh nghĩa, trong khi thiết bị master yêu cầu bộ định thời chính xác để đảm bảo giao tiếp hiệu quả với các thiết bị slave Do đó, việc tuân thủ các giới hạn thời gian được mô tả trong bài viết là rất quan trọng.
The four fundamental operations of the 1-Wire bus are Reset/Presence, sending a bit 1, sending a bit 0, and reading a bit Byte operations, such as sending and reading bytes, are based on these individual bit operations.
TÍNH TOÁN VÀ THIẾT KẾ
Giới thiệu
Đề tài này tập trung vào việc thiết kế hệ thống điều khiển nhằm thay đổi thông tin trên bảng Led thông báo Các thao tác từ ứng dụng di động sẽ được gửi đến vi xử lý để thực hiện các lệnh điều khiển, đồng thời vi xử lý cũng sẽ truyền dữ liệu để hiển thị lên bảng thông báo.
Bộ môn Điện tử Công nghiệp - Y sinh sẽ tập trung vào việc tính toán công suất và thiết kế các khối, nhằm lựa chọn linh kiện và thiết bị phù hợp cho hệ thống Đồng thời, thiết kế giao diện giám sát và điều khiển cho mô hình hoạt động Các yêu cầu đặt ra cho mô hình bao gồm việc điều khiển chính xác các bảng LED, chuyển chế độ linh hoạt và đáp ứng kịp thời trước các thay đổi dữ liệu.
Kết cấu chắc chắn, gọn nhẹ, giao diện điều khiển đơn giản, dễ dàng sử dụng phù hợp với điều kiện kinh tế.
Thiết kế sơ đồ khối hệ thống
Sau khi tiến hành khảo sát và nghiên cứu các yêu cầu cho đề tài, sơ đồ khối toàn hệ thống bảng Led đã được trình bày như hình dưới đây, phản ánh đầy đủ các yêu cầu cần thiết.
KHỐI NHIỆT ĐỘ VÀ ĐỘ ẨM
Hình 3.1 Sơ đồ khối toàn hệ thống Theo hình 3.1 sơ đồ khối của hệ thống bảng thông gồm 6 khối cơ bản với chức năng của từng khối như sau:
Khối App Android: là các ứng dụng điện thoại có chức năng phát lệnh về khối thu thập để xử lý.
Khối nhiệt độ và độ ẩm: có chức năng đọc nhiệt độ và độ ẩm gửi về khối thu thập, xử lý dữ liệu
Khối thu thập, xử lý dữ liệu: Có chức năng thu thập và trao đổi dữ liệu từ App
Android với khối xử lý trung tâm.
Khối xử lý trung tâm đảm nhiệm chức năng chính là xử lý và trao đổi dữ liệu từ các module trong khối thu thập dữ liệu, đồng thời điều khiển hiển thị thông tin lên khối hiển thị.
Khối hiển thị: có chức năng hiển thị dữ liệu đã được xử lý.
Khối nguồn là thành phần cung cấp năng lượng cho toàn bộ hệ thống, bao gồm khối hiển thị, khối xử lý trung tâm và các module thu thập dữ liệu.
Sơ đồ nguyên lý toàn mạch
Chương này trình bày thiết kế sơ đồ khối hệ thống, giải thích chức năng của từng khối, đồng thời thực hiện tính toán và thiết kế mạch cũng như lựa chọn linh kiện phù hợp Cụ thể, nội dung bao gồm việc tính toán và kết nối cho các khối điều khiển trung tâm, khối nguồn, khối thu thập và xử lý dữ liệu, cùng với khối hiển thị.
Trong đề tài, nhóm em này còn có viết code cho LED MATRIX hiển thị, viết code ứng dụng Android cho smart phone.
THI CÔNG HỆ THỐNG
Giới thiệu
Sau khi hoàn thiện thiết kế sơ đồ nguyên lý cho toàn hệ thống, nhóm bắt tay vào thi công mô hình Hệ thống thi công bao gồm hai phần chính: phần cứng và phần mềm.
Tiến hành lắp ráp 16 module LED ma trận theo bố trí đã giới thiệu ở chương 3, kết nối đầy đủ nguồn điện và dây tín hiệu giữa các module Đồng thời, kết nối phần hiển thị và điều khiển thông qua dây bus Các bộ phận phần cứng sẽ được gắn cố định phía sau bảng LED nhằm nâng cao tính thẩm mỹ cho sản phẩm.
Phần mềm được phát triển nhằm xây dựng thuật toán và lập trình cho hệ thống, từ khi cấp nguồn đến khi hệ thống ngừng hoạt động Chương trình áp dụng các nguyên lý hoạt động của hệ thống để tối ưu hóa việc sử dụng thuật toán điều khiển trong sản phẩm.
Toàn bộ quá trình thi công hệ thống phải đảm bảo tất cả những yêu cầu về thiết kế mà nhóm đã đặt ra ban đầu.
Thi công hệ thống
Khối này được cấu trúc từ các module rời, vì vậy nhóm đã thiết kế bảng với các chân cắm đã được định sẵn để kết nối các module thành một khối hoàn chỉnh Các chân cắm được thiết kế gọn gàng và phù hợp với kích thước của bảng đồng.
Mạch được vẽ bằng phần mềm Proteus 8.6 cho ra mạch in như sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 4.1 Mạch in trước và sau khi vẽ xong Bảng 4.1 Danh sách linh kiện sử dụng trong mạch
4.2.2 Lắp ráp và kiểm tra
Quy trình lắp ráp và kiểm tra mạch diễn ra theo các bước sau:
Sau khi hoàn tất việc thiết kế board mạch bằng phần mềm, bạn cần in mạch và thực hiện ủi mạch thủ công lên boar đồng đã chuẩn bị Sau khi ủi xong, gỡ bỏ lớp giấy để lộ đường mực trên mạch và sử dụng bút lông để tô lại các đường dây bị đứt nếu cần.
Bước 2: Ngâm mạch trong hóa chất ăn mòn để loại bỏ hết phần đồng thừa và chỉ còn lại các đường dây điện.
Bước 3: Tiến hành chà sạch lớp mực in và khoan lỗ chân linh kiện rồi quét nhựa thông để bảo vệ mạch.
Bước 4: Dùng đồng hồ chỉnh thang đo điện trở x1 để kiểm tra các đường mạch có bị đứt hay ngắn mạch không.
Bước 5: Hàn tất cả các linh kiện như hàng rào, jack cắm… vào board đồng rồi kiểm tra lại tất cả các mối hàn xem có chắc chưa.
Bước 6: Gắn board STM32H743, ESP8266 và DHT11 vào mạch vừa hàn xong.
Bước 7: Cấp nguồn kiểm tra mạch xem có sự cố nóng bất thường hay không, sau đó nạp chuong trình cho mạch chạy thử.
Bước 8: Hoàn thành mạch dùng mica trong làm khung bảo vệ cho mạch.
Thi công mô hình
Bộ khung cho bảng LED cần đảm bảo sự chắc chắn và nhẹ nhàng, giúp dễ dàng di chuyển và lắp đặt Khung được chế tạo từ sắt với kích thước được mô tả trong hình ảnh kèm theo.
Khung sắt được thiết kế để định hình 16 tấm module LED P5, với mặt trước chứa các module và mặt sau bao gồm mạch điều khiển, nguồn, ESP8266 và DHT11 Mạch điều khiển được bảo vệ bằng khung mica trong, trong khi nguồn và mạch được cố định chắc chắn lên khung bằng vít.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Lập trình hệ thống
Khi hệ thống khởi động, Module ESP8266 tự động phát Wifi, cho phép người dùng kết nối bằng điện thoại Sau khi kết nối thành công, ESP8266 nhận dữ liệu từ điện thoại để điều khiển Dữ liệu này sau đó được gửi đến STM32H743 để xử lý và hiển thị.
Hình 4.4 Sơ đồ khối ESP8266
Để bắt đầu, cần khởi tạo các hàm cần thiết như hàm uart cho giao tiếp với vi điều khiển, chế độ phát wifi AP (access point), và hàm đọc dữ liệu từ cảm biến DHT11 Đồng thời, cần thiết lập giao thức truyền nhận dữ liệu để đảm bảo quá trình giao tiếp diễn ra hiệu quả.
• Tiếp theo trong vòng lặp vô hạn ESP8266 sẽ đọc nhiệt độ và độ ẩm từ con
Cảm biến DHT11 sẽ giúp ESP8266 so sánh giá trị mới với giá trị cũ; nếu hai giá trị này khác nhau, ESP8266 sẽ truyền dữ liệu đến vi điều khiển qua giao thức UART.
ESP8266 nhận dữ liệu từ điện thoại và kiểm tra tính hợp lệ của dữ liệu đó Khi có dữ liệu đến, ESP8266 sẽ chuyển tiếp thông tin qua vi điều khiển thông qua giao thức UART.
• Cuối cùng ESP8266 quay lại bước thứ 2 thực hiện tiếp vòng lặp vô hạn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 4.5 Lưu đồ Vi điều khiển STM32H743
Sau khi khởi tạo các hàm cần thiết như chân IO, TIMER1, USB device và PWM, vi điều khiển sẽ nhận dữ liệu qua UART bằng cách sử dụng DMA với chiều dài mảng là 84.
Nếu byte thứ 0 uart[0] = ‘n’ cho phép hiển thị nội dung dữ liệu từ điện thoại bao gồm vị trí, màu và nội dung.
Khi byte đầu tiên uart[0] = 'n', byte thứ hai uart[1] cho phép thực hiện các chức năng khác nhau: nếu là 'a' thì hiển thị hình ảnh, 'd' để điều chỉnh độ sáng, 'h' để hiển thị đồng hồ, 'b' để trình diễn các hiệu ứng nền, 'k' để hiển thị hiệu ứng khung, và 't' để hiển thị nhiệt độ và độ ẩm.
− Lưu đồ điều khiển hiển thị nội dung:
Hình 4.6 Lưu đồ điều khiển hiển thị nội dung
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển chế độ hiển thị ảnh:
Hình 4.7 Lưu đồ điều khiển chế độ hiển thị ảnh
− Lưu đồ điều khiển chế độ hiển thị đồng hồ:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 4.8 Lưu đồ điều khiển chế độ hiển thị đồng hồ
− Lưu đồ điều khiển độ sáng màn hình:
Hình 4.9 Lưu đồ điều khiển độ sáng màn hình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển hiệu ứng nền:
Hình 4.10 Lưu đồ điều khiển hiệu ứng nền
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển hiệu ứng khung:
Hình 4.11 Lưu đồ điều khiển hiệu ứng khung
− Lưu đồ điều khiển hiển thị nhiệt độ độ ẩm
Hình 4.12 Lưu đồ điều khiển hiển thị nhiệt độ độ ẩm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển GAME TETRIS
Hình 4.13 Lưu đồ điều khiển GAME TETRIS
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển hiển GAME SNAKE
Hình 4.14 Lưu đồ điều khiển GAME SNAKE
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
− Lưu đồ điều khiển hiển thị video
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 4.16 Lưu đồ điều khiển hiển thị Video
4.4.2 Phần mềm lập trình cho vi điều khiển
Giới thiệu phần mềm lập trình STM32Cube và Keil C
STM32CubeMX là phần mềm miễn phí hỗ trợ cấu hình ngoại vi và clock cho các dòng chip ARM STM32, giúp tính toán dòng tiêu thụ và tạo project một cách dễ dàng Người dùng chỉ cần lựa chọn các ngoại vi cần thiết và thiết lập lock tùy chỉnh mà không cần viết code.
Việc khởi tạo dự án với thư viện chuẩn thường gặp nhiều khó khăn do yêu cầu nhiều bước phức tạp STM32CubeMX xuất hiện như một giải pháp thay thế hiệu quả, cung cấp giao diện trực quan giúp lập trình dễ dàng hơn và mang lại cái nhìn tổng quan rõ ràng hơn cho người dùng.
KeilC uVision 5 là phần mềm hỗ trợ lập trình cho các vi điều khiển như Atmel, AVR và ARM Phần mềm này cho phép người dùng soạn thảo và biên dịch mã nguồn C cũng như ASM thành ngôn ngữ máy, giúp nạp vào vi điều khiển Nhờ đó, người lập trình có thể tương tác hiệu quả với vi điều khiển.
Hình 4.17 Biểu tượng phần mềm Keil C
*Cấu hình cho vi điều khiển STM sử dụng phần mên STM32CubeMX
Mở phần mềm STM32CubeMX lên, nhấn vào New Project để bắt đầu tạo project mới.
• Cửa sổ hiện ra với các thiết lập:
• Series: Chọn họ MCU bạn sử dụng, Lines: Chọn dòng MCU bạn sử dụng,
Chọn kiểu đóng gói của MCU.
• Hoặc nhập mã MCU vào ô tìm kiếm.
Hình 4.18 Tạo project mới trên STM32CubeMx
Sau khi đã lựa chọn xong MCU, tiến hành chọn ngoại vi cần dùng tại thẻ PinOut:
Trong hình ảnh MCU ở khung bên phải, bạn có thể dễ dàng cấu hình trực quan từng chân của MCU theo các tính năng GPIO mà nó hỗ trợ Chỉ cần nhấp vào chân MCU và chọn chức năng cần thiết.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 4.19 Cấu hình chip trên STM32CubeMx
Bước 3 : Cấu hình xung nhịp sau khi đã lựa chọn ngoại vi cần thiết, tiến hành cấu hình xung đồng hồ cho ngoại vi tại thẻ Clock Configuration.
Hình 4.20 Cấu hình xung nhịp trên STM32CubeMX
Bước 4 : Cấu hình ngoại vi tiến hành cấu hình đặc tính của ngoại vi đã chọn tại thẻ
Hình 4.21 Cấu hình ngoại vi trên STM32CubeMX
Bước 5: Sau khi điều chỉnh và cấu hình các ngoại vi cần thiết, tiến hành xuất mã nguồn đã được cấu hình để nhập vào chương trình.
Hình 4.22 Tạo code trên STM32CubeMX
- Nhấn nút có hình Generate source code hoặc chọn Project >> Generate code hoặc nhấn phím tắt Ctrl + Shift + G để mở cửa sổ cấu hình đường dẫn Project.
Bước 1 : Mở phần mềm lập trình Keil C sau khi đã tạo mã nguồn
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
- Mở file main tại Application/User
Hình 4.23 Giao diện phần mềm lập trình Keil
C Bước 2 : Thiết lập các cấu hình cần thiết
Hình 4.24 Thiết lập cấu hình cho Keil C
Bước 3 : Buid và nạp code vào chip
Hình 4.25 Buid và nạp code lên chip
- Nếu lập trình đúng nên khi biên dịch thông báo “0 error …” và cho biết phần trăm bộ nhớ đã sử dụng.
- Nếu sai cú pháp thì biên dịch không thành công thì phải hiệu chỉnh cho đến khi hết lỗi. a Viết chương trình hệ thống
4.4.3 Phần mềm lập trình cho điện thoại (Android studio)
Android là hệ điều hành mã nguồn mở dựa trên nền tảng Linux, được phát triển cho các thiết bị di động với màn hình cảm ứng, bao gồm điện thoại thông minh và máy tính bảng.
Android, ban đầu được phát triển bởi Tổng công ty Android với sự hỗ trợ tài chính từ Google, đã chính thức ra mắt vào năm 2007 sau khi Google mua lại công ty này vào năm 2005 Chiếc điện thoại đầu tiên chạy hệ điều hành Android, HTC Dream, đã được bán ra vào ngày 22 tháng 10 năm 2008.
Hình 4.26 Logo hệ điều hành Android
Android Studio là phần mềm phát triển ứng dụng cho thiết bị chạy hệ điều hành Android, bao gồm smartphone và tablet Nó đi kèm với một bộ công cụ đa dạng và một trình soạn thảo mã (code editor) mạnh mẽ, hỗ trợ lập trình viên trong việc tạo ra các ứng dụng chất lượng cao.
Bộ môn Điện tử Công nghiệp - Y sinh cung cấp debugger, các công cụ tối ưu hiệu suất và hệ thống build/deploy, bao gồm trình giả lập simulator để mô phỏng môi trường thiết bị di động trên máy tính, giúp lập trình viên phát triển ứng dụng từ đơn giản đến phức tạp một cách nhanh chóng.
Hình 4.27 Logo phần mềm Android Studio
KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
Kết quả
Sau một thời gian nghiên cứu tài liệu chuyên ngành tiếng Việt và tiếng Anh, cùng với sự hỗ trợ từ giáo viên hướng dẫn, nhóm chúng em đã hoàn thành đồ án tốt nghiệp với đề tài “Thiết kế và thi công hệ thống bảng Led Matrix điều khiển bằng APP ANDROID” Kết quả đạt được từ dự án này là rất khả quan.
5.1.1 Giao diện App Android và trên hệ thống Để thuận tiện hơn trong quá trình sử dụng, nhóm thực hiện đã nghiên cứu và phát triển một ứng dụng trên điện thoại smartphone sử dụng hệ điều hành Android cho điều khiển trên bảng LED MATRIX.
Giao diện App Android như sau:
Hình 5.1 Giao diện màn hình chính của App
App bao gồm 9 chế độ: Paint, Game Play, Clock, Temp, Bright, Image, Text, Effect, Video.
Chế độ thứ nhất trong ứng dụng Paint cho phép người dùng vẽ bất kỳ điểm ảnh nào, và những điểm ảnh này sẽ ngay lập tức hiển thị trên bảng LED MATRIX.
Hình 5.2 Giao diện của Paint và kết quả thực tế trên LED MATRIX.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Chế độ thứ hai là Game play, trong chế độ này có 3 trò chơi gồm TETRIS, SNAKE, TANK.
Hình 5.3 Giao diện điều khiển của Game Play
Hình 5.4 Hình ảnh game TETRIS trên LED MATRIX.
Hình 5.5 Hình ảnh game SNAKE trên LED MATRIX.
Hình 5.6 Hình ảnh game TANK trên LED MATRIX.
Giao diện trò chơi bao gồm các nút điều hướng: TRÁI, LÊN, XUỐNG, PHẢI Nút “OK” chỉ có tác dụng trong game “TETRIS” và “TANK”, với “TETRIS” dùng để thay đổi hình dạng khối và “TANK” dùng để bắn đạn Ngoài ra, nút “clear1” được sử dụng để reset lại trò chơi.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 5.7 Giao diện của đồng hồ.
Hình 5.8 Kết quả hiển thị đồng hồ.
Giao diện bao gồm hai nút "BẬT" và "TẮT" để điều khiển hiển thị đồng hồ trên bảng LED Thanh ngang cho phép điều chỉnh vị trí hiển thị, và trên màn hình có các Listview để thiết lập giờ, phút, giây một cách chính xác.
Chế độ thứ ba là Temp chế độ này có nhiệm vụ cho phép hiển thị nhiệt độ và độ ẩm đọc từ ESP8266.
Hình 5.9 Giao diện của nhiệt độ.
Hình 5.10 Kết quả hiển thị nhiệt độ.
Giao diện bao gồm hai nút BẬT và TẮT để hiển thị hoặc tắt hiển thị thông tin Ngoài ra, người dùng có thể chọn vị trí hiển thị nhiệt độ và độ ẩm thông qua các tùy chọn Hàng và Cột, trong đó Hàng cho phép nhập giá trị từ 0 đến 255 và Cột từ 0 đến 127.
Chế độ Brightness trên app dùng để điều chỉnh độ sáng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Hình 5.11 Giao diện thay đổi độ sáng.
Giao diện có một thanh điều khiển độ sáng màn hình, cho phép điều chỉnh độ sáng từ 0 đến 100, tùy theo ánh sáng môi trường bên ngoài.
Hình 5.12 Hình ảnh hiển thị hai độ sáng khác nhau.
Hình ảnh bên trái thể hiện giá trị độ sáng độ sáng là 30, độ sáng hình ảnh bên phải có giá trị là 60.
Chế độ tiếp theo là Image dùng để hiển thị hình ảnh và ảnh động.
Hình 5.13 Giao diện điều khiển hình ảnh trên APP.
Hình 5.14 Hình ảnh trên LED MATRIX.
Giao diện bao gồm hai chế độ lựa chọn là ảnh động và ảnh tĩnh Cả hai chế độ đều có chức năng bật, tắt gamma thông qua nút gạt giống như công tắc, giúp cải thiện độ rõ nét của hình ảnh Cuối cùng, có nút gạt để điều chỉnh việc hiển thị hình ảnh theo ý muốn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Chế độ hiển thị nội dung text hiển thị các chữ, sô và các kí hiệu trên màn hình với 4 font khác nhau.
Hình 5.16 Kết quả hiển thị của text trên LED MATRIX
Giao diện cho phép người dùng nhập nội dung cần hiển thị, xác định vị trí thông tin qua Hàng (0 đến 255) và Cột (0 đến 127) Ngoài ra, người dùng có thể điều chỉnh độ sáng của ba màu cơ bản: Đỏ, Xanh lá cây và Xanh dương.
Bài viết này giới thiệu 83 thanh màu cho phép người dùng tùy chỉnh màu chữ theo sở thích Người dùng có thể chọn chế độ căn chỉnh văn bản, bao gồm căn trái, căn giữa và căn phải Nút “THỰC HIỆN” giúp thực hiện các thao tác đã chọn, trong khi nút “CLEAR” dùng để xóa nội dung hiển thị.
Chế độ effect hiển thị các hiệu ứng trên màn hình.
Hình 5.18 Kết quả hiển thị trên text trên LED MATRIX
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Sau khi hoàn tất việc lắp ráp mạch điều khiển và các khối thành mô hình hoàn chỉnh, hệ thống các Module Led đã được ghép nối và bố trí chính xác như kế hoạch ban đầu, đồng thời được cố định chắc chắn trên khung sắt.
Hệ thống được thiết kế với mặt sau cố định cho nguồn và mạch điều khiển, các dây nối giữa các Module Led được sắp xếp gọn gàng Dây nguồn đỏ và đen được phân biệt rõ ràng để dễ nhận biết cực tính, và được hàn cos kết nối chắc chắn với các module và nguồn tổ ong Nguồn cho mạch điều khiển được lấy trực tiếp từ nguồn tổ ong 5V, đảm bảo tính tiện lợi và gọn gàng.
Hình 5.20 Kết quả mặt sau hệ thống.
Sau khi hoàn thành sản phẩm có mức độ hoàn thiện tốt về tính thẩm mỹ cũng như khả năng vận hành thực tế.
Hình 5.21 Hình ảnh thực tế.
Mạch liên tục trong 4 giờ duy trì sự ổn định và đảm bảo dữ liệu truyền nhận đầy đủ mà không bị mất mát Hệ thống có khả năng đáp ứng nhanh chóng các yêu cầu của người dùng.
Nhận xét
Sau khi thực hiện xong thì sinh viên đã hoàn thành được các công việc mà đề tài đã đề ra:
Tạo được giao diện ứng dụng Android trên điện thoại.
Gửi được dữ liệu từ ứng dụng xuống bộ xử lý và hiển thị rất tốt.
Sản phẩm hoạt động ổn định, với khả năng khởi động và tắt nguồn thành công 10 lần liên tiếp Thiết kế thi công gọn gàng và an toàn, sản phẩm được cách điện, đảm bảo bảo vệ tối đa cho người sử dụng.