วัสดุ อุปกรณ์ เครื่องมือหรือโปรแกรมที่ใช้ในการพัฒนา
รายชื่อวัสดุอุปกรณ์
STM32-NUCLEO F401RE 1 บอร์ด
FM Receiver Module (SPK-TFM-1010) 1 โมดูล
Ethernet module ENC28J60 1 โมดูล
แจ็คขนาด 3.5 mm 1 ชุด
สายไฟสำหรับต่อวงจร 1 ชุด
ลำโพง 1 ชุด
สมาร์ทโฟนที่รองรับระบบปฏิบัติการแอนดรอยด์ 1 เครื่อง
รายชื่อโปรแกรมที่ใช้ในการพัฒนา
STM32CubeMX v 4.7
EmBlocks v 2.30
STM32-NUCLEO F401RE 1 บอร์ด
FM Receiver Module (SPK-TFM-1010) 1 โมดูล
Ethernet module ENC28J60 1 โมดูล
แจ็คขนาด 3.5 mm 1 ชุด
สายไฟสำหรับต่อวงจร 1 ชุด
ลำโพง 1 ชุด
สมาร์ทโฟนที่รองรับระบบปฏิบัติการแอนดรอยด์ 1 เครื่อง
รายชื่อโปรแกรมที่ใช้ในการพัฒนา
STM32CubeMX v 4.7
EmBlocks v 2.30
CubeMx2EmBlocks v 1.0.0
STM32 ST-LINK Utility v 3.5
Android Studio 1.2.1.1 JRE 1.7.0
STM32 ST-LINK Utility v 3.5
Android Studio 1.2.1.1 JRE 1.7.0
แนวคิดและหลักการออกแบบระบบ
ในส่วนของแนวคิดและการออกแบบระบบนี้ได้แบ่งออกเป็นสองส่วนดังนี้
ส่วนที่ 1 : ส่วนเชื่อมต่อของบอร์ด STM32-NUCLEO F401RE กับ FM Receiver SPK-TFM- 1010 และ Ethernet module ENC28J60
ส่วนที่ 2 : ส่วนของการเชื่อมต่อระหว่าง Internet Socket UDP กับ สมาร์ทโฟนในระบบปฏิบัติ การแอนดรอยด์
Component
1. บอร์ด STM32-NUCLEO F401RE
ทำหน้าที่เป็นตัวควบคุม FM Receiver และ Ethernet Module โดยใช้ STM32CubeMX ในการกำหนด Peripherals และใช้ HAL library และภาษา C++ ในการพัฒนา โดยใช้โปรแกรม EmBlock
2. FM Receiver SPK-TFM-1010
ทำหน้าที่เป็นตัวรับสัญญาณวิทยุที่มีความถี่ตั้งแต่ 76-108 MHz และส่งเอาต์พุตที่เป็นความถี่ซึ่งมีระดับแรงดัน 0.6 - 1 V ออกไปให้ลำโพง
ในการติดต่อระหว่าง AR1010 กับ บอร์ด NUCLEO สามารถติดในต่อในรูปแบบ I2C หรือ SPI ก็ได้ ซึ่งเราตัดสินใจเลือกใช้ I2C ในการติดต่อ โดยที่บอร์ด NUCLEO เป็น Master และ AR1010 เป็น Slave
ในส่วนของฮาร์ดแวร์จะจ่ายไฟเลี้ยง 3.3 V ซึ่งสามารถจ่ายโดยตรงด้วยบอร์ด NUCLEO ได้เลย และเราได้เลือกการควบคุมแบบ I2C ดังนั้นขา BusMode จึงต่อลง GND และขา Write/Read ไม่ต้องต่อ ต่อเพียงแค่ขา Clock กับ Data เข้ากับขา PA8 และ PC9 ตามลำดับ
ในส่วนของฮาร์ดแวร์จะจ่ายไฟเลี้ยง 3.3 V ซึ่งสามารถจ่ายโดยตรงด้วยบอร์ด NUCLEO ได้เลย และเราได้เลือกการควบคุมแบบ I2C ดังนั้นขา BusMode จึงต่อลง GND และขา Write/Read ไม่ต้องต่อ ต่อเพียงแค่ขา Clock กับ Data เข้ากับขา PA8 และ PC9 ตามลำดับ
3. Ethernet module ENC28J60
ทำหน้าที่เป็นตัวรับและส่งข้อมูลแบบ UDP ระหว่างบอร์ด NUCLEO กับ สมาร์ทโฟน โดยจะใช้การติดต่อในรูปแบบ SPI โดยที่บอร์ด NUCLEO เป็น Master และ Ethernet module เป็น Slave
4. สมาร์ทโฟนระบบปฏิบัติการแอนดรอยด์
เราจะใช้แอพพลิเคชั่นบนระบบปฏิบัติการแอนดรอยด์ ในการควบคุมความถี่วิทยุและส่งในรูปแบบUDP กลับไปหาบอร์ด NUCLEO F401RE โดยใช้โปรแกรม Android Studio ในการพัฒนาแอพพลิเคชั่น ซึ่งอินเตอร์เฟสของแอพพลิเคชั่นที่ออกแบบได้เป็นดังภาพด้านล่าง
และฟังก์ชันในแอพพลิเคชั่นมีดังนี้
· ผู้ใช้สามารถป้อนความถี่ที่ต้องการได้
· ปรับระดับเสียงได้
· ค้นหาช่องสัญญาณความถี่ที่อยู่ก่อนหน้าหรือถัดไปได้
5. ลำโพง
เอกสารสำหรับศึกษาเพิ่มเติม
Description of STM32F4xx HAL drivers
ENC28J60 Data Sheet
specification applies to FM Module
ar1010 programmerguide 0.81
บทความนี้เป็นส่วนหนึ่งของรายวิชา 010123120 Embedded System Design Lab
คณะวิศวกรรมศาสตร์ ภาควิชาวิศวกรรมไฟฟ้าและคอมพิวเตอร์
มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ
No comments:
Post a Comment