Mục lục:
- Quân nhu
- Bước 1: Danh sách thành phần
- Bước 2: Thực hiện kết nối
- Bước 3: Mở Keil UVision IDE
- Bước 4: Chọn thiết bị
- Bước 5: Quản lý môi trường thời gian chạy
- Bước 6: Sao chép tệp trình điều khiển vào thư mục dự án
- Bước 7: Thêm tệp trình điều khiển vào dự án của bạn
- Bước 8: Định cấu hình đường dẫn của tệp tiêu đề
- Bước 9: Kết nối Bộ khám phá STM32F407 với PC / Máy tính xách tay của bạn
- Bước 10: Chọn ST-Link Debugger trong Cấu hình trình biên dịch
- Bước 11: Định cấu hình ST-Link Debugger
- Bước 12: Xây dựng và tải lên mã
- Bước 13: Đó là điều !!! Chỉ cần Đặt lại MCU STM32F407 và Sử dụng Điện thoại Di động
- Bước 14: Ghi chú nhanh và thông tin gỡ lỗi
Video: Điện thoại di động cơ bản sử dụng bộ khám phá STM32F407 và mô-đun GSM A6: 14 bước (có hình ảnh)
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Bạn đã bao giờ muốn tạo một dự án nhúng thú vị chưa? Nếu có, làm thế nào về việc xây dựng một trong những tiện ích phổ biến nhất và được yêu thích nhất của mọi người, tức là Điện thoại di động !!!. Trong Tài liệu hướng dẫn này, tôi sẽ hướng dẫn bạn cách tạo một điện thoại di động cơ bản bằng cách sử dụng Bộ khám phá STM32F407 và mô-đun GSM A6.
Dự án này bao gồm 3 mô-đun chính:
- Mô-đun GSM A6 - Đây là mô-đun chịu trách nhiệm Thực hiện / Nhận cuộc gọi và SMS.
- Màn hình LCD 16x02 - Để xem đầu ra
- Bàn phím Hex - Để cung cấp đầu vào
MCU STM32F407 điều khiển GSM A6, LCD và Bàn phím. Vì vậy, để làm cho việc lập trình đơn giản và có tổ chức, tôi đã phát triển mã trình điều khiển riêng cho mô-đun Giao tiếp GSM A6, LCD và Bàn phím trên MCU STM32F407. Sau đó, tôi chỉ cần đưa các tệp trình điều khiển này vào chương trình chính và gọi là các API tương ứng. Bạn có thể tìm thấy các mã trình điều khiển này trong Nguồn cung cấp bên dưới.
Toàn bộ tệp Dự án Keil được bao gồm bên dưới
Quân nhu
- Toàn bộ thông tin chi tiết về Bộ khám phá STM32F407 Bắt đầu với Bộ khám phá STM32F407
- Thông tin chi tiết cơ bản về Mô-đun GSM A6
- Kho lưu trữ GitHub Điện thoại di động cơ bản Sử dụng bộ khám phá STM32F407 và mô-đun GSM Mô-đun A6
- Giao diện LCD 16x02 trên STM32F407 Discovery sử dụng mô-đun I2C.
- Giao diện bàn phím ma trận 4X4 trên STM32F407 Discovery Kit
- Giao diện Mô-đun GSM-A6 trên Bộ khám phá STM32F407
Bước 1: Danh sách thành phần
Các thành phần phần cứng cần thiết cho dự án này là:
- Bộ khám phá STM32F407
- Mô-đun GSM A6
- LCD 16x02
- Mô-đun I2C
- Bàn phím Hex
- Một vài cáp Jumper
- Bảng bánh mì
- Loa (8Ω)
- Cái mic cờ rô
Bước 2: Thực hiện kết nối
Kết nối các thành phần như trong hình trên. Hình ảnh / sơ đồ này cung cấp cho bạn một cách rất thực tế và dễ dàng để kết nối tất cả các thành phần.:-)
Lưu ý: Mô-đun GSM A6 được cấp nguồn bằng đầu nối micro USB. Bạn có thể sử dụng bất kỳ bộ sạc di động nào để cấp nguồn cho GSM A6.
Bước 3: Mở Keil UVision IDE
Mở Keil uVision IDE. Nhấp vào một dự án chọn Dự án uVision Mới… Sau đó chọn thư mục làm việc của bạn và đặt tên dự án ưa thích của bạn.
Bước 4: Chọn thiết bị
Khi bạn đã đặt tên cho dự án, trong bước tiếp theo, bạn cần thêm một thiết bị. Ở đây chúng tôi đang thêm STM32F407VG Micronconroller từ STMicroelectronics. Chọn STM32F407VG, sau đó Nhấp vào OK.
Bước 5: Quản lý môi trường thời gian chạy
Bước tiếp theo là chọn thư viện / thành phần trình điều khiển trong tab Quản lý môi trường thời gian chạy. Tại đây chọn tất cả các thành phần như trong hình trên. Sau khi bạn kiểm tra tất cả các trường thích hợp, Nhấp vào Giải quyết rồi Nhấp vào OK.
Bước 6: Sao chép tệp trình điều khiển vào thư mục dự án
Bây giờ bạn phải thêm tệp trình điều khiển cho Mô-đun GSM A6, LCD và Bàn phím. Các tệp trình điều khiển là:
1. Mô-đun GSM A6:
GSM_A6_Driver_STM32F407.c và GSM_A6_Driver_STM32F407.h
2. LCD:
STM32F407_I2C_LCD16x02_Driver.c và STM32F407_I2C_LCD16x02_Driver.h
3. Bàn phím
STM32F407_KeypadDriver.c và STM32F407_KeypadDriver.h
Sao chép tất cả 6 tệp này vào thư mục dự án của bạn. Tôi đã đính kèm các tệp này bên dưới
Bước 7: Thêm tệp trình điều khiển vào dự án của bạn
Khi bạn đã sao chép các tệp Trình điều khiển vào bên trong thư mục dự án của mình, bạn phải thêm các tệp này vào Dự án của mình.
Trong Keil, Chọn Target1, nhấp chuột phải rồi chọn Thêm nhóm mới. Tạo 4 nhóm mới và đổi tên chúng thành:
1) Ứng dụng Người dùng - Tại đây thêm tệp "main.c" mới.
2) GSM_A6_Driver - Thêm tệp "GSM_A6_Driver_STM32F407.c" và "GSM_A6_Driver_STM32F407.h" hiện có vào gorup này.
3) LCD_Driver - Thêm tệp "STM32F407_I2C_LCD16x02_Driver.c" và "STM32F407_I2C_LCD16x02_Driver.h" hiện có vào nhóm này
4) Keypad_Driver - Thêm tệp "STM32F407_KeypadDriver.c" và "STM32F407_KeypadDriver.h" hiện có vào nhóm này
Lưu ý: Tôi đã bao gồm tệp "main.c" bên dưới, bạn có thể thêm trực tiếp tệp này hoặc sao chép nội dung của nó vào tệp chính mới tạo.
Bước 8: Định cấu hình đường dẫn của tệp tiêu đề
Khi bạn đã thêm các tệp trình điều khiển, bạn cần cho trình biên dịch biết vị trí của các tệp tiêu đề tương ứng. Do đó, chúng ta cần phải cấu hình tùy chọn trình biên dịch.
Nhấp chuột phải vào Target1 Option cho Target "Target1.." C / C ++ Bao gồm đường dẫn. Đảm bảo bạn bao gồm đường dẫn của thư mục dự án của bạn vì chúng tôi đã sao chép các tệp trình điều khiển ở đó.
Bước 9: Kết nối Bộ khám phá STM32F407 với PC / Máy tính xách tay của bạn
Bước 10: Chọn ST-Link Debugger trong Cấu hình trình biên dịch
Nhấp chuột phải vào Target1, sau đó nhấp vào Option cho Target "Target1..", sau đó điều hướng đến Tab Debug và chọn ST-Link-Debugger như trong hình trên
Bước 11: Định cấu hình ST-Link Debugger
Sau khi chọn ST-Link Debugger ở bước 10, nhấp vào Cài đặt sau đó chọn Trace và kiểm tra tất cả các trường như trong hình trên.
Bước 12: Xây dựng và tải lên mã
Sau khi hoàn thành tất cả các bước, hãy xây dựng dự án và đảm bảo rằng không có lỗi trong mã. Sau khi biên dịch thành công, hãy tải mã lên Bộ khám phá của bạn.
Bước 13: Đó là điều !!! Chỉ cần Đặt lại MCU STM32F407 và Sử dụng Điện thoại Di động
Tôi đã gửi kèm một video demo của dự án này.
Bước 14: Ghi chú nhanh và thông tin gỡ lỗi
- Tôi đề nghị bạn bật nguồn Mô-đun GSM trước và đợi trong một phút hoặc lâu hơn. Bởi vì khi bạn bật nguồn mô-đun GSM, nó phải kết nối với nhà cung cấp dịch vụ mạng. Tùy thuộc vào chất lượng / cường độ tín hiệu, mô-đun GSM có thể mất một khoảng thời gian để kết nối.
- Tôi đã thử nghiệm đầu ra ở "Ấn Độ". Ngoài ra để đơn giản, tôi đã mã hóa cứng mã quận (+91 cho Ấn Độ) trong tệp trình điều khiển "GSM_A6_Driver_STM32F407.c". Nếu bạn ở một quốc gia khác, vui lòng thêm mã quốc gia của bạn như được đánh dấu trong hình trên.