➢ Phần mềm STM32CubeMx và Keil C 5.0
Có nhiều phần mềm lập trình cho vi điều điều khiển STM như: Keil C, IAR, Cocos Code IDE…Trong đồ án môn học này, nhóm chúng em sử dụng phần mềm Keil C 5 để lập trình cho vi điều khiển.
STM32CubeMX là một phần mềm được cung cấp miễn phí giúp ích cho việc cấu hình ngoại vi, clock, tính toán dòng tiêu thụ, tạo project với nhiều dòng chip ARM STM32… Việc tạo project trở nên đơn giản bằng việc lựa chọn các ngoại vi cần thiết, cấp lock tùy chỉnh mà không cần liên quan đến code.
Việc tạo project với thư viện chuẩn là khá khó khăn vì cần nhiều bước để tạo ra project mới. STM32CubeMX ra đời như một lựa chọn để thay thế điều đó, với giao diện trực quan chúng ta sẽ dể dàng lập trình và có cái nhìn tổng quan hơn.
Thư viện đi kèm với phần mềm này là STM32Cube HAL, gọi tắt là thư viện HAL, bộ thư viện này được chuẩn hóa, giúp đồng nhất giữa các dòng F0,F1,F2,F3,F4…
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49
Hình 4.13 Biểu tượng phần mềm STM32CubeMX
Hình 4.14 Biểu tượng phần mềm Keil
Cấu hình cho vi điều khiển STM sử dụng phần mên STM32CubeMX
Bước 1: Tạo Project
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,
Package: Chọn kiểu đóng gói của MCU.
• Hoặc nhập mã MCU vào ô tìm kiếm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50
Hình 4.15 Tạo project mới trên STM32CubeMx
Bước 2: Chọn ngoại vi
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 danh sách Peripheral được liệt kê bên trái có các ngoại vi mà MCU hỗ trợ, sử dụng ngoại vi nào thì Enable ngoại vi đó lên.
Tại hình MCU trong khung bên phải, bạn có thể trực tiếp cấu hình trực quan từng chân của MCU theo các tính năng GPIO mà MCU hỗ trợ bằng cách click 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 51
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.17 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ẻ Configuration.
Tại đây phần mềm có biểu diễn theo cấu trúc firmware, tùy vào loại ngoại vi bạn dùng mà phần mềm xếp vào nhóm chức năng riêng.
Hình 4.18 Cấu hình ngoại vi trên STM32CubeMX
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52 Sau khi đã điều chỉnh, cấu hình những ngoại vi cần thiết, chúng ta tiến hành xuất mã nguồn để import vào các trình biên dịch KeilC bằng cách nhấn vào “GENERATE CODE”.
Hình 4.19 Tạo code trên STM32CubeMX
Lập trình sử dụng Keil C sau khi đã xuất mã nguồn
Bước 1: Mở phần mềm lập trình Keil C sau khi đã tạo mã nguồn Mở file main tại Application/User
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53
Bước 2: Thiết lập các cấu hình cần thiết
Hình 4.20 Thiết lập cấu hình cho Keil C
Hình 4.21 Thiết lập cấu hình cho Keil C
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54
Hình 4.22 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. Trong thông báo còn cho biết 2 thông tin dung lượng bộ nhớ ROM và RAM đã sử dụng. Sau khi biên dịch xong thì sẽ tạo ra file chứa các số hex dùng để nạp vào vi điều khiển.
➢ Phần mềm IDE Arduino
Môi trường phát triển tích hợp Arduino IDE là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Do có tính chất mã nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Hình 4.23 Biểu tượng phần mềm lập trình IDE Arduino
Hướng dẫn sử dụng phần mềm lập trình IDE Arduino:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55
Hình 4.24 Giao diện phần mềm lập trình IDE Arduino sau khi khởi động
Bước 2: Chọn kit sử dụng ESP 8266 NNOE MCU theo đúng phiên bản của kit và chọn Port.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 Vào Tools chọn Board và chọn kit phù hợp với phiên bản.
Hình 4.26 Chọn Port trên IDE Arduino
Sau đó vào Port chọn cổng COM để nạp code vào kit.
Bước 3: Sau khi viết code xong, chọn biên dịch và nạp code vào kit.
Hình 4.27 Biên dịch và nạp code
Sau khi viết code xong tiến hành biên dịch để kiểm tra lỗi, nếu không có lỗi ta nạp code vào kit để chạy.
4.4.3 Phần mềm lập trình ứng dụng trên máy tính
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft. Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 như các trang website, các ứng dụng website và các dịch vụ website. Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight.
Hình 4.28 Biểu tượng phần mềm Visual Studio
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình. Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio 2010[5]). Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ. Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Các bước sử dụng phần mềm lập trình Visual Studio 2019 để viết ứng dụng đưa ảnh vào thẻ nhớ:
Bước 1: Mở ứng dụng Visual Studio 2019
Khởi động ứng dụng Visual Studio trên máy tính để bắt đầu xây dựng ứng dụng trên máy tính bằng C#. Sau khi khởi động giao diện sẽ hiện lên như bên dưới.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58
Hình 4.29 Ứng dụng sau Visual Studio khi khởi động
Bước 2: Chọn New Project để tạo một dự án mới và cấu hình cho dự án
Visual Studio hỗ trợ rất nhiều ngôn ngữ khác nhau, tuy nhiên ở đồ án tốt nghiệp này ứng dụng sẽ viết bằng ngônn ngữ C# và sử dụng giao diện của Windows Forms để xây dựng ứng dụng.
Hình 4.30 Tạo dự án mới với Visual Studio
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59
Hình 4.31 Cấu hình cho dự án
Bước 3: Tạo giao diện và viết code tương thích với giao diện.
Ngôn ngữ C# được thiết kế để xây dựng các ứng dụng chạy trên nền tảng .NET Framework. Trước khi bắt đầu tìm hiểu thêm về lập trình C#, điều quan trọng là phải hiểu môi trường phát triển và xác định một số công cụ lập trình thường sử dụng trong Visual Studio. Hình dưới đây là giao diện môi trường lập trình C# trong bộ Visual Studio.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60
Hình 4.33 Giao diện lập trình của Visual Studio
Sau khi viết code tương thích với giao diện xong ta nhấn Start trên thanh công cụ để chạy chương trình, nếu có lỗi ta tiến hành sửa và chạy lại.
4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 4.5.1 Tài liệu hướng dẫn sử dụng 4.5.1 Tài liệu hướng dẫn sử dụng
➢ Hướng dẫn sử dụng khung ảnh điện tử:
Bước 1: Cấp nguồn cho hệ thống: hệ thống sử dụng nguồn 5V DC, khi đã cấp nguồn màn hình sẽ hiển thị ảnh nền đồ án tốt nghiệp để báo hiện mạch đã được cấp nguồn và sẵn sàng hoạt động.
Bước 2: Vào chế độ trình chiếu ảnh bằng cách chạm cùng lúc 2 ngón tay vào màn hình cảm ứng, tương tự chạm tiếp để chuyển sang chế độ đồng hồ, thời tiết và lặp lại. Ở chế độ thời tiết cần bật wifi để ESP 8266 được kết nối mạng.
➢ Hướng dẫn sử dụng ứng dụng trên máy tính:
Bước 1: Mở ứng dụng trên máy tính với tên “DATN” để thêm ảnh mới vào thẻ nhớ ngoài. Ứng dụng sau khi được mở sẽ có giao diện như sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61
Hình 4.34 Ứng dụng sau khi được khởi động
Bước 2: Click vào nút thêm ảnh để lấy ảnh bất kì từ máy tính, ảnh và đường dẫn của ảnh sẽ được hiện trên màn hình.
Hình 4.35 Chọn ảnh từ máy tính
Bước 3: Kéo chọn vùng ảnh để ảnh được cắt đúng kích thước 800x480 là kích thước của màn hình LCD TFT 7 inch. Sau khi cắt ảnh xong ta chọn số thứ tự hiển thị ảnh từ 1 đến 10 và nhấn SAVE để lưu ảnh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62
Hình 4.36 Lưu ảnh vào thẻ nhớ ngoài
Ta chọn lưu tại thẻ micro sd sau đó file .bin sẽ được lưu trong thẻ nhớ, ta chỉ việc cắm thẻ vào khung ảnh và khung ảnh sẽ hiển thị lên hình đó.
4.5.2 Quy trình thao tác
Quy trình vận hành sản phẩm rất đơn giản, người dùng có thể dựa trên lưu đồ dưới đây để vận sản phẩm tốt nhất: Bắt đầu Kết thúc Cấp nguồn 5V DC cho sản phẩm Chạm 2 ngón tay vào màn hình để vào các chế độ
Chạy chế độ hình ảnh, thời gian, thời tiết Chạm 2 ngón tay để chuyển qua lại các
chế độ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63
Hình 4.38 Màn hình hiển thị báo hiệu sản phẩm đã hoạt động
Sau khi cắm nguồn màn hình sẽ hiển thị thông tin về đề tài tốt nghiệp khi đó hệ thống đã sẵn sàng hoạt động, ta chạm cùng lúc 2 tay vào màn hình để vào các chế độ hình ảnh, thời gian, thời tiết.
Hình 4.39 Chế độ trình chiếu hình ảnh
Ở chế độ này các hình sẽ luân phiên chuẩn đổi với nhau theo trình tự. Cách 10 giây thì hệ thống tự chuyển hình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64
Hình 4.40 Chế độ hiển thị thời gian thực
Ở chế độ này người dùng xem được thông tin ngày giờ và thứ. Có cả đồng hồ kim và đồng hồ số.
Hình 4.41 Chế độ hiển thị thời tiết
Chế độ này xem được thông tin nhiệt độ ở độ C và độ F, độ ẩm, áp suất khí quyển và tốc độ gió. Thời gian thực và ngày được lấy từ internet. Ở chế độ này hệ thống sẽ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 so sánh với thời gian thực của hệ thống vơi internet. Nếu có sai số lớn (< 1 phút) hệ thống sẽ cập nhật lại giờ cho bộ RTC.
Ở chế độ thời tiết nếu muốn thay đổi khu vực hiển thị thời tiết ta chạm vào chữ SETTING góc trái màn hình, danh sách các tỉnh và thành phố tại Việt Nam sẽ hiện lên, ta nhấn vào tỉnh hoặc thành phố để chọn.
Hình 4.42 Chọn khu vực hiển thị thời tiết
Sau khi chọn khu vực mong muốn, thì hệ thống sẽ cập nhật lại sau một khoảng thời gian (< 60s).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66
CHƯƠNG 5. KẾT QUẢ - NHẬN XÉT – ĐÁNH GIÁ
5.1 TỔNG QUAN KẾT QUẢ
Sau hơn 3 tháng tìm hiểu tài liệu chuyên nghành, tài liệu internet cùng với sự giúp đỡ của bạn bè đặc biệt là sự giúp đỡ nhiệt tình của giảng viên hướng dẫn, nhóm thực hiện đề tài “Thiết kế và thi công khung ảnh điện tử” đã hoàn thành xong những yêu cầu đặt ra với những nội dung sau:
• Có được kiến thức cơ bản và có thể lập trình cho vi điều khiển STM32F407VET6.
• Có được kiến thức cơ bản và có thể lập trình cho ESP8266 để truyền nhận dữ
liệu.
• Xây dựng một ứng dụng trên máy tính bằng phần mềm Visual Studio.
• Cách truyền nhận dữ liệu giữa các vi điều khiển, các module với nhau. Dữ liệu truyền chính xác và không bị mất dữ liệu.
• Mạch thực tế hoạt động ổn định, màn hình hiển thị đầy đủ sắc nét, các module, cảm biến hoạt động ổn định.
Bên cạnh đó nhóm em cũng có thêm được một số kinh nghiệm trong quá trình thực hiện đồ án như:
• Có thêm kiến thức trong việc thiết kế mạch
• Biết cách vẽ một board mạch đủ tiêu chuẩn để có thể tiến hành đặt gia công.
• Cách sắp xếp các linh kiện dán cho hợp lý.
• Cách kiểm tra lỗi khi truyền dữ liệu giữa các các vi điều khiển.
5.2 KẾT QUẢ ĐẠT ĐƯỢC 5.2.1 Kết quả sản phẩm thực tế 5.2.1 Kết quả sản phẩm thực tế
Sau đây là một số hình ảnh thực tế khi sản phẩm hoạt động bao gồm: Trình chiếu hình ảnh, hiển thị thời gian thực và hiển thị thời tiết.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67
Hình 5.1 Sản phẩm hoạt động ở chế độ hiển thị hình ảnh
Ở chế độ trình chiếu hình ảnh, hình ảnh được hiển thị đầy đủ và sắc nét trên màn hình 7inch và tiếp tục hiển thị những hình ảnh tiếp theo sau thời gian sau khoảng thời gian chờ.
Hình 5.2 Sản phẩm hoạt động ở chế độ hiển thị thời gian
Hình trên là hình ảnh thực tế khi màn hình hiển thị thời gian thực, gồm đồng hồ kim và đồng hồ số với các thông tin: giờ, phút, giây, thứ, ngày, tháng, năm.
Phông nền được thiết kế màu tối giúp người nhìn dễ quan sát hơn và làm nổi bật các thông số về thời gian.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68
Hình 5.3 Sản phẩm hoạt động ở chế độ hiển thị thời tiết
Ở chế độ thời tiết màn hình cũng hiển thị đầy đủ các thông tin như nhiệt độ, độ ẩm, áp xuất, tốc độ gió, thời gian, hình ảnh ứng với thời tiết tại khu vực đó, miêu tả về thời tiết và tên khu vực đang hiển thị thời tiết.
Hình 5.3 là thời tiết tại khu vực thành phố Nha Trang tỉnh Khánh Hòa vào lúc 22 gờ 15 ngày 04/07/2019.
Hình 5.4 Chọn khu vực thời tiết
Danh sách 20 tỉnh, thành phố tại Việt Nam được thể hiện bằng nút nhấn cảm ứng trên màn hình khi người dùng nhấn vào cài đặt thời tiết. Các nút nhấn cảm ứnng trên màn hình được thiết kế với kích thước lớn giúp cho người dùng dễ dàng sử dụng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 Ứng dụng được thiết kế đơn giản cho người sử dụng, chỉ với vài thao tác đơn giản người dùng có thể thêm ảnh mới vào thẻ nhớ ngoài và cập nhật ảnh mới cho khung ảnh điện tử.
Hình 5.5 Kết quả ứng dụng trên máy tính
Hình 5.6 Hình ảnh mới được đưa vào qua ứng dụng máy tính
Hình 5.6 thể hiện kết quả hình ảnh mới được cập nhật trên khung ảnh điện tử sau khi được chỉnh sửa trên ứng dụng và đưa vào thẻ nhớ ngoài.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70
5.3 NHẬN XÉT VÀ ĐÁNH GIÁ 5.3.1 Nhận xét kết quả đạt được 5.3.1 Nhận xét kết quả đạt được
Đồ án do nhóm thực hiện đã đạt yêu cầu ban đầu đã đạt ra:
• Trình chiếu được hình ảnh với kích thước bằng kích thước màn hình 800x480,
màu sắc hiển thị đẹp, rõ ràng, hình ảnh được lưu trữ cố định trong thẻ nhớ micro SD.
• Đồng hồ chạy chính xác, giao diện đẹp gồm đồng số và đồng hồ kim.
• Dữ liệu thời tiết đọc từ internet thông qua ESP8266 chính xác, cập nhật phụ thuộc vào tốc độ wifi mà ESP8266 kết nối. Giao diện hiển thị thời tiết đẹp và