Thiết kế game mini trên kit STM32F746G discovery

84 140 0
Thiết kế game mini trên kit STM32F746G discovery

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_DISCOVERY GVHD: Ths Phan Vân Hoàn SVTH: Võ Phương Duy MSSV:14141044 TP Hồ Chí Minh – 06/2018 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_DISCOVERY GVHD: Ths Phan Vân Hoàn SVTH: Võ Phương Duy MSSV:14141044 TP Hồ Chí Minh – 06/2018 TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp HCM, tháng 03 năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Võ Phương Duy Chuyên ngành: CNKT Điện Tử Truyền Thông Mã ngành: 41 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: I TÊN ĐỀ TÀI: MSSV: 14141044 14141DT1A THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_DISCOVERY II NHIỆM VỤ Các số liệu ban đầu:  Khảo sát các loại vi điều khiển, lựa chọn hình cảm ứng, tay cầm PS2, module âm  Tìm hiểu thu thập số liệu từ trang mạng sách lập trình vi điều khiển ARM  Tìm hiểu tài liệu hướng dẫn sử dụng tay cầm PS2, module giải mã âm Nội dung thực hiện:  NỘI DUNG 1: Nghiên cứu tài liệu module VS1003, tay cầm PS2, KIT STM32F746 DISCOVERY  NỘI DUNG 2: Dựa liệu thu thập được, lựa chọn giải pháp thiết kế thi cơng mơ hình kết nối module với KIT điều khiển  NỘI DUNG 3: Thiết kế lưu đồ giải thuật viết chương trình điều khiển cho vi điều khiển, thiết kế giao diện hình chơi game  NỘI DUNG 4: Thử nghiệm điều chỉnh phần mềm phần cứng để mô hình tối ưu, sử dụng dễ dàng Đánh giá các thơng số mơ hình so với thơng số thực tế  NỘI DUNG 5: Viết báo cáo thực III NGÀY GIAO NHIỆM VỤ: 07/03/2018 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii IV NGÀY HOÀN THÀNH NHIỆM VỤ: 28/06/2018 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 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iv TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 28 tháng năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Võ Phương Duy Lớp: 14141DT1A MSSV:14141044 Tên đề tài: THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_DISCOVERY Tuần/ngày Tuần Nội dung Xác nhận GVHD Gặp GVHD nhận đề tài Nhận tài liệu hướng dẫn từ GVHD Tuần Viết báo cáo Chương Đọc tài liệu kĩ thuật KIT STM32, PS2 Tuần Viết báo cáo Chương Lập trình Game Cờ Caro Tuần Viết báo cáo Chương Lập trình Game Cờ Caro Lập trình Game Ball Bing Ball BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH v Lập trình giao tiếp tay cầm PS2 Tuần Viết báo cáo Chương Lập trình, chỉnh sửa game Ball Bing Bong Tìm hiểu phương pháp giao tiếp module VS1003 Tuần Viết báo cáo Chương Lập trình Game Flappy Bird Giao tiếp thẻ nhớ lỗi Tuần Viết báo cáo Chương Lập trình, chỉnh sửa Game Flappy Bird Giao tiếp với thẻ nhớ Tuần Viết báo cáo Chương Lập trình Game Stick Hero Giao tiếp thành công module VS1003 Thi công mạch kết nối Tuần Viết báo cáo Chương Tạo file nhạc cho Game Lập trình Game Ai Là Triệu Phú Tuần 10 Viết báo cáo Chương Lập trình Game Ai Là Triệu Phú Tuần 11 Viết báo cáo Chương Lập trình Game Vòng Quay Sát Phạt Tuần 12 Viết báo cáo Chương Lập trình Game Vòng Quay Sát Phạt BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vi Lập trình Game Pika Pika Tuần 13 Chỉnh sửa báo cáo Chỉnh sửa code Làm hộp cho mạch GV HƯỚNG DẪN (Ký ghi rõ họ tên) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vii CAM ĐOAN Tôi xin cam đoan đề tài thực dựa tài liệu có trước Khơng chép từ nguồn tài liệu hay cơng trình khác Tôi xin chịu trách nhiệm với lời cam đoan Người thực Võ Phương Duy BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH viii LỜI CÁM ƠN Tôi xin cám ơn sâu sắc đến thầy Phan Vân Hoàn trực tiếp hướng dẫn tận tình giúp đỡ, tạo điều kiện để tơi hồn thành đề tài Tôi xin gửi lời chân thành cám ơn các thầy cô Khoa Điện - Điện Tử giúp đỡ tơi hồn thành đề tài Tơi gửi lời đồng cám ơn đến bạn lớp 14141DT1A chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Xin cảm ơn đến cha mẹ Xin chân thành cám ơn! Người thực đề tài Võ Phương Duy BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH ix MỤC LỤC BÌA NGOÀI i BÌA TRONG ii NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP iii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP v CAM ĐOAN viii LỜI CÁM ƠN ix MỤC LỤC x DANH SÁCH HÌNH xii DANH SÁCH BẢNG xiii TÓM TẮT xv Chương 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương 2: CƠ SỞ LÝ THUYẾT 2.1 MƠ TẢ Q TRÌNH HOẠT ĐỘNG 2.2 TỔNG QUAN LÝ THUYẾT 2.2.1 Tổng quan ARM 2.2.2 Giới thiệu ARM-M7- STM32F746G-DISCOVERY 2.2.3 Module giải mã âm VS1003-v2 2.2.4 Tay cầm game Dualshock 10 2.2.5 Chuẩn truyền nhận SPI 13 2.2.6 Chuẩn giao tiếp SDMMC 15 Chương 3: TÍNH TỐN_THIẾT KẾ 18 3.1 GIỚI THIỆU 18 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 18 3.3.1 Thiết kế sơ đồ khối 18 3.3.2 Tính toán thiết kế mạch 19 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH x THI CÔNG HỆ THỐNG Cách cài đặt phần mềm: Bước 1: Tải phần mềm web st.com Vào chạy file cài đặt với tên SetupSTM32CubeMX.exe Xuất hộp thoại nhấn NEXT để tiếp tục Bước 2: Xuất hộp thoại chọn “I accept the terms of this license agreement” nhấn Next để tiếp tục Bước 3: Xuất hộp thoại chọn vùng nhớ để lưu cài đặt Sau chọn Next Bước 4: Xuất hộp thoại Chọn Next để tiếp tục Bước 5: Đợi phần mềm thực quá trình cài đặt Bước 6: Sau hoàn thành chọn Next Bước 7: Xuất hộp thoại ta chọn Done để kết thúc quá trình cài đặt phần mềm Cách tạo project mới: Bước 1: Mở phần mềm cách kích đúp vào biểu tượng hình Bước 2: Vào New Project để tạo Project mới, sau xuất hộp thoại Chọn tab Board Seletor Bước 3: Ở mục Type of board chọn Discovery mục MCU series chọn STM32F7 Bước 4: Ở Boards List chọn kích đúp vào hàng cùng DiscoverySTM32F746G DISCO – STM32F746NGHx Bước 5: Tiến hành cấu hình xung clock các ngoại vi cần thiết cho Project Bước 6: Sau cấu hình xong vào tab Project –> Setting… tiến hành đặt tên Project muốn khởi tạo Chọn đường dẫn lưu Project Bước 7: Ở mục Toolchain/IDE chọn MDK-ARM V5 Sau nhấn OK Bước 8: Sau cài đặt xong vào tab Project –> Generate code Đợi phần mềm add các thư viện cần thiết cho Project chọn Open Project BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54 THI CÔNG HỆ THỐNG 4.4 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC: 4.4.1 Viết tài liệu hướng dẫn sử dụng: Sau lập trình xong thì các hướng dẫn sử dụng máy chơi game giúp cho người chơi dễ dàng biết sử dụng tay cầm PS2 hình game: Bước 1: Khi cấp nguồn cho mạch thì hình sáng lên Sau lên danh mục Game có sẵn máy Người chơi cần kết nối tay cầm PS2 vào  Bước 1.1: Bắt đầu hệ thống mặc định game chọn game thứ Người chơi nhấn nút Up/Down PS2 để thay đổi Game muốn chơi  Bước 1.2: Nhấn nút Start để bắt đầu trò chơi chọn Bước 2: Bắt đầu thao tác Game Game 1:  Bước 2.1: Lần lượt người chơi chạm vào các ô vẽ sẵn hình để tạo nên kí hiệu X/O  Bước 2.2: Khi có người thắng hình nhấp nháy kí hiệu người  Bước 2.3: Chạm vào hình để chơi ván nhấn nút Select PS2 để thoát Game Gam 2:  Bước 2.1: Xuất option bao gồm: loại banh, số người chơi, mức độ game, người chơi chạm vào hình vị trí tương ứng để chọn thông số  Bước 2.2: Nhấn Start PS2 để bắt đầu Game  Bước 2.3: Banh di chuyển hình Đối với người chơi sử dụng nút Left/Right để di chuyển ngang để đón banh Nếu người chơi thì người chơi thứ chạm vào hình để di chuyển ngang thứ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 THI CÔNG HỆ THỐNG  Bước 2.4: Khi có người thua Nhấn Start để trở lại chế độ cài đặt Nhấn Start để chơi lại Nhấn Select để thoát Game Game 3:  Bước 2.1: bắt đầu, người chơi nhấn nút X PS2 để cho Bird bay lên  Bước 2.2: thua Nhấn Start để chơi lại Select để thoát Game Game 4:  Bước 2.1: Nhấn nút X để vẽ dài cầu Thả nhấn X để bắt đầu xoay cầu  Bước 2.2: Nếu người chơi thua thì làm tương tự Bước 3.2 Game 5: Game thao tác chủ yếu hình:  Bước 2.1: Bắt đầu xuất hình chào Game Chạm hình vị trí “Bắt đầu” để bắt đầu chơi nhấn Select để thoát Game  Bước 2.2: Sau xuất đáp án Người chơi có 30s để chọn câu trả lời Quá 30s xem thua trở lại Bước 5.1 Chọn đáp án 30s câu trả lời chuyển sang câu sai thì xem thua chuyển bước 5.1  Bước 2.3: Sau trả lời hết 15 câu hỏi thì người chơi chiến thắng chuyển bước 5.1 Game 6:  Bước 2.1: Khi bắt đầu, người chơi chạm vào hình để bắt đầu cho kim xoay chờ đợi kết  Bước 2.2: Sau có kết tiếp tục chạm vào hình để bắt đầu lần quay có thể nhấn Select để thoát Game Game 7:  Bước 2.1: Bắt đầu, pikachu chạy hướng các CNV Người chơi nhấn nút X để pikachu nhảy lên vượt qua BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 THI CÔNG HỆ THỐNG  Bước 2.2: Nếu vượt không qua CNV thì xem thua Nhấn Start để chơi lại Select để chơi game khác 4.4.2 Thao tác sử dụng: Để tăng sự tương quan thì tơi trình bày thao tác dụng dụng mạch hình ảnh mà tơi chụp lại q trình sử dụng Hình 4-35 Thao tác chọn game Người dùng sử dụng nút lên xuống bên trái để lựa chọn tựa game nhấn nút Start để bắt đầu vào Game BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 THI CƠNG HỆ THỐNG Hình 4-36 Thao tác Game Cờ Caro Game Cờ caro thì người chơi chạm vào ô trống theo dấu mũi tên để vẽ kí hiệu theo lượt Hình 4-37 Thao tác chọn chế độ Game BBB Người chơi cài đặt chế độ vị trí Sau nhấn nút Start Vào game sử dụng nút trái phải người chơi thêm chạm hình người chơi để di chuyển ngang Nếu có người thua nhấn Start để bắt đầu lại Select để game BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 58 THI CƠNG HỆ THỐNG Hình 4-38 Nút nhấn điều khiển game BBB Hình 4-39 Thao tác game Flappy Bird Game người chơi cần nhấn nút X để Bird bay lên Nếu thua nhấn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 THI CÔNG HỆ THỐNG Start để bắt đầu lại nhấn Select để Game Hình 4-40 Thao tác game Stick Hero Người chơi nhấn giữ nút X để tăng độ dài cầu thả nhấn để đến bước Nếu thua làm game trước Các game sau sử dụng tương tự phần hướng dẫn sử dụng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Chương 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Sau trình tìm hiểu, nghiên cứu thực hành thì hoàn thành yêu cầu đặt lúc bắt đầu đồ án Từ rút nhiều kinh nghiệm kiến thức từ GVHD, từ thân lúc thực đồ án Biết cách giao tiếp với tay cầm PS2, module phát nhạc, vi điều khiển ARM32, lập trình hệ thống với phần mềm Keil C với sử dụng phần mềm STM32CubeMX-phần mềm giúp ích nhiều cho lập trình viên sử dụng ARM32 Biết thêm giải thuật xử lý chuỗi đơn giản, tính xếp logic cho q trình chạy game 5.1 KẾT QUẢ 5.1.1 Phần cứng Sau thi công, lắp ráp KIT, mạch kết nối, khung thì khối hồn chỉnh Hình 5-1 Kết phần cứng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1.2 Phần mềm Sau lập trình hệ thống, kết đạt game với giao diện: Hình 5-2 Giao diện chọn Game Tiếp theo hình các game lập trình được: Hình 5-3 Game Cờ Caro Hình 5-4 Chọn chế độ Game BBB BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5-5 Game Ball Bing Bong Hình 5-6 Game Flappy Bird BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5-7 Game Stick Hero Hình 5-8 Game Vòng Quay Sát Phạt BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5-9 Game Ai Là Triệu Phú Hình 5-10 Game Pika Pika ĐÁNH GIÁ KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 5.2 Sau q trình thực tơi hồn thành Game mini phổ biến, kết hợp KIT, PS2 module VS1003 chạy với hệ thống Game chạy xác Tuy nhiên thời gian có giới hạn nên đồ họa Game đơn giản, hình ảnh chủ yếu lấy từ mạng internet mà chưa tự thiết kế Đôi lúc hệ thống có lỗi nhỏ Game nhỏ nên chạm vào ô kết lại ô kế cạnh Nếu tự đánh giá, xin đánh giá hệ thống thực đạt khoảng 90% BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 KẾT LUẬN_HƯỚNG PHÁT TRIỂN Chương 6: KẾT LUẬN_HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau trình thực tháng sự hướng dẫn tận tình thầy Phan Vân Hoàn sự cố gắng thân thì đồ án hoàn thành dự định, đảm bảo yêu cầu đặt từ ban đầu Chạy Game đặt từ đầu, phát nhạc quá trình chơi kết hợp tay cầm PS2 vào thao tác Trong đó, tơi sử dụng phần mềm Keil C để lập trình cho vi điều khiển ARM32, phần mềm STM32CubeMX hỗ trợ sinh code, phần mềm Altium Design để thiết kế mạch PCB, phần mềm Adobe Photoshop để chỉnh sửa hình ảnh Nhận xét đánh giá: Phần mềm chạy tốt, đảm bảo Game chạy mượt, giật lag Tay cầm PS2 sử dụng ổn định, tác động nhanh tác động, module phát âm chạy tốt nhạc phát tốc độ không bị trễ Phần cứng thiết kế chạy ổn định chưa thấy tượng treo máy Khung thiết kế chắn, thẩm mỹ Jack cắm PS2 vị trí hợp lý dễ dàng kết nối 6.2 HƯỚNG PHÁT TRIỂN Do dừng lại mức thiết kế game có sẵn nên để phát triển tơi có ý tưởng sau dành cho người có ý định phát triển tiếp đồ án này:  Tăng đồ họa cho Game  Những đoạn giới thiệu game có thể cho phát Video thay ảnh với đoạn âm  Kết hợp thêm chế độ người chơi với máy thuật toán AI đặc biệt Game Game  Làm thêm nhiều Game BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo: [1] Phan Vân Hồn, “Giáo trình vi xử lý nâng cao” [2] Nguyễn Đình Phú , “Giáo trình thực hành vi xử lý nâng cao” [3] Cao Nhữ Ân Lưu Quốc Tuấn, Thiết kế máy in nhiệt cầm tay, Đồ án tốt nghiệp ĐH, Trường Đại học Sư Phạm Kỹ Thuật TPHCM, 2017 [4] ST, Product data sheet ARM Cortex-M7 STM32F746NGHx,2016 [5] ST, Discovery kit for STM32F7Series with STM32F746NG MCU User Manual, 2017 [6] Stellaris Graphics library, Copy Right 2008-2013 Texas Instruments Incorporated Trang web tham khảo: [7] Hàm rand() C http://vietjack.com/ [8] Discovery kit with STM32F746NG MCU https://www.st.com [9] PlayStation Controller Interface http://virtual-shed.blogspot.com/ [10] Interfacing a PS2 (PlayStation 2) Controller http://store.curiousinventor.com/ [11] File hình ảnh https://vn.123rf.com/ [12] https://www.facebook.com/groups/1059092380768771/ ( Lập trình STM8 STM32) BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 67 PHỤ LỤC PHỤ LỤC Do số lượng code nhiều nên code chương trình đính kèm đĩa CD BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 ... tài: THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_ DISCOVERY Tuần/ngày Tuần Nội dung Xác nhận GVHD Gặp GVHD nhận đề tài Nhận tài liệu hướng dẫn từ GVHD Tuần Viết báo cáo Chương Đọc tài liệu kĩ thuật KIT. .. tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: I TÊN ĐỀ TÀI: MSSV: 14141044 14141DT1A THIẾT KẾ GAME MINI TRÊN KIT STM32F746G_ DISCOVERY II NHIỆM VỤ Các số liệu ban đầu:  Khảo sát các loại vi điều khiển,... tay cầm PS2, KIT STM32F746 DISCOVERY  NỘI DUNG 2: Dựa liệu thu thập được, lựa chọn giải pháp thiết kế thi công mơ hình kết nối module với KIT điều khiển  NỘI DUNG 3: Thiết kế lưu đồ giải

Ngày đăng: 11/03/2019, 16:45

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan