สารบัญ:

โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)
โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Basic Mobile Phone using STM32F407 and GSM A6 Module 2024, กรกฎาคม
Anonim
โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6
โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6

คุณเคยต้องการสร้างโครงการฝังตัวที่ยอดเยี่ยมหรือไม่?. ถ้าใช่ จะสร้างแกดเจ็ตยอดนิยมและเป็นที่โปรดปรานของทุกคนได้อย่างไร เช่น โทรศัพท์มือถือ!!!. ในคำแนะนำนี้ ฉันจะแนะนำวิธีสร้างโทรศัพท์มือถือพื้นฐานโดยใช้ STM32F407 Discovery Kit และโมดูล GSM A6

โครงการนี้มี 3 โมดูลหลัก:

  1. โมดูล GSM A6 - โมดูลนี้มีหน้าที่ในการโทรออก/รับสายและ SMS
  2. จอแสดงผล LCD 16x02 - เพื่อดูผลลัพธ์
  3. Hex Keypad - เพื่อให้อินพุต

STM32F407 MCU ควบคุม GSM A6, LCD และปุ่มกด ดังนั้น เพื่อให้การเขียนโปรแกรมง่ายและมีระเบียบ ฉันได้พัฒนาโค้ดไดรเวอร์แต่ละตัวสำหรับโมดูล Interfacing GSM A6, LCD และ Keypad บน STM32F407 MCU จากนั้นฉันก็รวมไฟล์ไดรเวอร์เหล่านี้ไว้ในโปรแกรมหลักและเรียก API ที่เกี่ยวข้อง คุณสามารถค้นหารหัสไดรเวอร์เหล่านี้ได้ในวัสดุสิ้นเปลืองด้านล่าง

ไฟล์โครงการ Keil ทั้งหมดรวมอยู่ด้านล่าง

เสบียง

  • รายละเอียดทั้งหมดเกี่ยวกับ STM32F407 Discovery Kit เริ่มต้นใช้งาน STM32F407 Discovery Kit
  • รายละเอียดพื้นฐานเกี่ยวกับโมดูล GSM A6
  • GitHub RepositoryBasic Mobile Phone โดยใช้ STM32F407 Discovery kit และโมดูล GSM A6 Module
  • เชื่อมต่อ LCD ขนาด 16x02 บน STM32F407 Discovery โดยใช้โมดูล I2C
  • การเชื่อมต่อ 4X4 Matrix Keypad บน STM32F407 Discovery Kit
  • การเชื่อมต่อโมดูล GSM-A6 บน STM32F407 Discovery Kit

ขั้นตอนที่ 1: รายการส่วนประกอบ

รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ

ส่วนประกอบฮาร์ดแวร์ที่จำเป็นสำหรับโครงการนี้คือ:

  1. ชุดการค้นพบ STM32F407
  2. โมดูล GSM A6
  3. จอแอลซีดี 16x02
  4. โมดูล I2C
  5. แป้นพิมพ์ Hex
  6. สายจัมเปอร์สองสามเส้น
  7. คณะกรรมการขนมปัง
  8. ลำโพง (8Ω)
  9. ไมโครโฟน

ขั้นตอนที่ 2: สร้างการเชื่อมต่อ

สร้างการเชื่อมต่อ
สร้างการเชื่อมต่อ

เชื่อมต่อส่วนประกอบตามที่ระบุในภาพด้านบน รูปภาพ/แผนภาพนี้ช่วยให้คุณเชื่อมต่อส่วนประกอบทั้งหมดได้อย่างสมจริงและง่ายดาย:-)

หมายเหตุ: โมดูล GSM A6 ใช้พลังงานจากขั้วต่อไมโคร USB คุณสามารถใช้ที่ชาร์จมือถือเครื่องใดก็ได้เพื่อเปิดเครื่อง GSM A6

ขั้นตอนที่ 3: เปิด Keil UVision IDE

เปิด Keil UVvision IDE
เปิด Keil UVvision IDE

เปิด Keil uVision IDE คลิกที่โปรเจ็กต์แล้วเลือก New uVision Project…จากนั้นเลือกไดเร็กทอรีการทำงานของคุณและตั้งชื่อโปรเจ็กต์ที่คุณต้องการ

ขั้นตอนที่ 4: เลือกอุปกรณ์

เลือกอุปกรณ์
เลือกอุปกรณ์

เมื่อคุณตั้งชื่อให้กับโปรเจ็กต์แล้ว ขั้นตอนต่อไป คุณต้องเพิ่มอุปกรณ์ เรากำลังเพิ่ม STM32F407VG Micronconroller จาก STMicroelectronics เลือก STM32F407VG จากนั้นคลิก ตกลง

ขั้นตอนที่ 5: จัดการสภาพแวดล้อมรันไทม์

จัดการสภาพแวดล้อมรันไทม์
จัดการสภาพแวดล้อมรันไทม์
จัดการสภาพแวดล้อมรันไทม์
จัดการสภาพแวดล้อมรันไทม์

ขั้นตอนต่อไปคือการเลือกองค์ประกอบไลบรารี/ไดรเวอร์ในแท็บจัดการสภาพแวดล้อมรันไทม์ ที่นี่เลือกส่วนประกอบทั้งหมดตามที่แสดงในภาพด้านบน เมื่อคุณตรวจสอบฟิลด์ที่เหมาะสมทั้งหมดแล้ว คลิก แก้ไข จากนั้นคลิก ตกลง

ขั้นตอนที่ 6: คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ

คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ
คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ

ตอนนี้คุณต้องเพิ่มไฟล์ไดรเวอร์สำหรับโมดูล GSM A6, LCD และปุ่มกด ไฟล์ไดรเวอร์คือ:

1. โมดูล GSM A6:

