หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ Ultrasonic sensor กับ Arduino - คู่มือฉบับสมบูรณ์

เรียนรู้วิธีการใช้งาน Ultrasonic sensor (HC-SR04) กับ Arduino บทช่วยสอนนี้จะสอนให้คุณทราบว่ามันคืออะไร วิธีการประกอบ Sensor เข้ากับ Arduino และในช่วงท้าย คุณจะได้นำไปประยุกต์ใช้ในโปรเจกต์ Alarm system

โปรเจกต์ Ultrasonic sensor กับ Arduino - คู่มือฉบับสมบูรณ์

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

341,913 การดู
56 ถูกใจ

รายการอุปกรณ์และเครื่องมือ

1x Arduino uno Board
-
1x Ultrasonic Sensor - HC-SR04
-
1x Active Buzzer 5V (HXD)
-
1x Breadboard 100x160
-
1x jumper wires for arduino
-

แอปพลิเคชันและแพลตฟอร์ม

รายละเอียดและวิธีทำ

ผมเพิ่งโพสต์วิดีโอลงบน YouTube เพื่ออธิบายทุกอย่างที่คุณสามารถอ่านได้ในบทความนี้ หากคุณสนใจรับชม นี่คือวิดีโอครับ

Ultrasonic sensor คืออุปกรณ์ที่สามารถ วัดระยะทางโดยใช้คลื่นเสียง โดยทำงานในลักษณะเดียวกับค้างคาวและโลมา - ด้วยการส่งคลื่นเสียงออกไปและรอฟังเสียงที่สะท้อนกลับมา

Sensor ประกอบด้วยส่วนประกอบหลักสองส่วนคือ: transmitter และ receiver โดย transmitter จะทำหน้าที่ส่งเสียงความถี่สูง ซึ่งในความเป็นจริงแล้วคำว่า ultrasonic หมายถึงความถี่ที่เกินขอบเขตการได้ยินของมนุษย์ - หรือสิ่งที่สูงกว่า 20kHz นั่นเอง

เมื่อคลื่นเสียงกระทบกับวัตถุ มันจะสะท้อนกลับมาเหมือนเสียงเอคโค่ คลื่นที่สะท้อนกลับมานี้จะถูกตรวจจับโดย receiver จากนั้น sensor จะใช้ internal clock ของ micro-controller (Arduino) เพื่อหาว่าเสียงใช้เวลาเท่าไหร่ในการสะท้อนกลับมา โดยนาฬิกาเล็กๆ นี้จะเริ่มทำงานเมื่อมีการส่งคลื่นความถี่สูงออกไป และจะหยุดทำงานเมื่อตรวจพบเสียงสะท้อน

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

คุณอาจจะกำลังคิดว่า: เราจะหาระยะทางได้อย่างไรหากเรารู้เพียงแค่เวลา?

อย่างที่คุณทราบกันดีว่า velocity (ความเร็ว) คือระยะทางหารด้วยเวลา ตามสมการนี้ หากเรา คูณความเร็วด้วยเวลา เราจะได้ระยะทาง อย่างที่ผมบอกไปว่า sensor นี้ส่งคลื่นเสียง ดังนั้นความเร็วที่เราต้องใช้คือความเร็วเสียงในอากาศ (340 m/s)

Velocity = ระยะทาง / เวลา
ระยะทาง = Velocity * เวลา

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

ระยะทาง = (Velocity * เวลา) / 2

Project

ในบทความนี้ ผมจะแสดงให้คุณดูว่าเราจะสร้างระบบสัญญาณกันขโมย (alarm system) โดยใช้ Arduino และ ultrasonic sensor อย่างไร หากคุณไม่มีอุปกรณ์ครบทุกชิ้นหรือต้องการทดสอบก่อนประกอบจริง ผมได้สร้างแบบจำลองของ alarm system นี้ไว้บน Tinkercad คุณสามารถรันโปรแกรมผ่านเบราว์เซอร์ได้โดยตรงเพียงคลิก ที่นี่

ต่อมา สำหรับโปรเจกต์นี้คุณจะต้องมี: บอร์ด Arduino, breadboard, สาย jumper, buzzer และ ultrasonic sensor

Assembly

อันดับแรก ติดตั้ง ultrasonic sensor และ buzzer ลงบน breadboard จากนั้นเชื่อมต่อพิน VCC และ GND เข้ากับพอร์ต Arduino 5V และ ground

หลังจากนั้น เชื่อมต่อพิน trigger เข้ากับพอร์ต 9, พิน echo เข้ากับพอร์ต 10 และ buzzer เข้ากับพอร์ต 8 นอกจากนี้ให้ต่อ GND ของ buzzer เข้ากับ Arduino GND

สุดท้าย ให้อัปโหลดไฟล์ alarm-system-arduino.ino ที่ผมให้ไว้ในบทความนี้ และตอนนี้ alarm system ของเราก็เสร็จสมบูรณ์แล้วครับ

Code explanation

ในตอนแรก เราได้กำหนดค่าคงที่ (constants) และ variables ที่จำเป็น จากนั้นในฟังก์ชัน setup เราได้ตั้งค่าส่วนสำคัญของ code - เช่น การกำหนดให้พิน echo เป็น INPUT และพิน trigger กับ buzzer เป็น OUTPUT นอกจากนี้เรายังเริ่มการสื่อสารแบบ serial - ซึ่งสำคัญมากในการดูค่าระยะทางที่วัดได้

ส่วนสุดท้ายคือฟังก์ชัน loop ซึ่งจะเริ่มจากการปิด emitter แล้วเปิดใช้งานเป็นเวลา 10 มิลลิวินาที (milliseconds) ก่อนที่จะปิดอีกครั้ง code ส่วนนี้จะทำหน้าที่สร้างคลื่นเสียงที่จะสะท้อนกลับมาจากวัตถุที่อยู่ใกล้

ในบรรทัดที่ 28 เราจะหาว่า sensor ใช้เวลาเท่าไหร่ในการตรวจจับเสียงสะท้อน ข้อมูลนี้สำคัญมากสำหรับการคำนวณระยะทางในบรรทัดที่ 29 ซึ่งในกรณีนี้เราจะได้ระยะทางในหน่วยเซนติเมตร หลังจากนั้น ในบรรทัดที่ 30 ถึง 35 เราจะสั่งพิมพ์ค่าระยะทางออกมา

ส่วนสุดท้ายของ code คือ if-statement ที่จะสั่งให้ buzzer ทำงานเมื่อวัตถุอยู่ห่างจาก sensor ในระยะ 50 เซนติเมตรหรือใกล้กว่านั้น แต่หากเงื่อนไขนี้เป็นเท็จ buzzer ก็จะดับลง

และตอนนี้ก็ได้เวลามาดูกันแล้วว่ามันจะใช้งานได้ไหม ดังนั้นลองอัปโหลด code ลงบอร์ด Arduino ของคุณแล้วสนุกกับมันได้เลยครับ

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: ultrasonic-sensor-with-arduino-complete-guide-284faf
79 บาท
PromptPay QR Code

ประเมินราคาอัตโนมัติ + Reference Code

อยากได้งานคล้ายโปรเจคนี้ ให้ AI ประเมินราคาก่อน

กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ

คำถามให้ AI ประเมินแม่นขึ้น

หลังส่งฟอร์ม ระบบจะโชว์ Reference Code ให้ copy แล้วกด Add LINE เพื่อคุยต่อ ข้อมูลส่วนตัวจะไม่ถูกส่งเข้า GA4

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...