วันศุกร์ที่ 8 กุมภาพันธ์ พ.ศ. 2562

ส่วนประกอบงานวิชา เขียนโปรแกรม ตัวอย่างงานที่16

ส่วนประกอบงานวิชา  เขียนโปรแกรม ตัวอย่างงานที่ 16

ใบรายงานผลการปฏิบัติงาน

โครงงานเครื่องวัดส่วนสูงแบบดิจิตอล

รูปที่ 1 รูปภาพงานจริง
รูปที่ 1 รูปภาพงานจริง
หมายเลข 1 เซ็นเซอร์วัดระยะทางอัลตราโซนิค HC-sr04
หมายเลข 2 จอ LCD 16 ตัวอักษร 2 บรรทัด
หมายเลข 3 บอร์ด STM32F401VG
หมายเลข 4 บอร์ดแปลงไฟ 220 V ให้เป็น +5 และ GND
หมายเลข 5 USB ต่อบอร์ด STM32F401VG กับ คอมพิวเตอร์
หมายเลข 6 12 V dc Adapter
หมายเลข 7 เสาใช้ติดเซ็นเซอร์สูง 180 Cm
หมายเลข 8 หมวก เพื่อสร้างพื้นที่เรียบให้เซนเซอร์เกิดการสะท้อน
Contents [show]

ที่มาและความเป็นมาของโครงงาน เครื่องวัดส่วนสูงแบบดิจิตอล

การวัดส่วนสูงเป็นเครื่องบอกความสมบูรณ์ของร่างกาย ว่ามีสภาพความแข็งแรงสมบูรณ์ดี สามารถบ่องบอกสิ่งที่เกี่ยวกับสุขภาพของตัวเราได้หลาย ๆ เช่น อ้วน ผอม สูง ต่างหรือแม้กระทั่งภาวะ เสี่ยงต่อโรคภัยต่างๆ มากมาย
การวัดสวนสูงในแต่ละครั้งนั้นมีความยุงยากลำบากและเสียเวลาทาง จากความสำคัญจุดนี้จึงมีการคิดค้นและประดิษฐ์เครื่องวัดส่วนสูงแบบดิจิตอลขึ้นมา เพราะการวัดส่วนสูงแบบธรรมดาจะทำให้เกิดการเสียเวลา
จากเหตุผลข้างต้นเราสามารถนำเอาเทคโนโลยีสมัยใหม่มาใช้เพื่ออำนวยความสะดวกจึงได้คิดสร้างเครื่อง วัดส่วนสูงแบบดิจิตอลขึ้นมาเพื่อให้เกิดความสะดวกในการวัดส่วนสูง

คุณสมบัติการทำงานของโครงงาน เครื่องวัดส่วนสูงแบบดิจิตอล

  1. สามารถวัดส่วนสูงตั้งแต่ 50 Cm – 178 Cm
  2. แสดงผลผ่านจอ LCD 16 ตัวอักษร 2 บรรทัด

หลักการทำงานของเซ็นเซอร์วัดระยะทางอัลตราโซนิค HC-sr04

การทำงานของ Ultrasonic sensor อุปกรณ์นี้เริ่มต้นทำงานโดยการส่งสัญญาณเริ่มต้นยาว 10 ไมโครวินาที ไปสั่งให้แหล่งกำเนิดเสียงทำงาน จากนั้นจะส่งคลื่นเสียงความถี่ 40 kHz ออกไป 8 พัสส์ แล้วรอฟังเสียงสะท้อนครับ ตัวซ้ายจะเป็นตัวส่งคลื่นเสียงออกไป ส่วนตัวขวาในรูปจะเป็นตัวรับความถี่ที่สะท้อนกลับมา
KMUTNBProj014_002
 เนื่องจากเสียงที่ส่งออกไปถึงแม้จะไม่ได้ยินเพราะเกิน 20 kHZ ที่หูมนุษย์จะรับฟังได้ แต่เนื่องจากยังคงเป็นคลื่นเสียง ดังนั้นความเร็วของเสียงจึงแปรผันตามอุณหภูมิด้วยตามสูตรนี้
C ≈ 331.5 + 0.61 θ (m/s)
ดังนั้นเวลาผู้ผลิตเขียนโปรแกรมออกแบบไว้ก็อยู่ที่อุณภูมิทำงานที่อาจจะแตกต่างจากบ้านเรา ก็ทำให้ค่าที่วัดได้มีความผิดพลาดไปบ้าง
อีกส่วนที่จะต้องรู้ก็คือช่วงวัด และมุมที่สามารถวัดได้ และเนื่องจากคุณสมบัติของอุปกรณ์ที่ใช้ในการกำเนิดเสียง และรูปร่างของตัวลำโพง (Horn) ก็ทำให้อุปกรณ์ตัวนี้มีมุมวัด 15 องศา (Measuring Angle)โดยสามารถวัดระยะห่างได้ตั้งแต่ 2 ซม. จนถึง 4 เมตร
KMUTNBProj014_003

วิธีการใช้งานของเซ็นเซอร์วัดระยะทางอัลตราโซนิค HC-sr04

ตัว Ultrasonic sensor มีอยู่ด้วยกัน 4 pin คือ VCC GND Trig และ Echo
  • VCC ต่อที่ขา 4
  • GND ต่อที่ขา 7
  • Trig ต่อที่ขา 5
  • Echo ต่อที่ขา 6