GSM_A6_Driver_STM32F407.c และ GSM_A6_Driver_STM32F407.h

2. จอแอลซีดี:

STM32F407_I2C_LCD16x02_Driver.c และ STM32F407_I2C_LCD16x02_Driver.h

3. ปุ่มกด

STM32F407_KeypadDriver.c และ STM32F407_KeypadDriver.h

คัดลอกไฟล์ทั้ง 6 เหล่านี้ไปยังโฟลเดอร์โครงการของคุณ ฉันได้แนบไฟล์เหล่านี้ด้านล่าง

ขั้นตอนที่ 7: เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ

เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ
เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ

เมื่อคุณคัดลอกไฟล์ไดรเวอร์ลงในโฟลเดอร์โปรเจ็กต์แล้ว คุณต้องเพิ่มไฟล์เหล่านี้ลงในโปรเจ็กต์ของคุณ

ใน Keil เลือก Target1 คลิกขวาแล้วเลือกเพิ่มกลุ่มใหม่ สร้าง 4 กลุ่มใหม่และเปลี่ยนชื่อเป็น:

1) แอปพลิเคชันผู้ใช้ - เพิ่มไฟล์ "main.c" ใหม่ที่นี่

2) GSM_A6_Driver - เพิ่มไฟล์ "GSM_A6_Driver_STM32F407.c" และ " GSM_A6_Driver_STM32F407.h" ที่มีอยู่ในกลุ่มนี้

3) LCD_Driver - เพิ่มไฟล์ "STM32F407_I2C_LCD16x02_Driver.c" และ " STM32F407_I2C_LCD16x02_Driver.h" ที่มีอยู่ในกลุ่มนี้

4) Keypad_Driver - เพิ่มไฟล์ " STM32F407_KeypadDriver.c" และ " STM32F407_KeypadDriver.h" ที่มีอยู่ในกลุ่มนี้

หมายเหตุ: ฉันได้รวมไฟล์ "main.c" ไว้ด้านล่าง คุณสามารถเพิ่มไฟล์นี้โดยตรงหรือคัดลอกเนื้อหาไปยังไฟล์หลักที่สร้างขึ้นใหม่

ขั้นตอนที่ 8: กำหนดค่าเส้นทางของไฟล์ส่วนหัว

กำหนดค่าเส้นทางของไฟล์ส่วนหัว
กำหนดค่าเส้นทางของไฟล์ส่วนหัว

เมื่อคุณเพิ่มไฟล์ไดรเวอร์แล้ว คุณต้องบอกคอมไพเลอร์ว่าไฟล์ส่วนหัวนั้นอยู่ที่ใด ดังนั้นเราต้องกำหนดค่าตัวเลือกคอมไพเลอร์

คลิกขวาที่ตัวเลือก Target1 สำหรับเป้าหมาย "Target1.. " เส้นทางรวม C/C++ ตรวจสอบให้แน่ใจว่าคุณได้รวมพาธของโฟลเดอร์โปรเจ็กต์ของคุณแล้ว เนื่องจากเราคัดลอกไฟล์ไดรเวอร์ไว้ที่นั่น

ขั้นตอนที่ 9: เชื่อมต่อ STM32F407 Discovery Kit ของคุณกับพีซี/แล็ปท็อป

ขั้นตอนที่ 10: เลือก ST-Link Debugger ใน Compiler Configuration

เลือก ST-Link Debugger ใน Compiler Configuration
เลือก ST-Link Debugger ใน Compiler Configuration

คลิกขวาที่ Target1 จากนั้นคลิกที่ Option for Target "Target1.. " จากนั้นไปที่แท็บ Debug แล้วเลือก ST-Link-Debugger ตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger

กำหนดค่าโปรแกรมแก้ไขข้อบกพร่อง ST-Link
กำหนดค่าโปรแกรมแก้ไขข้อบกพร่อง ST-Link

หลังจากเลือก ST-Link Debugger ในขั้นตอนที่ 10 แล้ว ให้คลิกที่ Settings จากนั้นเลือก Trace และตรวจสอบฟิลด์ทั้งหมดตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด

สร้างและอัปโหลดโค้ด
สร้างและอัปโหลดโค้ด

หลังจากเสร็จสิ้นขั้นตอนทั้งหมดแล้ว ให้สร้างโครงการและตรวจดูให้แน่ใจว่าไม่มีข้อผิดพลาดในโค้ด หลังจากคอมไพล์สำเร็จแล้ว ให้อัปโหลดโค้ดไปยัง Discovery Kit

ขั้นตอนที่ 13: แค่นั้นแหละ !!! เพียงรีเซ็ต STM32F407 MCU และใช้โทรศัพท์มือถือ

Image
Image

ฉันได้รวมวิดีโอสาธิตของโครงการนี้

ขั้นตอนที่ 14: บันทึกย่อและข้อมูลการดีบัก

  • ฉันแนะนำให้คุณเปิดโมดูล GSM ก่อนแล้วรอสักครู่ เพราะเมื่อคุณเปิดโมดูล GSM จะต้องเชื่อมต่อกับผู้ให้บริการเครือข่าย ขึ้นอยู่กับคุณภาพ/ความแรงของสัญญาณ โมดูล GSM อาจใช้เวลาในการเชื่อมต่อ
  • ฉันได้ทดสอบผลลัพธ์ใน "อินเดีย" นอกจากนี้ เพื่อความง่าย ฉันได้ฮาร์ดโค้ดรหัสเคาน์ตี (+91 สำหรับอินเดีย) ในไฟล์ไดรเวอร์ "GSM_A6_Driver_STM32F407.c" หากคุณอยู่ในประเทศอื่น โปรดเพิ่มรหัสประเทศของคุณตามที่ไฮไลต์ในภาพด้านบน

แนะนำ: