Ultrasonic Sensor HC-SR04 คืออะไร และใช้กับ Arduino ทำอะไรได้บ้าง

ถ้าคุณเคยสงสัยว่าค้างคาวจะบินในที่มืดได้ยังไง หรือทำไมโรบอทถึงหลีกเลี่ยงสิ่งกีดขวาง คำตอบก็คือการใช้ Ultrasonic Sensor หรือ "เซนเซอร์อัลตราโซนิก" นั่นเอง Sensor นี้เหมือนหูของค้างคาวที่ส่งคลื่นเสียงที่มนุษย์ฟังไม่ได้ แล้วรอฟัง Echo ที่สะท้อนกลับมา วันนี้เราจะมาเรียนรู้เรื่อง HC-SR04 ซึ่งเป็นตัวเซนเซอร์ยอดนิยมที่ใช้กับ Arduino ได้แล้วจะสามารถสร้างสิ่งอดขมนุนต่างๆ ได้

ภาพรวม: HC-SR04 คืออะไร

HC-SR04 เป็น Ultrasonic Sensor ขนาดเล็ก ใช้งานง่าย และราคาไม่แพง โดยหลักการทำงานคือ ส่งคลื่นเสียง (Ultrasonic wave) ที่ความถี่ประมาณ 40 kHz ออกไปกระแทกวัตถุ แล้ว Sensor จะรับฟังเสียงที่สะท้อนกลับมา จากนั้นคำนวณเวลาที่เสียงใช้ไปแล้วกลับ เพื่อหาระยะห่างระหว่างตัว Sensor กับวัตถุ ยิ่งใกล้ยิ่งคืนเวลาแบบรวดเร็ว ยิ่งไกลเวลาก็ยิ่งนาน

HC-SR04 Ultrasonic Sensor ขนาดจริง
ภาพประกอบ: HC-SR04 Ultrasonic Sensor พร้อม Arduino

อุปกรณ์ที่ต้องใช้

ถ้าคุณต้องการลองใช้ HC-SR04 กับ Arduino บ้าน คุณจะต้องเตรียมอุปกรณ์พื้นฐานเหล่านี้ไว้ ครบถ้วนพร้อมพบทั่ว เริ่มจาก Arduino Board (แนะนำ Arduino Uno) ที่เป็นใจกลางของโปรเจค HC-SR04 Sensor จำนวน 1 ตัว เพื่อวัดระยะห่าง Breadboard และ Jumper wire เพื่อเชื่อมต่ออุปกรณ์ต่างๆ แล้วยังมี USB Cable เพื่ออัปโหลดโค้ดและให้ไฟเลี้ยง Arduino นอกจากนี้ขอแนะนำว่าให้มี LED หรือ Buzzer เพื่อสร้างสัญญาณแจ้งเตือนเมื่อวัตถุเข้ามาใกล้

วัสดุหลัก:

• Arduino Uno Board

• HC-SR04 Sensor

• Breadboard

• Jumper Wire

วัสดุเสริม (ไม่บังคับ):

• LED (สีแดง/สีเขียว)

• Buzzer (เสียงแจ้งเตือน)

• 220Ω Resistor

• USB Cable

หลักการทำงาน: เสียงแทนการมองเห็น

HC-SR04 ทำงานโดยใช้หลักการ Echo Location เหมือนที่ค้างคาวใช้สำหรับวิศวกรรม Sensor มี 2 ส่วนหลัก: Transmitter (ตัวส่ง) ที่ปล่อยคลื่นเสียงความถี่สูง (Ultrasonic wave) ออกไป และ Receiver (ตัวรับ) ที่รับฟังเสียงที่กระเด้งกลับ กระบวนการทั้งหมดเป็นดังนี้ Arduino ส่งสัญญาณให้ HC-SR04 ปล่อยเสียง Ultrasonic ออกไป คลื่นเสียงเดินทางไปกระแทกวัตถุ และสะท้อนกลับมาหา Sensor จากนั้น Sensor จะวัดเวลาที่เสียงใช้ไป ยิ่งไกลเวลาก็ยิ่งนาน จากเวลานี้ Arduino จะคำนวณระยะห่างโดยใช้สูตร: ระยะห่าง = (เวลา × ความเร็วเสียง) / 2 ตัวหารด้วย 2 เพราะว่าเสียงต้องวิ่งไปและกลับ

Timing Diagram HC-SR04
Timing Diagram: เวลาส่งและรับสัญญาณ

จุดสำคัญที่ต้องรู้:

• HC-SR04 สามารถวัดระยะห่างได้ไกลสุดประมาณ 2-400 ซม.