ตัว VCC จะถูกใช้เป็นตัวควบคุมการเริ่มทำงาน หรือ หยุดทำงานของอุปกรณ์ จากนั้นสัญญาณเริ่มต้นในการปล่อยพัลส์จะถูกส่งไปที่ ขา Trig และ สัญญาณ Echo จะถูกส่งกลับไปที่ตัว บอร์ด STM32F401VG เพื่อคำนวณระยะทางต่อไป

หลักการทำงานของเครื่องวัดส่วนสูงแบบดิจิตอล

เมื่อจ่ายไฟเข้าไปในวงจร โปรแกรมที่อยู่ในบอร์ด STM32F401VG จะจ่าย Trig ให้เซนเซอร์ เซนเซอร์จะทำงานโดยการจ่ายคลื่นเสียงออกไป จากนั้นเมื่อคลื่นเสียงกระทบกับหมวกที่ใส จะสะทอนกับมาที่ตัวรับ จากนั้นค่าจากเซ็นเซอร์ที่วัดได้จะเข้าไปประมวนผลในบอร์ด STM32F401VG และแสดงผลออกทางจอ LCD

การนำไปใช้งานของเครื่องวัดส่วนสูงแบบดิจิตอล

1. เสียบ 12 V DC Adapter
KMUTNBProj014_004
2. ไปยืนในช่องของท่อ ( ช่องพื้นที่เป็นรูปสี่เหลียมผืนผ้าให้อยู่ใต้เซนเซอร์ ) ยืนตรง
KMUTNBProj014_005
3. สวมหมวกที่ให้มา ( เพื่อสร้างพื้นที่เรียบให้เซนเซอร์เกิดการสะท้อน )
KMUTNBProj014_006
4. ส่วนสูงจะแสดงออกที่จอ LCD
KMUTNBProj014_007
5. หากส่วนสูงไม่แสดงให้กดปุ่ม Reset หนึ่งครั้ง
KMUTNBProj014_008

วงจรการต่อวงจรที่สมบูรณ์ของโครงงาน เครื่องวัดส่วนสูงแบบดิจิตอล

รูปที่ 2 วงจรสมบูรณ์
รูปที่ 2 วงจรสมบูรณ์

วงจรการต่อวงจรที่สมบูรณ์ของโครงงาน เครื่องวัดส่วนสูงแบบดิจิตอล

จากวงจรข้างต้นนั้นจากบอร์ด STM32F407VG จะจ่าย Trig จากขา PD12 ให้เซ็นเซอร์ และรับค่าที่วัดได้จากเซ็นเซอร์เข้าที่ขา PB1 และนำมาเจนเนอเรทค่าผ่านโปรแกรม MATLAB และแสดงผลออกทางจอ LCD
และส่วนประกอบวงจรประกอบไปด้วย
  1. บอร์ด STM32F401VG
  2. จอ LCD 16 ตัวอักษร 2 บรรทัด
  3. เซ็นเซอร์วัดระยะทาง อัลตราโซนิค HC-sr04

โปรแกรม MATLAB ที่สมบูรณ์ของ เครื่องวัดส่วนสูงแบบดิจิตอล

รูปที่ 3 โปรแกรม MATLAB ของโครงงานเครื่องวัดส่วนสูงแบบดิจิตอล
รูปที่ 3 โปรแกรม MATLAB ของโครงงานเครื่องวัดส่วนสูงแบบดิจิตอล

โปรแกรม MATLAB ที่ใช้ทั้งหมดในโครงงาน เครื่องวัดส่วนสูงแบบดิจิตอล

1.เป็นการกำหนดการใช้บอร์ดว่าเราจะใช้บอร์ด Waijung 13.06
KMUTNBProj014_011
2.เป็นการกำหนดการจ่าย Pulse ให้ขา PD12 เพื่อไปจ่าย Trigger ให้เซนเซอร์
KMUTNBProj014_012
3.กำหนดว่าบรรทัดที่ 1 ให้แสดงอะไรและในที่นี้ให้แสดงคำว่า “Altitude”
KMUTNBProj014_013
4.เป็น output จาก Function – call
KMUTNBProj014_014
5.กำหนดว่าบรรทัดที่2 ให้แสดงอะไรและในที่นี้ให้แสดงค่าของ mycount ( เป็นประเภท int32 )
KMUTNBProj014_015
6.เขียนข้อมูลของ Line1 และ Line2 ลงจอ LCD เพื่อแสดงผล
KMUTNBProj014_016
7.ประกาศว่าจะใช้จอ LCD และประกาศ Line 1 (แสดงบรรทัดที่ 1) , Line 2 (แสดงบรรทัดที่ 2)
KMUTNBProj014_017
8.บล็อกนี้ใช้เพื่อสร้างการขัดจังหวะเวลาที่ไม่ตรงกัน โดยใช้ Function – call
KMUTNBProj014_0189.
KMUTNBProj014_019
ใน Function – call ดังนี้
9.1 รับค่าจากเซ็นเซอร์เข้าขา PB1 เพื่อเป็น Input ให้ฟังชันก์ M-file
KMUTNBProj014_020
9.2 กำหนดค่าเพื่อเป็น Input ให้ฟังชันก์ M-file
KMUTNBProj014_021
9.3 Output ฟังชันก์ M-file กำหนดให้ชื่อว่า mycount
KMUTNBProj014_0229.4  KMUTNBProj014_023

ไม่มีความคิดเห็น:

แสดงความคิดเห็น