Tuesday 30 June 2015

[Mini Project]วิทยุ FM อัจฉริยะ : ตอนที่ 7 Build Project


สำหรับบทความในตอนนี้จะกล่าวถึงวิธีการสร้าง Mini Project วิทยุ  FM อัจฉริยะ


   ส่วนที่  1 :  ส่วนของการโปรแกรมลงบอร์ด Nucleo
         ขั้นตอนในการ  Build Project สามารถศึกษาได้จากบทความ เริ่มต้นใช้งานบอร์ด STM32-NUCLEO F401RE เริ่มแรกจะใช้โปรแกรม STM32CubeMX ในการสร้าง Project ตามบทความข้างต้น ซึ่งหลังจากที่เราเลือก  New Project  แล้ว ในส่วนของ MCU Selector และ Board Selector ให้ทำการแก้ไขให้เป็นไปตามภาพด้านล่าง

MCU Selector

Board Selector

        เมื่อสร้าง  Project  เสร็จแล้วให้ทำการ  configuration Peripheral  ต่างๆดังนี้ 
  • I2C3   -> I2C
  • SPI3  ->  Mode : Full-Duplex Master
  • SYS -> Debug : SWD and Asnchronous Trace
  • USART2 -> Mode : Asynchronous         
ซึ่งเมื่อทำจะได้ผลออกมาเป็นดังภาพด้านล่างนี้



            เมื่อทำขั้นตอนข้างต้นแล้วให้ทำตามขั้นตอนที่เหลือที่ได้กล่าวไว้ในบทความเริ่มต้นใช้งานบอร์ด STM32-NUCLEO F401RE จนกระทั่งถึงขั้นตอนก่อนทำการ  Build Target เนื่องจาก  Library  ที่ใช้ใน Project นี้เป็นไฟล์สกุล  C++ จึงต้องเปลี่ยนไฟล์ main.c  ให้กลายเป็น  main.cpp ดังนั้นในส่วนของ compiler จึงต้องทำการแก้ไข ซึ่งจะต้องทำการแก้ไข Build Option  โดยสามารถเข้าไปแก้ไขที่ Project -> Build Option กดเลือกแท็บ Compiler settings -> Compiler Flags แล้วเปลี่ยนส่วน  Categories  เป็น  C++ options และต่อมาให้กดเลือกแท็บ Linker settings  แล้วเปลี่ยนส่วน  Categories  เป็น <All categories> และเลือก Use C++ Libraries  ดังภาพด้านล่าง


แล้วทำการ  Build Target และโปรแกรมลงบอร์ดต่อไป

     ส่วนที่  2 :  ส่วนของการทดสอบใช้จริง
         เมื่อทำการโปรแกรมโค้ดลงบอร์ด  Nucleo  และต่อวงจรทั้งหมดเสร็จเรียบร้อยแล้ว ในส่วนนี้จะอธิบายถึงการทำให้โทรศัพท์สมาร์ทโฟนระบบปฏิบัติการณ์แอนดรอยด์สามารถควบคุมวงจรได้โดยมี 2 ขั้นตอนดังนี้
        1. ทำให้คอมพิวเตอร์กลายเป็น WiFi access point โดยศึกษาวิธีการทำ WiFi access pointได้ที่นี่
        2. เปิดแอพพลิเคชั่น พร้อมทั้งตั้งค่า  IP Destination  ให้ตรงกันกับที่เราได้ตั้งไว้
     ในกรณีข้อสอง หากไม่ใช้ Notebook เป็น Hotspot ก็สามารถต่อโดยตรงกับ Access Point ปกติทั่วไปที่ต่ออยู่กับบอร์ด STM ได้เช่นกัน
       
     



No comments:

Post a Comment