• ความถี่การส่ง: ประมาณ 40 kHz (มนุษย์ฟังไม่ได้)

• ต้องใช้ 4 ขา: VCC (ไฟ+5V), GND (กราวด์), TRIG (สัญญาณส่ง), ECHO (รับสัญญาณ)

• ตอบสนองเร็ว และมีความแม่นยำค่อนข้างดี

ใช้ได้ทำอะไรบ้าง

HC-SR04 เป็นเซนเซอร์ที่มีหลายโปรเจคสามารถประยุกต์ใช้ได้ เช่น ก่อนอื่นคือ Robot Obstacle Avoidance - สร้างโรบอทที่สามารถบินหรือเดินได้โดยหลีกเลี่ยงสิ่งกีดขวางอัตโนมัติ ประโยชน์ของการใช้ Sensor นี้ก็คือ โรบอทจะรู้ว่ามีของขวางข้างหน้าและเปลี่ยนทิศทางเสียก่อนชน นอกจากนี้ยังมี Distance Measurement - ใช้วัดระยะห่างของสิ่งต่างๆ เช่น วัดระดับน้ำในถัง วัดความสูงของชั้นวาง หรือแม้แต่ระยะห่างของรถยนต์ Parking Distance Alert - ติดตั้งบนรถเพื่อแจ้งเตือนคนขับเมื่อเข้าใกล้สิ่งกีดขวาง Health Monitoring - ใช้วัดระยะห่างของวัตถุเพื่อตรวจสอบการเคลื่อนไหว เหมาะสำหรับระบบรักษาความปลอดภัย

Arduino HC-SR04 Schematic
Schematic: วิธีการเชื่อมต่อกับ Arduino

ขั้นตอนการติดตั้งและเชื่อมต่อ

การเชื่อมต่อ HC-SR04 กับ Arduino ไม่ยุ่งยากเลย เพียงแค่ทำตามขั้นตอนต่อไปนี้ ขั้นแรก ให้เชื่อมต่อ VCC ของ Sensor เข้ากับ 5V บน Arduino GND ของ Sensor เข้า GND บน Arduino TRIG ของ Sensor เข้า Digital Pin 8 ของ Arduino (หรือ Pin อื่นตามใจชอบ) และ ECHO ของ Sensor เข้า Digital Pin 9 ของ Arduino หลังจากนั้นปลั๊ก USB Cable เข้า Arduino เพื่อให้ไฟเลี้ยง เพียงเท่านี้ก็พร้อมโหลดโค้ดแล้ว

โค้ดพื้นฐานเริ่มต้น

นี่คือโค้ด Arduino ที่ใช้อ่านค่าระยะห่างจาก HC-SR04 โค้ดนี้จะส่งสัญญาณ Trigger ไปยัง Sensor รับ Echo กลับมา คำนวณเวลา แล้วแสดงระยะห่างผ่าน Serial Monitor

const int trigPin = 8; const int echoPin = 9; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long duration = pulseIn(echoPin, HIGH); int distance = duration * 0.034 / 2; Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); delay(500); }

โค้ดนี้จะ: ส่ง Trigger signal 10 ไมโครวินาที รอรับ Echo กลับ คำนวณระยะห่าย จากสูตร (ระยะ = เวลา × 0.034 / 2) และแสดงผลทาง Serial Monitor ทุกครั้งครึ่งวินาที

Arduino HC-SR04 Code Upload
อัปโหลดโค้ดผ่าน Arduino IDE

บทสรุป: เริ่มต้นเสียว

HC-SR04 เป็นเซนเซอร์ที่ยอดเยี่ยมสำหรับมือใหม่ในโลก Arduino และสิ่งประดิษฐ์ที่เป็นไปได้นั้นไม่มีขีดจำกัด ตั้งแต่โรบอทอย่างง่ายไปจนถึงระบบรักษาความปลอดภัยที่ซับซ้อน ถ้าคุณเพิ่งเริ่มต้น ลองเริ่มจากการอ่านค่าระยะห่างแล้วแสดงผลผ่าน Serial Monitor หลังจากที่เข้าใจแล้ว ก็สามารถเพิ่มเติมว่านัสสัญญาณ LED, Buzzer หรือหัวเคลื่อนที่ได้ต่อไป ความสุขในการสร้างสิ่งนั้นเกิดจากการลองผิดลองถูก เพราะฉะนั้นอย่าเกรงใจที่จะทดลอง!

ต้องการเรียนรู้เพิ่มเติมเกี่ยว Sensor และ Arduino?

ติดตามบทความและคำแนะนำอื่นๆ จาก Globalbyteshop Blog

แท็ก


Blog posts

© 2026 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี