Trong cuộc sống hiện đại ngày nay nhu cầu của con người ngày càng cao nêncác hệ thống thông minh được ra đời để phục vụ nhu cầu của con người. Những hệthống thông minh này ngày càng phổ biến và dần trở nên thịnh hành. Các hệ thốngthông minh hiện nay áp dụng vào hầu hết mọi lĩnh vực của cuộc sống chúng ta nhưcông nghiệp, nông nghiệp, dịch vụ hay thậm chí là quản lý. Chính vì sự phát triển vàthịnh hành của các hệ thống thông minh nên nhóm em đã quyết định tìm hiểu và thựchiện một hệ thống thông minh đem lại sự tiện lợi cho con người. Trong quá trình tìmhiểu thực tế nhóm em nhận thấy rằng hiện nay các hệ thống quảng cáo, thông báo vẫnchưa thực sự phổ biến. Để đáp ứng được thị hiếu khách hàng các hệ thống quảng cáo,thông báo ngày nay đòi hỏi phải có sự linh hoạt, có thể thay đổi nội dung hiển thị mộtcách dễ dàng đồng thời nội dung hiển thị phải sắc nét và đầy đủ màu sắc. Việc sửdụng một hệ thống thông báo thông minh sẽ đáp ứng được các yêu cầu cơ bản mà hệthống thông báo thủ công không thể đáp ứng được.Với mong muốn được tiếp cận với các công nghệ đang phát triển hiện nay cũngnhư xây dựng một mô hình sản phẩm mà có thể áp dụng vào thực tế, đáp ứng đượcnhu cầu của con người trong cuộc sống hiện đại ngày nay. Nhóm thực hiện đồ án vớimong muốn tạo ra một hệ thống có thể hiển thị các nội dung lên trên bảng Led matrixvà được điều khiển bằng điện thoại.Mô hình gồm có chức năng chính như sau:Điều khiển hiển thị đồng hồ, hình ảnh, chữ có dấu, hiệu ứng, thời gian, video,trò chơi, nháy theo nhạc.Các chế độ hiển thị được điều khiển thay đổi thông qua App Android được càitrên điện thoại Android.
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
KHIỂN BẰNG ĐIỆN THOẠI
GVHD: ThS Phan Vân Hoàn SVTH: Huỳnh Tấn Công MSSV: 16141119
SVTH: Trần Thanh Phú MSSV: 16141234
Tp Hồ Chí Minh - 09/2020
Trang 2BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o
Hệ đào tạo: Đại học chính quy Mã hệ: 1
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐỒNG HỒ LED MA
TRẬN ĐIỀU KHIỂN BẰNG ĐIỆN THOẠI
II NHIỆM VỤ
1 Các số liệu ban đầu:
Nhóm tiến hành nghiên cứu về các loại Module Led P5 cũng như phương thức hoạt động, phương thức giao tiếp, đặc tính, ứng dụng của chúng
Thu thập tài liệu hướng dẫn cũng như nghiên cứu về STM32H743, cách lập trình cho Module trên phần mềm Keil C
Thu thập tài liệu hướng dẫn cũng như nghiên cứu về Module NodeMCU ESP8266, cách lập trình cho Module trên phần mềm Arduino IDE
Tìm hiểu về Android, cách thức lập trình một ứng dụng Android và liên kết giữa ứng dụng với hệ thống thông qua wifi
2 Nội dung thực hiện:
Nội dung 1: Nghiên cứu các Module Led 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 và mạng Internet
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 cho hệ thống 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
Nội dung 7: Thử nghiệm và điều chỉnh hệ thống cũng như chương trình để hệ thống được tối ưu Đánh giá các thông số của mô hình so với thực tế
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
III NGÀY GIAO NHIỆM VỤ: 09/03/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/08/2020
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS PHAN VÂN HOÀN
CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 3BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o
Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐỒNG HỒ LED MA
TRẬN ĐIỀU KHIỂN BẰNG ĐIỆN THOẠI
GVHD
Tuần 1
(09/3 – 14/3)
- Gặp GVHD để nghe phổ biến yêu cầu làm đồ
án, tiến hành chọn đề tài, GVHD tiến hành xét duyệt đề tài
Tuần 4
(30/3 – 04/4)
- Tìm hiểu module Wifi, module Bluetooth
- Tìm hiểu về phương thức truyền không dây của NodeMCU ESP8266
- Viết app android để giao tiếp với hệ thống
thông qua wifi
- Tiến hành thi công mạch
- Kiểm tra mạch thi công và hiệu chỉnh mạch
Tuần 10
(11/5 – 16/5)
- Tiến hành hoàn thiện code điều khiển trên điện thoại hiển thị chữ, hiệu ứng, đồng hồ Tuần 11
(18/5 – 23/5)
- Hiển thị các nội dung được điều khiển trên điện thoại lên Led Matrix
Trang 4USB và sử dụng phần mềm đẩy video hiển thị qua Led Matrix
Tuần 13
(08/6 – 13/6)
- Tiến hành viết code cho các trò chơi
- Kết hợp điện thoại để điều khiển các trò chơi
Tuần 14
(15/6 – 20/6)
- Viết báo cáo những nội dung đã làm
- Hoàn thiện báo cáo và gởi cho GVHD để xem xét góp ý lần cuối trước khi in và báo cáo
Tuần 15
(22/6 – 27/6)
- Nộp quyển báo cáo và báo cáo đề tài
- Thiết kế Slide báo cáo
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 5Đề tài này do nhóm tự thực hiện dựa trên một số tài liệu trước và dưới sự hướng dẫn của ThS Phan Vân Hoàn Các số liệu trong đề tài là nhóm có được trong quá trình làm, không sao chép từ tài liệu nào
Người thực hiện đề tài
Huỳnh Tấn Công Trần Thanh Phú
Trang 6Sau hơn một thời gian thực hiện, nhóm đã may mắn hoàn thành được đề tài
“THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐỒNG HỒ LED MA TRẬN ĐIỀU KHIỂN BẰNG ĐIỆN THOẠI”, để có thể đạt được thành quả trên ngoài sự cố gắng của từng thành viên trong nhóm còn có sự giúp đỡ của gia đình, bạn bè, các thầy cô trong khoa Điện – Điện Tử Nhóm thực hiện xin chân thành gửi lời cảm ơn đến: Thầy ThS Phan Vân Hoàn là người trực tiếp hướng dẫn nhóm trong suốt quá trình thực hiện Cảm ơn Thầy đã dành thời gian quý báu để hướng dẫn nhóm, hỗ trợ và góp ý đưa ra hướng giải quyết mỗi khi nhóm gặp khó khăn Bên cạnh đó, nhóm cũng cảm
ơn những kiến thức mà thầy cô đã truyền đạt trong suốt những năm học tại trường Đại Học Sư Phạm Kỹ Thuật TP.HCM để từ đó nhóm có cơ sở để vận dụng hoàn thiện nên đồ án tốt nghiệp này
Nhóm em cũng chân thành gửi lời cảm ơn đến những người bạn sinh viên khoa Điện - Điện tử đã cùng đồng hành và hổ trợ trong quá trình học tập, đã cùng cố gắng, cùng nhau tạo động lực để nhóm để có thể hoàn thành tốt đề tài này Xin trân trọng cảm ơn!
Người thực hiện đề tài Huỳnh Tấn Công Trần Thanh Phú
Trang 7TRANG BÌA……… ………i
NHIỆM VỤ………ii
LỊCH TRÌNH……… ………iii
LỜI CAM ĐOAN v
LỜI CẢM ƠN vi
MỤC LỤC vii
LIỆT KÊ HÌNH iix
LIỆT KÊ BẢNG xii
TÓM TẮT……… xiii
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 3
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 CÁC CHUẨN GIAO TIẾP 4
2.1.1 Giới thiệu về mạng không dây WIFI 4
2.1.2 Giới thiệu về Bluetooth 5
2.1.3 Chuẩn giao tiếp UART 5
2.1.4 Giao thức truyền UDP 7
2.1.5 ADC (Mạch chuyển đổi tương tự sang số ) 8
2.2 PHẦN CỨNG 10
2.2.1 STM32H743 10
2.2.2 ESP8266 10
2.2.3 Module LED P5 12
Chương 3 TÍNH TOÁN THIẾT KẾ 20
3.1 GIỚI THIỆU 20
3.2 THIẾT KẾ SƠ ĐỒ KHỐI 20
3.3 TÍNH TOÁN VÀ THIẾT KẾ MẠCH 21
3.3.1 Khối xử lý trung tâm 21
Trang 83.3.3 Khối hiển thị 30
3.3.4 Khối âm thanh 34
3.3.5 Khối nguồn 36
3.3.6 Sơ đồ nguyên lý toàn mạch 38
Chương 4 THI CÔNG HỆ THỐNG 39
4.1 GIỚI THIỆU 39
4.2 THI CÔNG HỆ THỐNG 39
4.2.1 Thi công bo mạch 39
4.2.2 Lắp ráp và kiểm tra 41
4.3 THI CÔNG MÔ HÌNH 41
4.4 LẬP TRÌNH HỆ THỐNG 42
4.4.1 Lưu đồ giải thuật 42
4.4.2 Phần mềm lập trình cho vi điều khiển 53
4.4.3 Phần mềm lập trình ESP8266( Arduino IDE) 58
4.4.4 Phần mềm lập trình cho điện thoại (Android studio) 60
4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 63
4.5.1 Hướng dẫn sử dụng phần cứng 63
4.5.2 Hướng dẫn sử dụng phần mềm 63
Chương 5 KẾT QUẢ - NHẬN XÉT – ĐÁNH GIÁ 69
5.1 KẾT QUẢ 69
5.1.1 Giao diện App Android và hệ thống 69
5.1.2 Mô hình thực tế 78
5.2 NHẬN XÉT 79
5.3 ĐÁNH GIÁ 80
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81
6.1 KẾT LUẬN 81
6.2 HƯỚNG PHÁT TRIỂN 81
TÀI LIỆU THAM KHẢO………83
PHỤ LỤC……….84
Trang 9Hình Trang
Hình 2 1 Sơ đồ mô tả hoạt động của wifi 4
Hình 2 2 Hệ thống truyền dữ liệu bất đồng bộ 6
Hình 2 3 Khung truyền dữ liệu của chuẩn giao tiếp UART 6
Hình 2 4 Hình ảnh thực tế của STM32H743XI 10
Hình 2 5 Hình ảnh thực tế của Node MCU ESP8266 11
Hình 2 6 Giao tiếp ESP8266 với STM32H743 11
Hình 2 7 Ứng dụng của LED MATRIX Fullcolor 13
Hình 2 8 Hình ảnh thực tế của Module LED MAXTRIX fullcolor P5 14
Hình 2 9 Sơ đồ chân của Module LED Maxtrix Fullcolor P5 14
Hình 2 10 Sơ đồ chân DATA-IN của Module LED P5 15
Hình 2 11 Sơ đồ chân DATA-OUT của Module LED P5 15
Hình 2 12 Quá trình hiển thị từng hàng của LED MATRIX RGB 18
Hình 2 13 Sơ đồ khối quá trình quét led 18
Hình 2 14 Sơ đồ khối quá trình xử lý dữ liệu 19
Hình 3 1 Sơ đồ khối của hệ thống 20
Hình 3 2 Hình ảnh thực tế của STM32H743XIH6 22
Hình 3 3 Sơ đồ chân AMS1117 22
Hình 3 4 Sơ đồ khối của vi điều khiển STM32H743XI 25
Hình 3 5 Sơ đồ nguyên lý của khối xử lý trung tâm 26
Hình 3 6 Ảnh thực tế NodeMCU ESP8266 27
Hình 3 7 Sơ đồ chân của NodeMCU ESP8266 28
Hình 3 8 Sơ đồ khối giao tiếp giữa vi điều khiển và ESP8266 29
Hình 3 9 Giao tiếp Uart giữa STM32H743 với ESP8266 29
Hình 3 10 Ứng dụng led matrix trong đời sống hằng ngày 30
Hình 3 11 Module led matrix p5 31
Hình 3 12 Sơ đồ kết nối giữa STM32 với Led matrix P5 32
Hình 3 13 Sơ đồ bố trí các module Led P5 32
Hình 3 14 Module Bluetooth BM3 34
Hình 3 15 Mạch khuếch đại âm thanh PAM8403 35
Trang 10Hình 4 1 Mạch in sau khi vẽ xong 40
Hình 4 2 Kích thước khung sắt 41
Hình 4 3 Lưu đồ chính hệ thống 42
Hình 4 4 Lưu đồ ESP8266 43
Hình 4 5 Lưu đồ vi điều khiển STM32H743 44
Hình 4 6 Lưu đồ hiển thị nôị dung 45
Hình 4 7 Lưu đồ hiển thị ảnh 46
Hình 4 8 Lưu đồ điều khiển đồng hồ 47
Hình 4 9 Lưu đồ điều chỉnh độ sáng 48
Hình 4 10 Lưu đồ điều khiển hiệu ứng nền 49
Hình 4 11 Lưu đồ điều khiển hiệu ứng khung 49
Hình 4 12 Lưu đồ điều khiển paint 50
Hình 4 13 Lưu đồ game Tank 51
Hình 4 14 Lưu đồ hiển thị video 52
Hình 4 15 Lưu đồ nháy theo nhạc 53
Hình 4 16 Tạo project mới trên STM32CubeMx 54
Hình 4 17 Cấu hình các chân I/O trên STM32CubeMx 55
Hình 4 18 Cấu hình xung nhịp trên STM32CubeMX 55
Hình 4 19 Tạo code trên STM32CubeMX 56
Hình 4 20 Giao diện phần mềm lập trình Keil C 56
Hình 4 21 Thiết lập cấu hình cho Keil C 57
Hình 4 22 Buid và nạp code lên chip 57
Hình 4 23 Logo phần mềm Arduino 58
Hình 4 24 Giao diện của phần mềm Arduino 58
Hình 4 25 Bước nhập thư viện cho Arduino 59
Hình 4 26 Bước nhập thư viện Arduino 59
Hình 4 27 Bước nhập thư viện Arduino 60
Hình 4 28 Logo hệ điều hành Android 61
Hình 4 29 Logo phần mềm Android Studio 61
Hình 4 30 Giao diện phần mềm Android Studio 62
Hình 4 31 Wifi của hệ thống 63
Trang 11Hình 4 33 Giao diện màn hình chính 64
Hình 4 34 Giao diện của Text 65
Hình 4 35 Giao diện Game Play 66
Hình 4 36 Giao diện điều khiển đồng hồ 67
Hình 4 37 Giao diện paint 67
Hình 4 38 Chế độ nháy theo nhạc 68
Hình 5 1 Giao diện app điều khiển trên điện thoại 69
Hình 5 2 Giao diện Paint trên điện thoại 70
Hình 5 3 Kết quả thực tế trên bảng LED 70
Hình 5 4 Giao diện điều khiển Game Play 71
Hình 5 5 Hình ảnh game TETRIS trên bảng LED 71
Hình 5 6 Hình ảnh game TANK trên bảng LED 72
Hình 5 7 Giao diện hiển thị đồng hồ 72
Hình 5 8 Kết quả hiển thị đồng hồ trên bảng LED 73
Hình 5 9 Giao diện điều chỉnh độ sáng 73
Hình 5 10 Giao diện điều khiển hiển thị hình ảnh 74
Hình 5 11 Hình ảnh hiển thị trên bảng LED 74
Hình 5 12 Giao diện chế độ nháy theo nhạc 75
Hình 5 13 Kết quả hiển thị nháy theo nhạc trên bảng LED 75
Hình 5 14 Giao diện chế độ Text 76
Hình 5 15 Kết quả hiển thị lên bảng LED 76
Hình 5 16 Giao diện trên điện thoại 77
Hình 5 17 Kết quả hiển thị lên bảng LED 78
Hình 5 18 Kết quả mặt trước hệ thống 78
Hình 5 19 Mặt sau hệ thống 79
Trang 12Bảng 2 1 Kết nối giữa STM32H743 và ESP8266 12
Bảng 2 2 Các thông số của các chân A, B, C, D quét hàng 16
Bảng 3 1 Thông số ngoại vi của vi điều khiển STM32H732XI 23
Bảng 3 2 Thông số kỹ thuật module LED matrix P5 31
Bảng 3 3 Kết nối giữa STM32 với LED P5 33
Bảng 4 1 Danh sách linh kiện sử dụng trong mạch 40
Bảng 4 2 Cấu tạo một project Android 62
Trang 13Trong cuộc sống hiện đại ngày nay nhu cầu của con người ngày càng cao nên các hệ thống thông minh được ra đời để phục vụ nhu cầu của con người Những hệ thống thông minh này ngày càng phổ biến và dần trở nên thịnh hành Các hệ thống thông minh hiện nay áp dụng vào hầu hết mọi lĩnh vực của cuộc sống chúng ta như công nghiệp, nông nghiệp, dịch vụ hay thậm chí là quản lý Chính vì sự phát triển và thịnh hành của các hệ thống thông minh nên nhóm em đã quyết định tìm hiểu và thực hiện một hệ thống thông minh đem lại sự tiện lợi cho con người Trong quá trình tìm hiểu thực tế nhóm em nhận thấy rằng hiện nay các hệ thống quảng cáo, thông báo vẫn chưa thực sự phổ biến Để đáp ứng được thị hiếu khách hàng các hệ thống quảng cáo, thông báo ngày nay đòi hỏi phải có sự linh hoạt, có thể thay đổi nội dung hiển thị một cách dễ dàng đồng thời nội dung hiển thị phải sắc nét và đầy đủ màu sắc Việc sử dụng một hệ thống thông báo thông minh sẽ đáp ứng được các yêu cầu cơ bản mà hệ thống thông báo thủ công không thể đáp ứng được
Với mong muốn được tiếp cận với các công nghệ đang phát triển hiện nay cũng như xây dựng một mô hình sản phẩm mà có thể áp dụng vào thực tế, đáp ứng được nhu cầu của con người trong cuộc sống hiện đại ngày nay Nhóm thực hiện đồ án với mong muốn tạo ra một hệ thống có thể hiển thị các nội dung lên trên bảng Led matrix
và được điều khiển bằng điện thoại
Mô hình gồm có chức năng chính như sau:
Điều khiển hiển thị đồng hồ, hình ảnh, chữ có dấu, hiệu ứng, thời gian, video, trò chơi, nháy theo nhạc
Các chế độ hiển thị được điều khiển thay đổi thông qua App Android được cài trên điện thoại Android
Trang 14Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Đối với mỗi con người chúng ta, thời gian là một trong những thứ quan trọng nhất Thời gian đã trôi qua thì không thể nào trở lại được nên chúng ta phải sử dụng thời gian một cách hợp lý và hiệu quả nhất Nếu chúng ta biết cách sắp xếp thời gian hợp lý thì chúng ta có thể hoàn thành được mục tiêu đề ra, đồng thời cải thiện được hiệu suất làm việc Ngoài ra chúng ta sẽ không phải hối hận vì đã bỏ lỡ những giây phút hạnh phúc, sum vầy bên người thân và gia đình
Hiện nay trên thị trường chỉ có một số loại đồng hồ kim và đồng hồ số đơn giản thông thường để xem giờ Thiết kế đồng hồ hiển thị trên LED ma trận dùng vi điều khiển nhằm mục đích hỗ trợ người dùng xem được thời gian, đồng thời hỗ trợ người dùng theo dõi, quản lý quỹ thời gian của mình để làm việc được tốt hơn Trong quá trình sử dụng đồng hồ sẽ cập nhật chính xác thời gian hiện tại Ngoài ra đồng hồ còn
có khả năng hiển thị hình ảnh, video, hiệu ứng, trò chơi mang lại tính giải trí, thích thú cho người dùng Đây là sản phẩm gần gũi, có tính mới lạ độc đáo và dễ dàng sử dụng, đặt biệt là tiềm năng về thương mại hóa tạo nên nguồn kinh tế
Thiết bị hoạt động dùng vi điều khiển để xử lý nên có độ chính xác cao, giao tiếp với các module khác như module LED, Wifi, Bluetooth để tạo nên một hệ thống hoàn chỉnh
Hiện nay, đã có rất nhiều nghiên cứu, cụ thể trong đó là những Đồ Án Tốt Nghiệp (ĐATN) được thực hiện tạo ra những mô hình thực tế như năm 2018, Trương Minh Châu và Phan Tấn Kha với đề tài “Thiết kế đồng hồ hiển thị trên ma trận LED RGB sử dụng Vi Điều Khiển”, đề tài này đã tạo ra được một sản phẩm hoàn chỉnh với nhiều điểm mới lạ và độ thẩm mỹ cao có thể thương mại hóa sản phẩm để tạo nguồn lợi kinh tế Tiếp theo là đề tài ĐATN của Trần Châu Phong và Nguyễn Minh Đức năm 2019, với đề tài “Bảng led ma trận điều khiển bằng ứng dụng android”, đề tài này sử dụng một xu hướng mới đó là điều khiển thiết bị qua ứng dụng android của điện thoại, một xu hướng rất phát triển trong những năm gần đây và cả trong tương lai Từ những khảo sát trên, cùng với các kiến thức đã được trang bị, nhóm làm đề tài
Trang 15kiến nghị thực hiện việc thiết kết và thi công một hệ thống ứng dụng bởi vi điều khiển
Hệ thống có tên là “Thiết kế và thi công hệ thống đồng hồ led ma trận điều khiển
bằng điện thoại” có chức năng hiển thị đồng hồ, chữ và hiển thị được các hình ảnh,
video, hiệu ứng, nháy theo nhạc và một số trò chơi
1.2 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 sẽ nhằm mục đích hiển thị thời gian, chữ có dấu, hình ảnh, hiệu ứng, video, nháy theo nhạc và chơi trò chơi Tất cả các thông tin, chế độ hiển thị hay điều khiển đều được điều khiển thay đổi qua APP ANDROID trên điện thoại ANDROID
1.3 NỘI DUNG NGHIÊN CỨU
Trong quá trình thực hiện Đồ án tốt nghiệp với đề tài “Thiết kế và thi công đồng
hồ led ma trận điều khiển bằng điện thoại android”, nhóm chúng em đã tập trung giải quyết và hoàn thành được những nội dung sau:
- Nội dung 1: Tìm hiểu các Module Led P5
- Nội dung 2: Tìm hiểu về KIT Node MCU ESP8266, KIT STM32H743XIH6 giao tiếp không dây wifi và bluetooth
- Nội dung 3: Nghiên cứu viết ra một app Android để điều khiển
- Nội dung 4: Tiến hành viết code hoàn thiện
- Nội dung 5: Thiết kế và tính toán các thông số phần cứng của mạch
- Nội dung 6: Thi công mạch, chạy thử nghiệm ban đầu, điều chỉnh các thông
số
- Nội dung 7: Thử nghiệm và điều chỉnh hệ thống cũng như chương trình để
hệ thống được tối ưu Đánh giá các thông số của mô hình so với thực tế
- 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
1.4 GIỚI HẠN
Các thông số giới hạn của đề tài bao gồm:
- Kích thước phần Led hiển thị: 256x128
- Ứng dụng điện thoại chỉ chạy được trên hệ điều hành Android
Trang 16- Nội dung hiển thị chỉ gồm đồng hồ, chữ có dấu, hình ảnh, hiệu ứng, video, nháy theo nhạc và một số trò chơi
1.5 BỐ CỤC
Đề tài: “Thiết kế và thi công hệ thống đồng hồ led ma trận điều khiển bằng
điện thoại” được trình bày với bố cục như sau:
• Chương 1: Tổng quan
Chương này nhóm em sẽ đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án
• Chương 2: Cơ sở lý thuyết
Chương này nhóm sẽ nêu tổng quát các kiến thức cơ bản để xây dựng mô hình này Bao gồm các lý thuyết, khái niệm các chuẩn giao tiếp, các phần mềm ứng dụng,
mô tả về cách quét led, các công cụ cần thiết
• Chương 3: Tính toán và thiết kế
Chương này thiết kế sơ đồ khối hệ thống, giải thích chức năng từng khối, tính toán, thiết kế và lựa chọn linh kiện từng khối Sau đó kết nối các khối với nhau thành một hệ thống hoàn chỉnh
• Chương 4: Thi công hệ thống
Chương này trình bày cách cài hệ điều hành, cài đặt thư viện, các phương pháp điều khiển và hiển thị, lưu đồ giải thuật Đồng thời trình bày các bước thi công mạch,
sơ đồ mạch layout, lắp ráp, 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 yêu cầu 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 nêu lên kết luận chung về những gì đã thực hiện đồng thời đúc kết lại ưu, khuyết điểm của đề tài để đưa ra hướng phát triển để ứng dụng tốt vào thực tế
Trang 17Chương 2 CƠ SỞ LÝ THUYẾT
Ở chương 2 nhóm sẽ tổng hợp lên những kiến thức được xem là nền tảng để có thể xây dựng được hệ thống này bao gồm: kiến thức về wifi, kiến thức về android, kiến thức về Bluetooth, kiến thức quét led, kiến thức về truyền nhận dữ liệu…
2.1 CÁC CHUẨN GIAO TIẾP
2.1.1 Giới thiệu về mạng không dây WIFI
a Giới thiệu
WIFI là viết tắt của Wireless Fidelity được gọi chung là mạng không giây là phương thức kết nối không dây sử dụng sóng vô tuyến để truyền tín hiệu Loại sóng này tương tự như sóng điện thoại, sóng truyền hình hay sóng radio nhưng khác nhau
ở tần số hoạt động
Wifi chủ yếu hoạt động trên băng tần 54 Mbps, dựa trên chuẩn kết nối IEEE 802.11 và có thể đạt tín hiệu mạnh nhất trong khoảng cách gần 31 mét theo lý thuyết Còn trong thực tế thì do có nhiều vật cản trên đường truyền sóng Wifi nên khoảng cách đạt tín hiệu mạnh sẽ bị thu hẹp lại
Sóng wifi truyền nhận dữ liệu ở tần số 2,5Ghz đến 5Ghz Tần số cao này cho phép nó mang nhiều dữ liệu hơn nhưng phạm vi truyền của nó bị giới hạn; còn các loại sóng khác, tuy tần số thấp nhưng có thể truyền đi được rất xa
b Nguyên tắc hoạt động
Để tạo được kết nối Wifi nhất thiết phải có bộ thu phát, thông tin từ mạng Internet qua kết nối hữu tuyến rồi chuyển nó sang tín hiệu vô tuyến và gửi đi, bộ chuyển tín hiệu không dây trên các thiết bị di động thu nhận tín hiệu này rồi giải mã
nó sang những dữ liệu cần thiết Quá trình này có thể thực hiện ngược lại, nhận tín hiệu vô tuyến từ Adapter và giải mã chúng rồi gởi qua Internet
Hình 2 1 Sơ đồ mô tả hoạt động của wifi
Trang 182.1.2 Giới thiệu về Bluetooth
a Giới thiệu
Bluetooth là một chuẩn công nghệ truyền thông không dây tầm ngắn giữa các thiết bị điện tử Công nghệ này hỗ trợ việc truyền dữ liệu qua các khoảng cách ngắn giữa các thiết bị di động và cố định
Bluetooth về cơ bản là một giao tiếp bằng sóng radio ở băng tần 2.4GHz đến 2.480 GHz, rất gần với chuẩn Wifi 2.4GHz hiện nay Tuy nhiên, khác với Wifi hay các sóng radio khác hoạt động ở 1 băng tầng cố định, Bluetooth triển khai theo khái niệm "nhảy tần trải phổ" (Frequency Hopping Spread Spectrum), có nghĩa là băng tần hoạt động của Bluetooth thay đổi liên tục với 79 kênh (từ 2.400 GHz đến 2.480 GHz)
Bluetooth có thể đạt được tốc độ truyền dữ liệu 1Mb/s Bluetooth hỗ trợ tốc độ truyền tải dữ liệu lên tới 720 Kbps trong phạm vi 10m - 100m
b Ưu nhược điểm của kết nối bluetooth
- Ưu điểm:
• Không cần dùng dây cáp nên rất gọn gàng
• Không làm ảnh hưởng sức khỏe con người
• Khả năng bảo mật cao
• Chi phí thấp
• Tốn ít năng lượng
• Không gây nhiễu cho thiết bị không dây khác
• Khả năng tương thích cao giữa các thiết bị
- Nhược điểm:
• Tốc độ thấp (tối đa chỉ khoảng 720kbps)
• Kết nối có khi bị yếu nếu có nhiều vật cản
• Thời gian thiết lập không nhanh
2.1.3 Chuẩn giao tiếp UART
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
Trang 19phá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ộ.
b Các thông số UART
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:
Baud rate (tốc độ baud): tốc độ baud là số bit truyền được trong 1 giây Việc cài đặt tốc độ baud rất quan trọng, muốn truyền và nhận không đồng bộ xảy ra thành công thì các thiết bị tham gia phải “thống nhất” nhau về khoảng thời gian dành cho 1 bit truyền, hay nói cách khác tốc độ truyền phải được cài đặt như nhau trước, tốc độ này gọi là tốc độ Baud
Frame (khung truyền): Do truyền thông nối tiếp mà nhất là nối tiếp không đồng
bộ rất dễ mất hoặc sai lệch dữ liệu, quá trình truyền thông theo kiểu này phải tuân theo một số quy cách nhất định Bên cạnh tốc độ baud, khung truyền là một yếu tố quan trọng tạo nên sự thành công khi truyền và nhận Khung truyền bao gồm các quy định về số bit trong mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số lượng các bit trong một data cũng được quy định bởi khung truyền
Trang 20Start Bit: start là bit đầu tiên được truyền trong một frame truyền, bit này có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận Data không nhất thiết phải là gói 8 bit, với AVR bạn có thể quy định số lượng bit của data là 5, 6, 7, 8 hoặc 9 (tương tự cho hầu hết các thiết bị hỗ trợ UART khác) Trong truyền thông nối tiếp UART, bit nhỏ nhất (LSB – Least Significant Bit, bit bên phải) của data sẽ được truyền trước và cuối cùng là bit lớn nhất (MSB – Most Significant Bit, bit bên trái)
Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương đối) Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Parity chẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn Ngược lại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ Bit Parity là không bắt buộc nên có thể dùng hoặc không
Stop Bit: stop bit là một hoặc các bit thông báo cho thiết bị nhận rằng một gói
dữ liệu đã được gởi xong Sau khi nhận được stop bit, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu
2.1.4 Giao thức truyền UDP
a Giới thiệu
UDP là viết tắt của cụm từ User Datagram Protocol UDP là một phần của bộ giao thức Internet được sử dụng bởi các chương trình chạy trên các máy tính khác nhau trên mạng Không giống như TCP/IP, UDP được sử dụng để gửi các gói tin ngắn gọi
là datagram, cho phép truyền nhanh hơn Tuy nhiên, UDP không cung cấp kiểm tra lỗi nên không đảm bảo toàn vẹn dữ liệu
Trang 21- Giao thức UDP nhanh và hiệu quả hơn đối với các mục tiêu có kích thước nhỏ và yêu cầu khắt khe về thời gian
c Cách thức hoạt động của UDP
Giao thức UDP hoạt động tương tự như TCP nhưng nó không cung cấp kiểm tra lỗi khi truyền gói tin Khi một ứng dụng sử dụng UDP, các gói tin chỉ được gửi đến người nhận Người gửi không đợi để đảm bảo người nhận nhận được gói tin hay không, mà nó tiếp tục gửi các gói tiếp theo Nếu người nhận bỏ lỡ một vài gói tin UDP, gói tin đó bị mất vì người gửi sẽ không gửi lại chúng Điều này sẽ cho phép các thiết bị có thể giao tiếp nhanh hơn
d Ứng dụng
Ứng dụng phổ biến nhất sử dụng giao thức UDP có thể kể đến như DNS (Domain Name System) Voice over IP, ứng dụng streaming media, Trivial File Transfer protocol (TFTP), và game trực tuyến
2.1.5 ADC (Mạch chuyển đổi tương tự sang số)
a Giới thiệu
Bộ chuyển đổi tương tự sang số là một mạch chuyển đổi giá trị điện áp liên tục (analog) thành giá trị nhị phân (kỹ thuật số) có thể hiểu được bằng một thiết bị kỹ thuật số có thể được sử dụng để tính toán kỹ thuật số Các mạch ADC này có thể được tìm thấy dưới dạng một IC ADC riêng lẻ hoặc được nhúng vào một vi điều khiển Chúng được gọi là ADC
b Hoạt động
Để thực hiện việc chuyển đổi một tín hiệu analog thực tế (như nhiệt độ, độ ẩm,
âm thanh ) thành tín hiệu kĩ thuật số, thì tín hiệu analog thực tế này phải được chuyển đổi thành dạng điện áp Bộ ADC sau đó sẽ đọc các giá trị điện áp này và chuyển đổi thành tín hiệu kĩ thuật số tương ứng Do quá trình chuyển đổi này liên quan đến việc lượng tử hóa tín hiệu ngõ vào, do đó nhất thiết mắc một lượng lỗi hoặc bị ảnh hưởng bởi nhiễu tín hiệu Thay vì liên tục thực hiện việc chuyển đổi, bộ ADC thực hiện việc chuyển đổi theo chu kì, lấy mẫu (sampling) tín hiệu ngõ vào, giới hạn băng thông cho phép của tín hiệu
Hoạt động của một bộ ADC được đặc trưng bởi băng thông và tỉ số tín hiệu nhiễu (SNR signal-to-noise ratio) Băng thông của ADC được đặc trưng bởi tốc độ
Trang 22lấy mẫu (sampling rate) Tỉ số tín hiệu nhiễu của bộ ADC bị ảnh hưởng bởi nhiều yếu
tố bao gồm: độ phân giải, độ tuyến tính và độ chính xác Tỉ số tín hiệu nhiễu của bộ ADC thể hiện số bit trung bình trả về trong mỗi tính toán mà không bị nhiễu, được gọi là số bit hiệu quả (ENOB effective number of bits) Một bộ ADC lý tưởng có số ENOB bằng với độ phân giải của nó
Hai thông số quan trọng cần lưu ý của ADC:
- Độ phân giải: Lượng tử hóa là quá trình lấy tín hiệu điện áp liên tục và ánh xạ
nó tới một số mức điện áp riêng biệt Số lượng các mức điện áp ảnh hưởng đến quá trình lượng tử hóa xảy ra Vì máy tính kỹ thuật số có bản chất nhị phân, số lượng mức
độ lượng tử hóa thường là lũy thừa bằng 2, tức là 2N trong đó N là số bit lượng tử hóa Tín hiệu có thể được khuếch đại hoặc suy giảm trước khi đi vào ADC, do đó mức điện áp tối đa và tối thiểu mang lại sự thỏa hiệp tốt nhất giữa độ phân giải của các mức tín hiệu và giảm thiểu sai số
- Tốc độ lấy mẫu: Vì tín hiệu analog là liên tục theo thời gian nên cần thiết để chuyển đổi tín hiệu này thành một dãy các giá trị kĩ thuật số Do đó cần định nghĩa một đại lượng tốc độ đặc trưng cho thời gian mà các giá trị kĩ thuật số được lấy mẫu
từ tín hiệu analog Tốc độ này được gọi là tốc độ lấy mẫu hay tần số lấy mẫu Một tín hiệu analog liên tục có thể được lấy mẫu và sau đó được khôi phục lại dạng tín hiệu gốc ban đầu từ các giá trị mẫu rời rạc theo thời gian bởi bộ lọc khôi phục Định lý lấy mẫu Nyquist–Shannon chỉ ra rằng tín hiệu gốc chỉ có thể được khôi phục lại như ban đầu nếu tốc độ lấy mẫu lớn hơn hoặc bằng 2 lần tần số lớn nhất của tín hiệu gốc
Do bộ ADC không thể thực hiện việc chuyển đổi tín hiệu tức thời, giá trị đầu vào phải được lưu như hằng số trong thời điểm thực hiện tính toán-chuyển đổi (gọi
là thời gian chuyển đổi, conversion time) Khối mạch lấy giá trị lấy mẫu và thực hiện quá trình tính toán-chuyển đổi này trong phần lớn các trường hợp dùng tụ điện để lưu các giá trị analog điện áp đầu vào và sử dụng mạch switch hoặc gate để ngắt kết nối
tụ với ngõ vào Nhiều IC ADC ngày nay đều có thành phần là các khối xử lý đó
Trang 232.2 PHẦN CỨNG
2.2.1 STM32H743
Khối xử lý trung tâm có vai trò là một nơi nhận dữ liệu, xử lý dữ liệu và xuất các tín hiệu điều khiển ra khối hiển thị, dữ liệu phải được xử lý 1 cách liên tục, nhanh chóng và chính xác Với các yêu cầu về hệ thống như trên, có nhiều loại để sử dụng nhưng trong đề tài này nhóm quyết định sử dụng STM32H743 làm bộ xử lý trung tâm
STM32H743 là vi điều khiển dựa trên nền tảng lõi ARM Cortex-M7 thế hệ mới
do hãng ARM thiết kế Lõi ARM Cortex-M7 là sự cải tiến từ lõi ARM truyền thống từng mang lại thành công vang dội cho công ty ARM
Hình 2 4 Hình ảnh thực tế của STM32H743XI
Vi điều khiển STM32H743XI được thiết kế dựa trên lõi RISC 32-bit ARM Cortex-M7 hiệu suất cao với tốc độ hoạt động lên tới 400 MHz, chip được hỗ trợ bộ DSP instruction và MPU (memory protection unit) để nâng cao tính bảo mật
STM32H743XI có bộ nhớ Flash lên đến 2Mbytes kết hợp với bộ nhớ nhúng tốc
độ cao Bộ nhớ RAM khoảng 1Mbytes bao gồm 192 Kbytes TCM RAM, 864 Kbytes SRAM và 4Kbytes backup SRAM
Vi điều khiển khiển hoạt động ở nhiệt độ từ -40 đến 85 độ C với điện áp giới hạn từ 1.62 đến 3.6 V
2.2.2 ESP8266
Node MCU ESP8266 là một nền tảng IoT mở, được phát triển dựa trên Chip Wifi ESP8266 bên trong của Module giúp dễ dàng kết nối chỉ với vài thao tác Với kích thước nhỏ gọn, linh hoạt thì module có thể dễ dàng kết nối với các thiết bị ngoại
vi, hoàn thiện các dự án hay sản phẩm một cách nhanh chóng và đơn giản nhất
Trang 24Trong hệ thống này Node MCU ESP8266 nhận dữ liệu từ app Android và truyền
dữ liệu cho khối xử lý trung tâm
Hình 2 5 Hình ảnh thực tế của Node MCU ESP8266
• Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
• Bộ nhớ Flash: 4MB - Giao tiếp: Cable Micro USB
• Hỗ trợ bảo mật: WPA/WPA2
• Tích hợp giao thức TCP/IP
- Giao tiếp ESP với STM32H743
Để giao tiếp với STM32H743 chỉ cần kết nối chân TX, RX với chân RX, TX của vi điều khiển để truyền nhận dữ liệu
Hình 2 6 Giao tiếp ESP8266 với STM32H743
Dữ liệu thu được từ Node MCU ESP8266 sẽ được chuyển qua cho STM32H743
xử lý Kết nối giữa hai vi điều khiển NodeMCU ESP8266 và STM32H743 dựa theo
Trang 25chuẩn kết nối UART Kết nối các chân của STM32H743 và Node MCU ESP8266 như bảng sau:
Bảng 2 1 Kết nối giữa STM32H743 và ESP8266
STM32H743 ESP8266
Cách nối dây cho NodeMCU vào STM32H743 như sau:
Dây Vin Node MCU ESP8266 nối vào nguồn 5V của STM32H743 và dây GND Node MCU nối vào chân GND của STM32H743
Dây TX của Node MCU ESP8266 nối vào chân số RX của STM32H743 và dây
RX của Node MCU ESP8266 nối chân TX của STM32H743
Nối GND chung giữa STM32H743 và Node MCU ESP8266, thiết lập cả 2 có cùng tốc độ Baud
Cách thức giao tiếp của Node MCU ESP8266 và STM32H743: Khi có tín hiệu được gửi đi từ STM32H743 thông qua chân TX trên STM32H743, dữ liệu này sẽ được đưa vào chân RX của Node MCU ESP8266 để lưu trữ và xử lý, ngược lại khi
có tín tín hiệu gửi đi từ chân TX cho Node MCU ESP8266 thì dữ liệu gửi đi này sẽ được đưa vào chân RX của STM32H743 để lưu trữ và xử lý, quá trình truyền nhận này sẽ diễn ra liên tục
2.2.3 Module LED P5
Chức năng hiển thị các thông tin từ các khối khác để người sử dụng dễ dàng quan sát được Để phù hợp với các lĩnh vực quảng cáo sản phẩm, bảng hiệu công ty hay màn hình trong các sự kiện, hội nghị, vì thế mà Module LED P5 fullcolor trong nhà được ưa chuộng và sử dụng rộng rãi
Trang 26Hình 2 7 Ứng dụng của LED MATRIX Fullcolor
- Lý do chọn loại Module này:
• Là loại module LED rất phổ biến trên thị trường và đang được sử dụng rộng rãi tại Việt Nam
• Giá thành không quá đắt
• Mở rộng kích thước bảng đơn giản, không cần thay đổi phần cứng
• Kích thước 1 tấm 16cm x 32cm, chỉ cần cấp nguồn và nối với nhau qua dây cáp tín hiệu là bảng đã được lắp xong
• Module fullcolor trong nhà P5 của hãng có thể hiển thị chữ với rất nhiều màu sắc, kết hợp với video đẹp mắt để tạo lên những bảng led full color hay màn hình led
• Lắp đặt nhanh chóng, sử dụng đơn giản
Trang 27- Nhược điểm:
• Bóng khá thưa nên hình ảnh khi nhìn gần không sắc nét, không mịn
Hình 2 8 Hình ảnh thực tế của Module LED MAXTRIX fullcolor P5
- Cấu tạo của module bao gồm:
• 24 IC ghi dịch 16 bit ICN2028BP
• 2 IC ghi đệm dòng ICN74HC245TS
• 4 IC giải mã ICN2012
• 1 cái là đầu vào dữ liệu, 1 cái là đầu ra (để mắc nối tiếp với tấm khác)
Hình 2 9 Sơ đồ chân của Module LED Maxtrix Fullcolor P5
Trang 28- Jump DATA-IN cần chú ý tới các chân:
Hình 2 10 Sơ đồ chân DATA-IN của Module LED P5
• OE: Đây là chân điều khiển IC ICN2012 Nếu OE=0 thì IC ICN2012 không hoạt động Tất cả các hàng đều không sáng (cả bảng LED sẽ tắt) Như vậy chân này có 2 nhiệm vụ là quét LED và băm xung PWM điều khiển độ sáng của bảng LED
• 4 chân A, B, C và D: 4 chân này sẽ điều khiển ngõ ra của IC ICN2012,
cụ thể 4 chân này giải mã 4 bit sang 16 bit cho phép hàng thứ 0 đến hàng thứ 16 được phép xuất dữ liệu
• CLK: Chân tạo xung đẩy dữ liệu vào của ICN2028BP
• LAT: Chân tạo xung xuất dữ liệu trong ICN2028BP ra ngoài
• DATA (R1, G1, B1, R2, G2, B2): Là các chân dữ liệu màu từ IC dịch 16 bit ICN74HC245TS, với chân R hiển thị được dữ liệu màu đỏ, G cho ra màu xanh lá và chân B cho ra màu xanh dương, đây là 3 màu cơ bản để xuất ra nhiều màu khác nhau
Hình 2 11 Sơ đồ chân DATA-OUT của Module LED P5
- Jump DATA-OUT đối diện cũng có sơ đồ giống như thế và các chân OE, A, B,
C, D, CLK, LAT của 2 jump thực chất nối thông với nhau Duy chỉ có chân DATA
Trang 29là khác nhau Jump DATA-OUT cho phép nối các module lại với nhau bằng cách nối Jump DATA-OUT vào Jump DATA-IN, nguyên nhân chúng có thể nối lại được với nhau do các chân DATA R1, G1, B1, R2, B2, G2 là chân dữ liệu từ ic dịch ICN74HC245TS xuất dữ liệu từ nối tiếp ra song song, do đó việc nối 2 jump với nhau thực chất là ghép các ic dịch ICN74HC245TS dịch lại với nhau
- Nguyên lý hoạt động:
• Tín hiệu OE: tích cực mức logic cao (5V) cho phép chốt hàng
• Tín hiệu chọn hàng: A, B, C, D là đường tín hiệu cho phép chọn hàng hiển thị
• Tín hiệu LAT: Tín hiệu cho phép chốt dữ liệu ra cột
• Tín hiệu CLK: xung đưa dữ liệu ra IC ghi dịch
• Tín hiệu DATA: đưa dữ liệu cần hiển thị ra bảng LED
- Phương pháp quét của mudule:
• Quét theo tỉ lệ 1/16 (Mỗi lần quét tích cực 16 hàng)
• Tất cả mô đun có 32 hàng, 64 cột Tại 1 thời điểm nhất định sẽ có 2 hàng đồng thời được nối với nguồn Vcc (được cho phép sáng)
Bảng 2 2 Các thông số của các chân A, B, C, D quét hàng
Chân D Chân C Chân B Chân A Hàng tích cực
Trang 30Khi A=B=C=D=0 thì hàng 0,16 sẽ được cho phép hiển thị dữ liệu
Khi A=1, B=C=D=0 thì hàng 1,17 được tích cực, sẽ được cho phép hiển thị
- Tiếp theo kéo chân LAT và chân OE lên mức cao Việc cho phép chân LAT
ở mức cao, cho phép dữ liệu đã được xuất dữ liệu ở bước một hiển thị đầu ra ở hàng hiện tại nhưng nó cũng vô hiệu hóa đầu ra khi chúng ta chuyển hàng
- Chuyển hàng bằng cách dựa vào bảng 2.2 như đã đề cập, tức là dựa vào trạng thái các chân A, B, C, D để chuyển tiếp các hàng
- Kéo chân LAT và chân OE ở mức cao một lần nữa, cho phép đầu ra và đóng chốt để chúng ta có thể xuất dữ liệu trong hàng tiếp theo
- Nếu chúng ta lặp lại các bước này đủ nhanh, mắt của chúng ta sẽ không thể biết rằng chỉ một hàng tại một thời điểm được bật sáng và hình ảnh hoàn chỉnh sẽ xuất hiện trên màn hình Rõ ràng khi chúng ta cần nhiều bit xung clock để đẩy dữ liệu
ở mỗi hàng, chu kỳ này càng chậm Để giải quyết vấn đề này, các bảng RGB được xây dựng để cho phép chúng ta mỗi lần thực hiện xung clock đẩy được 6 bit dữ liệu
ở các chân R1, G1, B1, R2, G2, B2 cho đèn Led màu đỏ, xanh lá cây và xanh dương cùng một lúc Trên màn hình 32x64 của nhóm đang sử dụng, mỗi xung clock xuất được 6 bit dữ liệu, 3 bit đại diện cho một pixel ở 16 hàng đầu tiên và 3 bit đại diện cho pixel ở 16 hàng còn lại Mỗi chu kì đồng hồ trong trường hợp này đại diện cho 2
Trang 31pixel của màn hình, do đó để ghi vào toàn bộ màn hình trong cả hai trường hợp sẽ mất 1024 chu kì đồng hồ Với tốc độ quét được mô tả trong bảng 2.2 có tỉ lệ quét 1:16, chúng ta đang hiển thị 128 pixel tại bất kì thời điểm nào của mỗi hàng
Hình 2 12 Quá trình hiển thị từng hàng của LED MATRIX RGB
Dựa vào 4 bước cơ bản, có thể dễ dàng quét các hàng bằng cách sử dụng 1 port trên vi điều khiển, port này có nhiệm vụ đếm nhị phân trên vi điều khiển và kết hợp với phương pháp ngắt timer để quét hàng led Đối với các chân R1, R2, G1, G2, B1, B2 ta dùng 1 port, port này có nhiệm vụ xuất dữ liệu trên vi điều khiển để xuất dữ liệu ra bảng LED, mỗi lần ngắt timer ta sẽ xuất được một hàng trên bảng led, sau đó tăng giá trị port quét từ 0000 lên 0001 và cho phép hiển thị hàng đó bằng chân LAT, sau 15 lần ngắt ta sẽ hiển thị hình ảnh, nội dung trên vi điều khiển
Hình 2 13 Sơ đồ khối quá trình quét led
LED MATRIX RGB NGẮT TIMER
PORT CHỌN HÀNG HIỂN THỊ PORT XUẤT HÀNG
VÀ HIỂN THỊ
Trang 32Trong vi điều khiển ta sử hai bộ đệm:
Bộ đệm nhận dữ liệu (DATA-IN): bộ đệm này là một mảng 3 chiều bao gồm MÀU, HÀNG, CỘT bộ đệm chứa những dữ liệu thô sẽ được xuất ra LED MATRIX với chiều thứ nhất ta sẽ xác định được màu đỏ, xanh lá, xanh dương chiều thứ 2 và chiều thứ 3 ứng với hàng và cột màu đó trong bộ đệm Vì đây là LED MATRIX có thể hiển thị hơn 16 triệu màu, vì 3 màu cơ bản của LED MATRIX là đỏ (red), xanh
lá (green), xanh dương (blue), mỗi màu cơ bản có thể tạo ra 255 màu và chúng ta pha trộn với nhau có thể tính toán là 255 x 255 x 255 bằng 16,581,375 màu Chính vì thế
mà mỗi một byte trong bộ đệm là một dữ liệu màu có giá trị từ 0 đến 255 và 3 byte
dữ liệu màu RGB trong bộ đệm sẽ phối được một màu trong hơn 16 triệu màu
Bộ đệm xuất dữ liệu (DATA-OUT): trong bộ đệm này có nhiệm vụ xuất những
dữ liệu đã được phân tích từ bộ đệm dữ liệu để hiển thị lên LED MATRIX, bộ đệm này có ba chiều bao gồm HÀNG, ĐIỀU KHIỂN MÀU, XUẤT GIÁ TRỊ Như đã nói LED MATRIX này có tỉ lệ quét 1/16 và hiển thị theo từng cặp, chính vì thế HÀNG trong bộ đệm này có giá trị là 16, chiều này có tác dụng cho việc chọn hàng và màu sắc của hàng sẽ được điều khiển thông qua chiều ĐIỀU KHIỂN MÀU Đối với chiều ĐIỀU KHIỂN MÀU có chức năng điều khiển những byte trong mảng XUẤT GIÁ TRỊ, chúng là những byte đã được phân tích từ các byte R, G, B trong bộ đệm dữ liệu thành các bit riêng lẻ với nhau tạo thành 1 byte (8 bit) 00R1R2G1G2B1B2 và byte này sẽ bằng với PORT XUẤT HÀNG và cho phép hiển thị như hình 2.14
Hình 2 14 Sơ đồ khối quá trình xử lý dữ liệu
Trang 33Chương 3 TÍNH TOÁN THIẾT KẾ
3.1 GIỚI THIỆU
Hệ thống yêu cầu cần phải thay đổi được thông tin hiển thị trên bảng Led Tất
cả các thao tác thực hiện từ App Android trên điện thoại được gửi về vi điều khiển để thực hiện xử lý dữ liệu và hiển thị lên bảng Led Nhóm sẽ tiến hành thiết kế sơ đồ khối, từ sơ đồ khối đã đưa ra nhóm sẽ tiến hành lựa chọn các linh kiện phù hợp với
hệ thống Sau đó sẽ tính toán phần công suất cho hệ thống và cuối cùng là thiết kế ra một App Android để điều khiển hệ thống
Các yêu cầu cho hệ thống như sau:
Điều khiển hoạt động của hệ thống một cách chính xác, hệ thống phải đáp ứng kịp thời các yêu cầu khi thay đổi các hiệu ứng hiển thị từ App Android
Hệ thống phải đảm bảo được tính thẩm mĩ đồng thời kết cấu của hệ thống phải chắc chắn, gọn nhẹ có thể dễ dàng di chuyển được Thiết kế giao diện điều khiển phải
dễ dàng sử dụng
3.2 THIẾT KẾ SƠ ĐỒ KHỐI
Nhằm đáp ứng được các yêu cầu đã đặt ra của hệ thống Nhóm đã thiết kế ra sơ
đồ khối cho hệ thống như hình sau:
Hình 3 1 Sơ đồ khối của hệ thống
Trang 34Sơ đồ khối của hệ 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à ứng dụng trên điện thoại có chức năng chính là tiếp
nhận các thao tác mà người dùng thực hiện sau đó chuyển các lệnh này thành các gói
dữ liệu điều khiển và gửi về khối thu thập dữ liệu để xử lý
Khối thu thập, xử lý dữ liệu: có chức năng thu nhận các dữ liệu điều khiển
được gửi đến từ App Android Sau đó gửi các yêu cầu này đến khối xử lý trung tâm
để xử lý Đồng thời trao đổi dữ liệu giữa App Android với khối xử lý trung tâm
Khối xử lý trung tâm: chức năng chính là tiếp nhận các yêu cầu từ khối thu
thập dữ liệu Tiến hành xử lý các yêu cầu nhận được và gửi dữ liệu đã được xử lý lên khối hiển thị Xử lý, trao đổi dữ liệu giữa các module trong khối thu thập dữ liệu và App Android
Khối hiển thị: có chức năng hiển thị dữ liệu đã được xử lý lên màn hình
Khối âm thanh: có chức năng nhận tín hiệu âm thanh thông qua module
bluetooth và khuếch đại tín hiệu để phát ra loa Đồng thời đưa tín hiệu âm thanh vào khối xử lý trung tâm để vi điều khiển đọc giá trị điện áp của âm thanh
Khối nguồn: Đây là khối cung cấp nguồn vào cho toàn bộ hệ thống bao gồm
khối hiển thị, khối xử lý trung tâm, các module khối thu thập dữ liệu và khối âm thanh
Trang 35- Lựa chọn linh kiện:
Khối xử lý trung tâm có vai trò vừa là nơi tiếp nhận các tín hiệu đầu vào từ App Android và các cảm biến vừa là nơi để xử lý các dữ liệu nhận được và xuất các tín hiệu điều khiển ra khối hiển thị Quá trình hiển thị được diễn ra liên tục do đó yêu cầu dữ liệu đưa vào phải được xử lý một cách nhanh chóng và chính xác để hạn chế trường hợp bị gián đoạn hiển thị gây ảnh hưởng đến quá trình hiển thị thông tin lên khối hiển thị Với các yêu cầu về xử lý hệ thống như trên, nhóm quyết định chọn STM32H743 làm bộ xử lý trung tâm Đây là dòng chíp mới của hãng ST Microelectronic với khả năng xử lý mạnh mẽ, nhanh chóng giúp điều khiển hệ thống được chính xác hơn và giảm thiểu khả năng sai sót
Trang 36- Thông số kỹ thuật:
Vi điều khiển STM32H743 được sản xuất dựa trên lõi RISC 32-bit ARM Cortex-M7 hiệu xuất cao với tốc độ hoạt động lên đến 400 Mhz
STM32H743 có bộ nhớ Flash lên đến 2Mbytes kết hợp với bộ nhớ nhúng tốc
độ cao Bộ nhớ RAM khoảng 1Mbytes bao gồm 192 Kbytes TCM RAM, 864 Kbytes SRAM và 4Kbytes backup SRAM
Vi điều khiển hoạt động ở khoảng nhiệt độ từ -40 đến 85⁰C với điện áp giới hạn
từ 1.62 đến 3.6V
Số cổng I/O là 168 cổng, điện áp ngõ ra của các I/O từ 1.62 đến 3.6V Các ngõ
ra I/O có khả năng ngắt nhanh lên đến 133Mhz
Bảng 3 1 Thông số ngoại vi của vi điều khiển STM32H743XI
Flash memory 2048 Kbytes
RAM
1Mbytes (192 Kbytes TCM RAM,
864 Kbytes SRAM, 4Kbytes backup SRAM)
Trang 37Giao tiếp truyền thông kỹ thuật số
6/3 - SPI/I2S
4 - I2C 4/4/1 - USART/UART/LPUART
Trang 38Hình 3 4 Sơ đồ khối của vi điều khiển STM32H743XI
Trang 39Giải thích sơ đồ nguyên lý:
PIN_VBAT là pin 3.3V dùng để nuôi khối thời gian thực có trong vi điều khiển, giúp khối này luôn chạy đúng thời gian
DOMINO1 là chân để cấp nguồn 5V cho vi điều khiển hoạt động và J3 là chân
để cấp nguồn 3.3V Ta có thể sử dụng nguồn 5V hoặc 3.3V để cấp cho vi điều khiển đều được nhưng ở đây nhóm sẽ ưu tiên nguồn 5V hơn vì trong module STM32H743
đã tích hợp sẵn mạch giảm áp 3.3V Việc sử dụng mạch giảm áp tích hợp sẳn trong
Hình 3 5 Sơ đồ nguyên lý của khối xử lý trung tâm
Trang 40module sẽ mang lại ưu thế hơn vì mạch được thiết kế với độ ổn định cao so với khi
ta tự thiết kế và thiết kế nhỏ gọn hơn
J1 là các chân dùng để giao tiếp với khối thu thập và xử lý dữ liệu bao gồm các chân TX, RX, chân 3.3V và chân GND
3.3.2 Khối thu thập và xử lý dữ liệu
- Chức năng:
Khối có chức năng là nhận các gói dữ liệu điều khiển từ App Android và gửi các dữ liệu đó thông qua giao tiếp uart về cho khối xử lý trung tâm để tiến hành xử
lý các dữ liệu và hiển thị
- Lựa chọn linh kiện:
Được biết đến là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện tử Điều đặc biệt của nó, đó là sự kết hợp của module Wifi tích hợp sẵn bên trong con vi điều khiển chính NodeMCU là một thiết bị được phát triển dựa trên chip Wifi ESP8266 Với kích thước nhỏ gọn module có thể dễ dàng kết nối với các thiết bị ngoại vi khác để tạo nên một hệ thống hoàn chỉnh, đầy đủ chức năng Ngoài
ra NodeMCU ESP8266 có thể tạo ra được một mạng wifi nội bộ (Access Point), giúp các thiết bị truy cập vào mạng wifi này có thể trao đổi dữ liệu với nhau mà không kết nối trực tiếp phần cứng
Access Point là một thiết bị tạo ra một mạng không dây cục bộ Một điểm truy cập access point là một trạm truyền và nhận dữ liệu Có thể gọi chúng là bộ thu phát wifi Một điểm truy cập Access Point kết nối người dùng với những người dùng khác trong cùng một mạng
Hình 3 6 Ảnh thực tế NodeMCU ESP8266