สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: รายการส่วนประกอบ
- ขั้นตอนที่ 2: สร้างการเชื่อมต่อ
- ขั้นตอนที่ 3: เปิด Keil UVision IDE
- ขั้นตอนที่ 4: เลือกอุปกรณ์
- ขั้นตอนที่ 5: จัดการสภาพแวดล้อมรันไทม์
- ขั้นตอนที่ 6: คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ
- ขั้นตอนที่ 7: เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ
- ขั้นตอนที่ 8: กำหนดค่าเส้นทางของไฟล์ส่วนหัว
- ขั้นตอนที่ 9: เชื่อมต่อ STM32F407 Discovery Kit ของคุณกับพีซี/แล็ปท็อป
- ขั้นตอนที่ 10: เลือก ST-Link Debugger ใน Compiler Configuration
- ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger
- ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด
- ขั้นตอนที่ 13: แค่นั้นแหละ !!! เพียงรีเซ็ต STM32F407 MCU และใช้โทรศัพท์มือถือ
- ขั้นตอนที่ 14: บันทึกย่อและข้อมูลการดีบัก
วีดีโอ: โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
คุณเคยต้องการสร้างโครงการฝังตัวที่ยอดเยี่ยมหรือไม่?. ถ้าใช่ จะสร้างแกดเจ็ตยอดนิยมและเป็นที่โปรดปรานของทุกคนได้อย่างไร เช่น โทรศัพท์มือถือ!!!. ในคำแนะนำนี้ ฉันจะแนะนำวิธีสร้างโทรศัพท์มือถือพื้นฐานโดยใช้ STM32F407 Discovery Kit และโมดูล GSM A6
โครงการนี้มี 3 โมดูลหลัก:
- โมดูล GSM A6 - โมดูลนี้มีหน้าที่ในการโทรออก/รับสายและ SMS
- จอแสดงผล LCD 16x02 - เพื่อดูผลลัพธ์
- 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: รายการส่วนประกอบ
ส่วนประกอบฮาร์ดแวร์ที่จำเป็นสำหรับโครงการนี้คือ:
- ชุดการค้นพบ STM32F407
- โมดูล GSM A6
- จอแอลซีดี 16x02
- โมดูล I2C
- แป้นพิมพ์ Hex
- สายจัมเปอร์สองสามเส้น
- คณะกรรมการขนมปัง
- ลำโพง (8Ω)
- ไมโครโฟน
ขั้นตอนที่ 2: สร้างการเชื่อมต่อ
เชื่อมต่อส่วนประกอบตามที่ระบุในภาพด้านบน รูปภาพ/แผนภาพนี้ช่วยให้คุณเชื่อมต่อส่วนประกอบทั้งหมดได้อย่างสมจริงและง่ายดาย:-)
หมายเหตุ: โมดูล GSM A6 ใช้พลังงานจากขั้วต่อไมโคร USB คุณสามารถใช้ที่ชาร์จมือถือเครื่องใดก็ได้เพื่อเปิดเครื่อง GSM A6
ขั้นตอนที่ 3: เปิด Keil UVision 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
คลิกขวาที่ Target1 จากนั้นคลิกที่ Option for Target "Target1.. " จากนั้นไปที่แท็บ Debug แล้วเลือก ST-Link-Debugger ตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger
หลังจากเลือก ST-Link Debugger ในขั้นตอนที่ 10 แล้ว ให้คลิกที่ Settings จากนั้นเลือก Trace และตรวจสอบฟิลด์ทั้งหมดตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด
หลังจากเสร็จสิ้นขั้นตอนทั้งหมดแล้ว ให้สร้างโครงการและตรวจดูให้แน่ใจว่าไม่มีข้อผิดพลาดในโค้ด หลังจากคอมไพล์สำเร็จแล้ว ให้อัปโหลดโค้ดไปยัง Discovery Kit
ขั้นตอนที่ 13: แค่นั้นแหละ !!! เพียงรีเซ็ต STM32F407 MCU และใช้โทรศัพท์มือถือ
ฉันได้รวมวิดีโอสาธิตของโครงการนี้
ขั้นตอนที่ 14: บันทึกย่อและข้อมูลการดีบัก
- ฉันแนะนำให้คุณเปิดโมดูล GSM ก่อนแล้วรอสักครู่ เพราะเมื่อคุณเปิดโมดูล GSM จะต้องเชื่อมต่อกับผู้ให้บริการเครือข่าย ขึ้นอยู่กับคุณภาพ/ความแรงของสัญญาณ โมดูล GSM อาจใช้เวลาในการเชื่อมต่อ
- ฉันได้ทดสอบผลลัพธ์ใน "อินเดีย" นอกจากนี้ เพื่อความง่าย ฉันได้ฮาร์ดโค้ดรหัสเคาน์ตี (+91 สำหรับอินเดีย) ในไฟล์ไดรเวอร์ "GSM_A6_Driver_STM32F407.c" หากคุณอยู่ในประเทศอื่น โปรดเพิ่มรหัสประเทศของคุณตามที่ไฮไลต์ในภาพด้านบน
แนะนำ:
วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer - บทช่วยสอน Visuino: 6 ขั้นตอน
วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer - บทช่วยสอน Visuino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer เพื่อสร้างเสียงทุกครั้งที่เซ็นเซอร์ PIR ตรวจพบการเคลื่อนไหว ชมวิดีโอสาธิต
การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: 14 ขั้นตอน
การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: การเลือก FreeRTOS เป็นระบบปฏิบัติการแบบเรียลไทม์สำหรับโปรเจ็กต์แบบฝังของคุณเป็นตัวเลือกที่ยอดเยี่ยม FreeRTOS เป็นบริการฟรีอย่างแท้จริง และมีคุณสมบัติ RTOS ที่เรียบง่ายและมีประสิทธิภาพมากมาย แต่การตั้งค่า freeRTOS ตั้งแต่เริ่มต้นอาจเป็นเรื่องยาก หรือฉันพูดได้เลยว่า
Arduino GSM Based Motor Control (ไม่มีโมดูล GSM): 3 ขั้นตอน
Arduino GSM Based Motor Control (ไม่มีโมดูล GSM): ในโปรเจ็กต์นี้ ฉันจะแสดงวิธีการพื้นฐานแต่ไม่ซ้ำใครให้คุณเห็นในการเปิดและปิดทุกอย่างโดยใช้รีเลย์ ความคิดนี้มาจากคนไม่กี่คนที่ทำโครงการดังกล่าว แต่พวกเขามีปัญหา พวกเขาทั้งหมดต้องพึ่งพาพฤติกรรมของโทรศัพท์มือถือเมื่อโทร ฉันแค่
ระบบอัตโนมัติภายในบ้านโดยใช้ Arduino และโมดูล Bluetooth HC-05: 5 ขั้นตอน (พร้อมรูปภาพ)
ระบบอัตโนมัติในบ้านที่ใช้ Arduino และโมดูลบลูทูธ HC-05: เฮ้ พวกคุณเป็นยังไงกันบ้างคะ! วันนี้ฉันอยู่ที่นี่พร้อมคำแนะนำ Arduino ตัวที่สองของฉัน มันเป็นระบบอัตโนมัติในบ้านที่ควบคุมด้วย Bluetooth คุณสามารถควบคุมเครื่องใช้ในบ้านของคุณได้จากสมาร์ทโฟนของคุณทั้งหมด สิ่งที่ใช้งานได้สมบูรณ์แบบ ! ฉันออกแบบแอพด้วย..
ไฟ LED กะพริบโดยใช้ ESP32 NodeMCU WiFi และโมดูล Bluetooth: 5 ขั้นตอน
ไฟ LED กะพริบโดยใช้ ESP32 NodeMCU WiFi และบทช่วยสอนโมดูล Bluetooth: DescriptionNodeMCU เป็นแพลตฟอร์ม IoT แบบโอเพ่นซอร์ส มันถูกตั้งโปรแกรมโดยใช้ภาษาสคริปต์ Lua แพลตฟอร์มนี้ใช้โครงการโอเพ่นซอร์สของ eLua แพลตฟอร์มนี้ใช้โครงการโอเพ่นซอร์สจำนวนมาก เช่น lua-cjson, spiffs ESP32 NodeMc นี้